diff options
Diffstat (limited to '')
172 files changed, 16859 insertions, 15381 deletions
diff --git a/src/backend/access/brin/brin_bloom.c b/src/backend/access/brin/brin_bloom.c index 23de868..c0407e5 100644 --- a/src/backend/access/brin/brin_bloom.c +++ b/src/backend/access/brin/brin_bloom.c @@ -660,6 +660,9 @@ brin_bloom_union(PG_FUNCTION_ARGS) for (i = 0; i < nbytes; i++) filter_a->data[i] |= filter_b->data[i]; + /* update the number of bits set in the filter */ + filter_a->nbits_set = pg_popcount((const char *) filter_a->data, nbytes); + PG_RETURN_VOID(); } diff --git a/src/backend/access/heap/vacuumlazy.c b/src/backend/access/heap/vacuumlazy.c index b802ed2..2e61e2f 100644 --- a/src/backend/access/heap/vacuumlazy.c +++ b/src/backend/access/heap/vacuumlazy.c @@ -328,9 +328,7 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, PgStat_Counter startreadtime = 0, startwritetime = 0; WalUsage startwalusage = pgWalUsage; - int64 StartPageHit = VacuumPageHit, - StartPageMiss = VacuumPageMiss, - StartPageDirty = VacuumPageDirty; + BufferUsage startbufferusage = pgBufferUsage; ErrorContextCallback errcallback; char **indnames = NULL; @@ -639,18 +637,18 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, long secs_dur; int usecs_dur; WalUsage walusage; + BufferUsage bufferusage; StringInfoData buf; char *msgfmt; int32 diff; - int64 PageHitOp = VacuumPageHit - StartPageHit, - PageMissOp = VacuumPageMiss - StartPageMiss, - PageDirtyOp = VacuumPageDirty - StartPageDirty; double read_rate = 0, write_rate = 0; TimestampDifference(starttime, endtime, &secs_dur, &usecs_dur); memset(&walusage, 0, sizeof(WalUsage)); WalUsageAccumDiff(&walusage, &pgWalUsage, &startwalusage); + memset(&bufferusage, 0, sizeof(BufferUsage)); + BufferUsageAccumDiff(&bufferusage, &pgBufferUsage, &startbufferusage); initStringInfo(&buf); if (verbose) @@ -769,18 +767,18 @@ heap_vacuum_rel(Relation rel, VacuumParams *params, } if (secs_dur > 0 || usecs_dur > 0) { - read_rate = (double) BLCKSZ * PageMissOp / (1024 * 1024) / - (secs_dur + usecs_dur / 1000000.0); - write_rate = (double) BLCKSZ * PageDirtyOp / (1024 * 1024) / - (secs_dur + usecs_dur / 1000000.0); + read_rate = (double) BLCKSZ * (bufferusage.shared_blks_read + bufferusage.local_blks_read) / + (1024 * 1024) / (secs_dur + usecs_dur / 1000000.0); + write_rate = (double) BLCKSZ * (bufferusage.shared_blks_dirtied + bufferusage.local_blks_dirtied) / + (1024 * 1024) / (secs_dur + usecs_dur / 1000000.0); } appendStringInfo(&buf, _("avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n"), read_rate, write_rate); appendStringInfo(&buf, _("buffer usage: %lld hits, %lld misses, %lld dirtied\n"), - (long long) PageHitOp, - (long long) PageMissOp, - (long long) PageDirtyOp); + (long long) (bufferusage.shared_blks_hit + bufferusage.local_blks_hit), + (long long) (bufferusage.shared_blks_read + bufferusage.local_blks_read), + (long long) (bufferusage.shared_blks_dirtied + bufferusage.local_blks_dirtied)); appendStringInfo(&buf, _("WAL usage: %lld records, %lld full page images, %llu bytes\n"), (long long) walusage.wal_records, diff --git a/src/backend/access/index/genam.c b/src/backend/access/index/genam.c index 98af534..95120c5 100644 --- a/src/backend/access/index/genam.c +++ b/src/backend/access/index/genam.c @@ -652,8 +652,10 @@ systable_beginscan_ordered(Relation heapRelation, /* REINDEX can probably be a hard error here ... */ if (ReindexIsProcessingIndex(RelationGetRelid(indexRelation))) - elog(ERROR, "cannot do ordered scan on index \"%s\", because it is being reindexed", - RelationGetRelationName(indexRelation)); + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot access index \"%s\" while it is being reindexed", + RelationGetRelationName(indexRelation)))); /* ... but we only throw a warning about violating IgnoreSystemIndexes */ if (IgnoreSystemIndexes) elog(WARNING, "using index \"%s\" despite IgnoreSystemIndexes", diff --git a/src/backend/access/index/indexam.c b/src/backend/access/index/indexam.c index cd5f07f..15ed660 100644 --- a/src/backend/access/index/indexam.c +++ b/src/backend/access/index/indexam.c @@ -70,18 +70,23 @@ * Note: the ReindexIsProcessingIndex() check in RELATION_CHECKS is there * to check that we don't try to scan or do retail insertions into an index * that is currently being rebuilt or pending rebuild. This helps to catch - * things that don't work when reindexing system catalogs. The assertion + * things that don't work when reindexing system catalogs, as well as prevent + * user errors like index expressions that access their own tables. The check * doesn't prevent the actual rebuild because we don't use RELATION_CHECKS * when calling the index AM's ambuild routine, and there is no reason for * ambuild to call its subsidiary routines through this file. * ---------------------------------------------------------------- */ #define RELATION_CHECKS \ -( \ - AssertMacro(RelationIsValid(indexRelation)), \ - AssertMacro(PointerIsValid(indexRelation->rd_indam)), \ - AssertMacro(!ReindexIsProcessingIndex(RelationGetRelid(indexRelation))) \ -) +do { \ + Assert(RelationIsValid(indexRelation)); \ + Assert(PointerIsValid(indexRelation->rd_indam)); \ + if (unlikely(ReindexIsProcessingIndex(RelationGetRelid(indexRelation)))) \ + ereport(ERROR, \ + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), \ + errmsg("cannot access index \"%s\" while it is being reindexed", \ + RelationGetRelationName(indexRelation)))); \ +} while(0) #define SCAN_CHECKS \ ( \ diff --git a/src/backend/backup/basebackup.c b/src/backend/backup/basebackup.c index 078a3fe..847a52f 100644 --- a/src/backend/backup/basebackup.c +++ b/src/backend/backup/basebackup.c @@ -1185,6 +1185,10 @@ sendDir(bbsink *sink, const char *path, int basepathlen, bool sizeonly, strlen(PG_TEMP_FILE_PREFIX)) == 0) continue; + /* Skip macOS system files */ + if (strcmp(de->d_name, ".DS_Store") == 0) + continue; + /* * Check if the postmaster has signaled us to exit, and abort with an * error in that case. The error handler further up will call diff --git a/src/backend/catalog/Makefile b/src/backend/catalog/Makefile index 89a0221..7304e2b 100644 --- a/src/backend/catalog/Makefile +++ b/src/backend/catalog/Makefile @@ -130,13 +130,14 @@ install-data: bki-stamp installdirs $(INSTALL_DATA) $(srcdir)/system_views.sql '$(DESTDIR)$(datadir)/system_views.sql' $(INSTALL_DATA) $(srcdir)/information_schema.sql '$(DESTDIR)$(datadir)/information_schema.sql' $(INSTALL_DATA) $(srcdir)/sql_features.txt '$(DESTDIR)$(datadir)/sql_features.txt' + $(INSTALL_DATA) $(srcdir)/fix-CVE-2024-4317.sql '$(DESTDIR)$(datadir)/fix-CVE-2024-4317.sql' installdirs: $(MKDIR_P) '$(DESTDIR)$(datadir)' .PHONY: uninstall-data uninstall-data: - rm -f $(addprefix '$(DESTDIR)$(datadir)'/, postgres.bki system_constraints.sql system_functions.sql system_views.sql information_schema.sql sql_features.txt) + rm -f $(addprefix '$(DESTDIR)$(datadir)'/, postgres.bki system_constraints.sql system_functions.sql system_views.sql information_schema.sql sql_features.txt fix-CVE-2024-4317.sql) # postgres.bki, system_constraints.sql, and the generated headers are # in the distribution tarball, so they are not cleaned here. diff --git a/src/backend/catalog/dependency.c b/src/backend/catalog/dependency.c index 85e2a90..3cca107 100644 --- a/src/backend/catalog/dependency.c +++ b/src/backend/catalog/dependency.c @@ -75,6 +75,7 @@ #include "commands/trigger.h" #include "commands/typecmds.h" #include "funcapi.h" +#include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "parser/parsetree.h" #include "rewrite/rewriteRemove.h" @@ -517,6 +518,12 @@ findDependentObjects(const ObjectAddress *object, return; /* + * since this function recurses, it could be driven to stack overflow, + * because of the deep dependency tree, not only due to dependency loops. + */ + check_stack_depth(); + + /* * It's also possible that the target object has already been completely * processed and put into targetObjects. If so, again we just add the * specified objflags to its entry and return. @@ -2378,7 +2385,11 @@ process_function_rte_ref(RangeTblEntry *rte, AttrNumber attnum, { TupleDesc tupdesc; - tupdesc = get_expr_result_tupdesc(rtfunc->funcexpr, true); + /* If it has a coldeflist, it certainly returns RECORD */ + if (rtfunc->funccolnames != NIL) + tupdesc = NULL; /* no need to work hard */ + else + tupdesc = get_expr_result_tupdesc(rtfunc->funcexpr, true); if (tupdesc && tupdesc->tdtypeid != RECORDOID) { /* diff --git a/src/backend/catalog/fix-CVE-2024-4317.sql b/src/backend/catalog/fix-CVE-2024-4317.sql new file mode 100644 index 0000000..b24eba9 --- /dev/null +++ b/src/backend/catalog/fix-CVE-2024-4317.sql @@ -0,0 +1,117 @@ +/* + * fix-CVE-2024-4317.sql + * + * Copyright (c) 2024, PostgreSQL Global Development Group + * + * src/backend/catalog/fix-CVE-2024-4317.sql + * + * This file should be run in every database in the cluster to address + * CVE-2024-4317. + */ + +SET search_path = pg_catalog; + +CREATE OR REPLACE VIEW pg_stats_ext WITH (security_barrier) AS + SELECT cn.nspname AS schemaname, + c.relname AS tablename, + sn.nspname AS statistics_schemaname, + s.stxname AS statistics_name, + pg_get_userbyid(s.stxowner) AS statistics_owner, + ( SELECT array_agg(a.attname ORDER BY a.attnum) + FROM unnest(s.stxkeys) k + JOIN pg_attribute a + ON (a.attrelid = s.stxrelid AND a.attnum = k) + ) AS attnames, + pg_get_statisticsobjdef_expressions(s.oid) as exprs, + s.stxkind AS kinds, + sd.stxdinherit AS inherited, + sd.stxdndistinct AS n_distinct, + sd.stxddependencies AS dependencies, + m.most_common_vals, + m.most_common_val_nulls, + m.most_common_freqs, + m.most_common_base_freqs + FROM pg_statistic_ext s JOIN pg_class c ON (c.oid = s.stxrelid) + JOIN pg_statistic_ext_data sd ON (s.oid = sd.stxoid) + LEFT JOIN pg_namespace cn ON (cn.oid = c.relnamespace) + LEFT JOIN pg_namespace sn ON (sn.oid = s.stxnamespace) + LEFT JOIN LATERAL + ( SELECT array_agg(values) AS most_common_vals, + array_agg(nulls) AS most_common_val_nulls, + array_agg(frequency) AS most_common_freqs, + array_agg(base_frequency) AS most_common_base_freqs + FROM pg_mcv_list_items(sd.stxdmcv) + ) m ON sd.stxdmcv IS NOT NULL + WHERE pg_has_role(c.relowner, 'USAGE') + AND (c.relrowsecurity = false OR NOT row_security_active(c.oid)); + +CREATE OR REPLACE VIEW pg_stats_ext_exprs WITH (security_barrier) AS + SELECT cn.nspname AS schemaname, + c.relname AS tablename, + sn.nspname AS statistics_schemaname, + s.stxname AS statistics_name, + pg_get_userbyid(s.stxowner) AS statistics_owner, + stat.expr, + sd.stxdinherit AS inherited, + (stat.a).stanullfrac AS null_frac, + (stat.a).stawidth AS avg_width, + (stat.a).stadistinct AS n_distinct, + (CASE + WHEN (stat.a).stakind1 = 1 THEN (stat.a).stavalues1 + WHEN (stat.a).stakind2 = 1 THEN (stat.a).stavalues2 + WHEN (stat.a).stakind3 = 1 THEN (stat.a).stavalues3 + WHEN (stat.a).stakind4 = 1 THEN (stat.a).stavalues4 + WHEN (stat.a).stakind5 = 1 THEN (stat.a).stavalues5 + END) AS most_common_vals, + (CASE + WHEN (stat.a).stakind1 = 1 THEN (stat.a).stanumbers1 + WHEN (stat.a).stakind2 = 1 THEN (stat.a).stanumbers2 + WHEN (stat.a).stakind3 = 1 THEN (stat.a).stanumbers3 + WHEN (stat.a).stakind4 = 1 THEN (stat.a).stanumbers4 + WHEN (stat.a).stakind5 = 1 THEN (stat.a).stanumbers5 + END) AS most_common_freqs, + (CASE + WHEN (stat.a).stakind1 = 2 THEN (stat.a).stavalues1 + WHEN (stat.a).stakind2 = 2 THEN (stat.a).stavalues2 + WHEN (stat.a).stakind3 = 2 THEN (stat.a).stavalues3 + WHEN (stat.a).stakind4 = 2 THEN (stat.a).stavalues4 + WHEN (stat.a).stakind5 = 2 THEN (stat.a).stavalues5 + END) AS histogram_bounds, + (CASE + WHEN (stat.a).stakind1 = 3 THEN (stat.a).stanumbers1[1] + WHEN (stat.a).stakind2 = 3 THEN (stat.a).stanumbers2[1] + WHEN (stat.a).stakind3 = 3 THEN (stat.a).stanumbers3[1] + WHEN (stat.a).stakind4 = 3 THEN (stat.a).stanumbers4[1] + WHEN (stat.a).stakind5 = 3 THEN (stat.a).stanumbers5[1] + END) correlation, + (CASE + WHEN (stat.a).stakind1 = 4 THEN (stat.a).stavalues1 + WHEN (stat.a).stakind2 = 4 THEN (stat.a).stavalues2 + WHEN (stat.a).stakind3 = 4 THEN (stat.a).stavalues3 + WHEN (stat.a).stakind4 = 4 THEN (stat.a).stavalues4 + WHEN (stat.a).stakind5 = 4 THEN (stat.a).stavalues5 + END) AS most_common_elems, + (CASE + WHEN (stat.a).stakind1 = 4 THEN (stat.a).stanumbers1 + WHEN (stat.a).stakind2 = 4 THEN (stat.a).stanumbers2 + WHEN (stat.a).stakind3 = 4 THEN (stat.a).stanumbers3 + WHEN (stat.a).stakind4 = 4 THEN (stat.a).stanumbers4 + WHEN (stat.a).stakind5 = 4 THEN (stat.a).stanumbers5 + END) AS most_common_elem_freqs, + (CASE + WHEN (stat.a).stakind1 = 5 THEN (stat.a).stanumbers1 + WHEN (stat.a).stakind2 = 5 THEN (stat.a).stanumbers2 + WHEN (stat.a).stakind3 = 5 THEN (stat.a).stanumbers3 + WHEN (stat.a).stakind4 = 5 THEN (stat.a).stanumbers4 + WHEN (stat.a).stakind5 = 5 THEN (stat.a).stanumbers5 + END) AS elem_count_histogram + FROM pg_statistic_ext s JOIN pg_class c ON (c.oid = s.stxrelid) + LEFT JOIN pg_statistic_ext_data sd ON (s.oid = sd.stxoid) + LEFT JOIN pg_namespace cn ON (cn.oid = c.relnamespace) + LEFT JOIN pg_namespace sn ON (sn.oid = s.stxnamespace) + JOIN LATERAL ( + SELECT unnest(pg_get_statisticsobjdef_expressions(s.oid)) AS expr, + unnest(sd.stxdexpr)::pg_statistic AS a + ) stat ON (stat.expr IS NOT NULL) + WHERE pg_has_role(c.relowner, 'USAGE') + AND (c.relrowsecurity = false OR NOT row_security_active(c.oid)); diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c index bd6b9c4..9197909 100644 --- a/src/backend/catalog/heap.c +++ b/src/backend/catalog/heap.c @@ -552,6 +552,9 @@ CheckAttributeType(const char *attname, char att_typtype = get_typtype(atttypid); Oid att_typelem; + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + if (att_typtype == TYPTYPE_PSEUDO) { /* diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c index 7514015..5fd8a38 100644 --- a/src/backend/catalog/pg_proc.c +++ b/src/backend/catalog/pg_proc.c @@ -972,9 +972,10 @@ fmgr_sql_validator(PG_FUNCTION_ARGS) (void) get_func_result_type(funcoid, &rettype, &rettupdesc); - (void) check_sql_fn_retval(querytree_list, - rettype, rettupdesc, - false, NULL); + (void) check_sql_fn_retval_ext(querytree_list, + rettype, rettupdesc, + proc->prokind, + false, NULL); } error_context_stack = sqlerrcontext.previous; diff --git a/src/backend/catalog/system_views.sql b/src/backend/catalog/system_views.sql index 76e4177..ffa8632 100644 --- a/src/backend/catalog/system_views.sql +++ b/src/backend/catalog/system_views.sql @@ -284,12 +284,7 @@ CREATE VIEW pg_stats_ext WITH (security_barrier) AS array_agg(base_frequency) AS most_common_base_freqs FROM pg_mcv_list_items(sd.stxdmcv) ) m ON sd.stxdmcv IS NOT NULL - WHERE NOT EXISTS - ( SELECT 1 - FROM unnest(stxkeys) k - JOIN pg_attribute a - ON (a.attrelid = s.stxrelid AND a.attnum = k) - WHERE NOT has_column_privilege(c.oid, a.attnum, 'select') ) + WHERE pg_has_role(c.relowner, 'USAGE') AND (c.relrowsecurity = false OR NOT row_security_active(c.oid)); CREATE VIEW pg_stats_ext_exprs WITH (security_barrier) AS @@ -359,7 +354,9 @@ CREATE VIEW pg_stats_ext_exprs WITH (security_barrier) AS JOIN LATERAL ( SELECT unnest(pg_get_statisticsobjdef_expressions(s.oid)) AS expr, unnest(sd.stxdexpr)::pg_statistic AS a - ) stat ON (stat.expr IS NOT NULL); + ) stat ON (stat.expr IS NOT NULL) + WHERE pg_has_role(c.relowner, 'USAGE') + AND (c.relrowsecurity = false OR NOT row_security_active(c.oid)); -- unprivileged users may read pg_statistic_ext but not pg_statistic_ext_data REVOKE ALL ON pg_statistic_ext_data FROM public; diff --git a/src/backend/commands/dbcommands.c b/src/backend/commands/dbcommands.c index 5ced6da..40fd36d 100644 --- a/src/backend/commands/dbcommands.c +++ b/src/backend/commands/dbcommands.c @@ -994,15 +994,15 @@ createdb(ParseState *pstate, const CreatedbStmt *stmt) char *strategy; strategy = defGetString(dstrategy); - if (strcmp(strategy, "wal_log") == 0) + if (pg_strcasecmp(strategy, "wal_log") == 0) dbstrategy = CREATEDB_WAL_LOG; - else if (strcmp(strategy, "file_copy") == 0) + else if (pg_strcasecmp(strategy, "file_copy") == 0) dbstrategy = CREATEDB_FILE_COPY; else ereport(ERROR, (errcode(ERRCODE_INVALID_PARAMETER_VALUE), errmsg("invalid create database strategy \"%s\"", strategy), - errhint("Valid strategies are \"wal_log\", and \"file_copy\"."))); + errhint("Valid strategies are \"wal_log\" and \"file_copy\"."))); } /* If encoding or locales are defaulted, use source's setting */ diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c index 5daa560..81dd5f4 100644 --- a/src/backend/commands/tablecmds.c +++ b/src/backend/commands/tablecmds.c @@ -782,10 +782,6 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid ownerId, } else if (stmt->partbound) { - /* - * For partitions, when no other tablespace is specified, we default - * the tablespace to the parent partitioned table's. - */ Assert(list_length(inheritOids) == 1); tablespaceId = get_rel_tablespace(linitial_oid(inheritOids)); } @@ -6745,6 +6741,9 @@ ATExecAddColumn(List **wqueue, AlteredTableInfo *tab, Relation rel, TupleDesc tupdesc; FormData_pg_attribute *aattr[] = {&attribute}; + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + /* At top level, permission check was done in ATPrepCmd, else do it */ if (recursing) ATSimplePermissions((*cmd)->subtype, rel, ATT_TABLE | ATT_FOREIGN_TABLE); @@ -8477,6 +8476,10 @@ ATExecDropColumn(List **wqueue, Relation rel, const char *colName, /* Initialize addrs on the first invocation */ Assert(!recursing || addrs != NULL); + + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + if (!recursing) addrs = new_object_addresses(); @@ -10939,6 +10942,9 @@ ATExecAlterConstrRecurse(Constraint *cmdcon, Relation conrel, Relation tgrel, Oid refrelid; bool changed = false; + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + currcon = (Form_pg_constraint) GETSTRUCT(contuple); conoid = currcon->oid; refrelid = currcon->confrelid; @@ -11955,6 +11961,9 @@ ATExecDropConstraint(Relation rel, const char *constrName, bool is_no_inherit_constraint = false; char contype; + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + /* At top level, permission check was done in ATPrepCmd, else do it */ if (recursing) ATSimplePermissions(AT_DropConstraint, rel, ATT_TABLE | ATT_FOREIGN_TABLE); @@ -12695,8 +12704,29 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel, RememberConstraintForRebuilding(foundObject.objectId, tab); break; + case OCLASS_PROC: + + /* + * A new-style SQL function can depend on a column, if that + * column is referenced in the parsed function body. Ideally + * we'd automatically update the function by deparsing and + * reparsing it, but that's risky and might well fail anyhow. + * FIXME someday. + */ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter type of a column used by a function or procedure"), + errdetail("%s depends on column \"%s\"", + getObjectDescription(&foundObject, false), + colName))); + break; + case OCLASS_REWRITE: - /* XXX someday see if we can cope with revising views */ + + /* + * View/rule bodies have pretty much the same issues as + * function bodies. FIXME someday. + */ ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("cannot alter type of a column used by a view or rule"), @@ -12712,9 +12742,9 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel, * specified as an update target, or because the column is * used in the trigger's WHEN condition. The first case would * not require any extra work, but the second case would - * require updating the WHEN expression, which will take a - * significant amount of new code. Since we can't easily tell - * which case applies, we punt for both. FIXME someday. + * require updating the WHEN expression, which has the same + * issues as above. Since we can't easily tell which case + * applies, we punt for both. FIXME someday. */ ereport(ERROR, (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), @@ -12786,7 +12816,20 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel, RememberStatisticsForRebuilding(foundObject.objectId, tab); break; - case OCLASS_PROC: + case OCLASS_PUBLICATION_REL: + + /* + * Column reference in a PUBLICATION ... FOR TABLE ... WHERE + * clause. Same issues as above. FIXME someday. + */ + ereport(ERROR, + (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), + errmsg("cannot alter type of a column used by a publication WHERE clause"), + errdetail("%s depends on column \"%s\"", + getObjectDescription(&foundObject, false), + colName))); + break; + case OCLASS_TYPE: case OCLASS_CAST: case OCLASS_COLLATION: @@ -12816,7 +12859,6 @@ ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel, case OCLASS_PARAMETER_ACL: case OCLASS_PUBLICATION: case OCLASS_PUBLICATION_NAMESPACE: - case OCLASS_PUBLICATION_REL: case OCLASS_SUBSCRIPTION: case OCLASS_TRANSFORM: @@ -16564,16 +16606,11 @@ AlterTableNamespaceInternal(Relation rel, Oid oldNspOid, Oid nspOid, nspOid, false, false, objsMoved); /* Fix other dependent stuff */ - if (rel->rd_rel->relkind == RELKIND_RELATION || - rel->rd_rel->relkind == RELKIND_MATVIEW || - rel->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) - { - AlterIndexNamespaces(classRel, rel, oldNspOid, nspOid, objsMoved); - AlterSeqNamespaces(classRel, rel, oldNspOid, nspOid, - objsMoved, AccessExclusiveLock); - AlterConstraintNamespaces(RelationGetRelid(rel), oldNspOid, nspOid, - false, objsMoved); - } + AlterIndexNamespaces(classRel, rel, oldNspOid, nspOid, objsMoved); + AlterSeqNamespaces(classRel, rel, oldNspOid, nspOid, + objsMoved, AccessExclusiveLock); + AlterConstraintNamespaces(RelationGetRelid(rel), oldNspOid, nspOid, + false, objsMoved); table_close(classRel, RowExclusiveLock); } diff --git a/src/backend/commands/vacuum.c b/src/backend/commands/vacuum.c index 75b0ca9..329c73d 100644 --- a/src/backend/commands/vacuum.c +++ b/src/backend/commands/vacuum.c @@ -1532,6 +1532,8 @@ vac_update_datfrozenxid(void) /* * We must seqscan pg_class to find the minimum Xid, because there is no * index that can help us here. + * + * See vac_truncate_clog() for the race condition to prevent. */ relation = table_open(RelationRelationId, AccessShareLock); @@ -1540,7 +1542,9 @@ vac_update_datfrozenxid(void) while ((classTup = systable_getnext(scan)) != NULL) { - Form_pg_class classForm = (Form_pg_class) GETSTRUCT(classTup); + volatile FormData_pg_class *classForm = (Form_pg_class) GETSTRUCT(classTup); + TransactionId relfrozenxid = classForm->relfrozenxid; + TransactionId relminmxid = classForm->relminmxid; /* * Only consider relations able to hold unfrozen XIDs (anything else @@ -1550,8 +1554,8 @@ vac_update_datfrozenxid(void) classForm->relkind != RELKIND_MATVIEW && classForm->relkind != RELKIND_TOASTVALUE) { - Assert(!TransactionIdIsValid(classForm->relfrozenxid)); - Assert(!MultiXactIdIsValid(classForm->relminmxid)); + Assert(!TransactionIdIsValid(relfrozenxid)); + Assert(!MultiXactIdIsValid(relminmxid)); continue; } @@ -1570,34 +1574,34 @@ vac_update_datfrozenxid(void) * before those relations have been scanned and cleaned up. */ - if (TransactionIdIsValid(classForm->relfrozenxid)) + if (TransactionIdIsValid(relfrozenxid)) { - Assert(TransactionIdIsNormal(classForm->relfrozenxid)); + Assert(TransactionIdIsNormal(relfrozenxid)); /* check for values in the future */ - if (TransactionIdPrecedes(lastSaneFrozenXid, classForm->relfrozenxid)) + if (TransactionIdPrecedes(lastSaneFrozenXid, relfrozenxid)) { bogus = true; break; } /* determine new horizon */ - if (TransactionIdPrecedes(classForm->relfrozenxid, newFrozenXid)) - newFrozenXid = classForm->relfrozenxid; + if (TransactionIdPrecedes(relfrozenxid, newFrozenXid)) + newFrozenXid = relfrozenxid; } - if (MultiXactIdIsValid(classForm->relminmxid)) + if (MultiXactIdIsValid(relminmxid)) { /* check for values in the future */ - if (MultiXactIdPrecedes(lastSaneMinMulti, classForm->relminmxid)) + if (MultiXactIdPrecedes(lastSaneMinMulti, relminmxid)) { bogus = true; break; } /* determine new horizon */ - if (MultiXactIdPrecedes(classForm->relminmxid, newMinMulti)) - newMinMulti = classForm->relminmxid; + if (MultiXactIdPrecedes(relminmxid, newMinMulti)) + newMinMulti = relminmxid; } } diff --git a/src/backend/executor/functions.c b/src/backend/executor/functions.c index dd7418a..63062a0 100644 --- a/src/backend/executor/functions.c +++ b/src/backend/executor/functions.c @@ -750,11 +750,12 @@ init_sql_fcache(FunctionCallInfo fcinfo, Oid collation, bool lazyEvalOK) * the rowtype column into multiple columns, since we have no way to * notify the caller that it should do that.) */ - fcache->returnsTuple = check_sql_fn_retval(queryTree_list, - rettype, - rettupdesc, - false, - &resulttlist); + fcache->returnsTuple = check_sql_fn_retval_ext(queryTree_list, + rettype, + rettupdesc, + procedureStruct->prokind, + false, + &resulttlist); /* * Construct a JunkFilter we can use to coerce the returned rowtype to the @@ -1616,6 +1617,21 @@ check_sql_fn_retval(List *queryTreeLists, bool insertDroppedCols, List **resultTargetList) { + /* Wrapper function to preserve ABI compatibility in released branches */ + return check_sql_fn_retval_ext(queryTreeLists, + rettype, rettupdesc, + PROKIND_FUNCTION, + insertDroppedCols, + resultTargetList); +} + +bool +check_sql_fn_retval_ext(List *queryTreeLists, + Oid rettype, TupleDesc rettupdesc, + char prokind, + bool insertDroppedCols, + List **resultTargetList) +{ bool is_tuple_result = false; Query *parse; ListCell *parse_cell; @@ -1632,7 +1648,7 @@ check_sql_fn_retval(List *queryTreeLists, /* * If it's declared to return VOID, we don't care what's in the function. - * (This takes care of the procedure case, as well.) + * (This takes care of procedures with no output parameters, as well.) */ if (rettype == VOIDOID) return false; @@ -1787,8 +1803,13 @@ check_sql_fn_retval(List *queryTreeLists, * or not the record type really matches. For the moment we rely on * runtime type checking to catch any discrepancy, but it'd be nice to * do better at parse time. + * + * We must *not* do this for a procedure, however. Procedures with + * output parameter(s) have rettype RECORD, and the CALL code expects + * to get results corresponding to the list of output parameters, even + * when there's just one parameter that's composite. */ - if (tlistlen == 1) + if (tlistlen == 1 && prokind != PROKIND_PROCEDURE) { TargetEntry *tle = (TargetEntry *) linitial(tlist); diff --git a/src/backend/executor/nodeAppend.c b/src/backend/executor/nodeAppend.c index 68f13f2..0509ee2 100644 --- a/src/backend/executor/nodeAppend.c +++ b/src/backend/executor/nodeAppend.c @@ -1034,26 +1034,25 @@ ExecAppendAsyncEventWait(AppendState *node) } /* - * No need for further processing if there are no configured events - * other than the postmaster death event. + * If there are no configured events other than the postmaster death + * event, we don't need to wait or poll. */ if (GetNumRegisteredWaitEvents(node->as_eventset) == 1) + noccurred = 0; + else { - FreeWaitEventSet(node->as_eventset); - node->as_eventset = NULL; - return; - } + /* Return at most EVENT_BUFFER_SIZE events in one call. */ + if (nevents > EVENT_BUFFER_SIZE) + nevents = EVENT_BUFFER_SIZE; - /* Return at most EVENT_BUFFER_SIZE events in one call. */ - if (nevents > EVENT_BUFFER_SIZE) - nevents = EVENT_BUFFER_SIZE; - - /* - * If the timeout is -1, wait until at least one event occurs. If the - * timeout is 0, poll for events, but do not wait at all. - */ - noccurred = WaitEventSetWait(node->as_eventset, timeout, occurred_event, - nevents, WAIT_EVENT_APPEND_READY); + /* + * If the timeout is -1, wait until at least one event occurs. If + * the timeout is 0, poll for events, but do not wait at all. + */ + noccurred = WaitEventSetWait(node->as_eventset, timeout, + occurred_event, nevents, + WAIT_EVENT_APPEND_READY); + } } PG_FINALLY(); { diff --git a/src/backend/executor/nodeBitmapHeapscan.c b/src/backend/executor/nodeBitmapHeapscan.c index f6fe07a..f0ac4e2 100644 --- a/src/backend/executor/nodeBitmapHeapscan.c +++ b/src/backend/executor/nodeBitmapHeapscan.c @@ -207,6 +207,11 @@ BitmapHeapNext(BitmapHeapScanState *node) BitmapAdjustPrefetchIterator(node, tbmres); + if (tbmres->ntuples >= 0) + node->exact_pages++; + else + node->lossy_pages++; + /* * We can skip fetching the heap page if we don't need any fields * from the heap, and the bitmap entries don't need rechecking, @@ -238,11 +243,6 @@ BitmapHeapNext(BitmapHeapScanState *node) continue; } - if (tbmres->ntuples >= 0) - node->exact_pages++; - else - node->lossy_pages++; - /* Adjust the prefetch target */ BitmapAdjustPrefetchTarget(node); } diff --git a/src/backend/executor/nodeFunctionscan.c b/src/backend/executor/nodeFunctionscan.c index 434379a..cc25731 100644 --- a/src/backend/executor/nodeFunctionscan.c +++ b/src/backend/executor/nodeFunctionscan.c @@ -344,8 +344,6 @@ ExecInitFunctionScan(FunctionScan *node, EState *estate, int eflags) Node *funcexpr = rtfunc->funcexpr; int colcount = rtfunc->funccolcount; FunctionScanPerFuncState *fs = &scanstate->funcstates[i]; - TypeFuncClass functypclass; - Oid funcrettype; TupleDesc tupdesc; fs->setexpr = @@ -362,39 +360,18 @@ ExecInitFunctionScan(FunctionScan *node, EState *estate, int eflags) fs->rowcount = -1; /* - * Now determine if the function returns a simple or composite type, - * and build an appropriate tupdesc. Note that in the composite case, - * the function may now return more columns than it did when the plan - * was made; we have to ignore any columns beyond "colcount". + * Now build a tupdesc showing the result type we expect from the + * function. If we have a coldeflist then that takes priority (note + * the parser enforces that there is one if the function's nominal + * output type is RECORD). Otherwise use get_expr_result_type. + * + * Note that if the function returns a named composite type, that may + * now contain more or different columns than it did when the plan was + * made. For both that and the RECORD case, we need to check tuple + * compatibility. ExecMakeTableFunctionResult handles some of this, + * and CheckVarSlotCompatibility provides a backstop. */ - functypclass = get_expr_result_type(funcexpr, - &funcrettype, - &tupdesc); - - if (functypclass == TYPEFUNC_COMPOSITE || - functypclass == TYPEFUNC_COMPOSITE_DOMAIN) - { - /* Composite data type, e.g. a table's row type */ - Assert(tupdesc); - Assert(tupdesc->natts >= colcount); - /* Must copy it out of typcache for safety */ - tupdesc = CreateTupleDescCopy(tupdesc); - } - else if (functypclass == TYPEFUNC_SCALAR) - { - /* Base data type, i.e. scalar */ - tupdesc = CreateTemplateTupleDesc(1); - TupleDescInitEntry(tupdesc, - (AttrNumber) 1, - NULL, /* don't care about the name here */ - funcrettype, - -1, - 0); - TupleDescInitEntryCollation(tupdesc, - (AttrNumber) 1, - exprCollation(funcexpr)); - } - else if (functypclass == TYPEFUNC_RECORD) + if (rtfunc->funccolnames != NIL) { tupdesc = BuildDescFromLists(rtfunc->funccolnames, rtfunc->funccoltypes, @@ -410,8 +387,40 @@ ExecInitFunctionScan(FunctionScan *node, EState *estate, int eflags) } else { - /* crummy error message, but parser should have caught this */ - elog(ERROR, "function in FROM has unsupported return type"); + TypeFuncClass functypclass; + Oid funcrettype; + + functypclass = get_expr_result_type(funcexpr, + &funcrettype, + &tupdesc); + + if (functypclass == TYPEFUNC_COMPOSITE || + functypclass == TYPEFUNC_COMPOSITE_DOMAIN) + { + /* Composite data type, e.g. a table's row type */ + Assert(tupdesc); + /* Must copy it out of typcache for safety */ + tupdesc = CreateTupleDescCopy(tupdesc); + } + else if (functypclass == TYPEFUNC_SCALAR) + { + /* Base data type, i.e. scalar */ + tupdesc = CreateTemplateTupleDesc(1); + TupleDescInitEntry(tupdesc, + (AttrNumber) 1, + NULL, /* don't care about the name here */ + funcrettype, + -1, + 0); + TupleDescInitEntryCollation(tupdesc, + (AttrNumber) 1, + exprCollation(funcexpr)); + } + else + { + /* crummy error message, but parser should have caught this */ + elog(ERROR, "function in FROM has unsupported return type"); + } } fs->tupdesc = tupdesc; diff --git a/src/backend/executor/nodeIndexonlyscan.c b/src/backend/executor/nodeIndexonlyscan.c index eb3ddd2..28e73be 100644 --- a/src/backend/executor/nodeIndexonlyscan.c +++ b/src/backend/executor/nodeIndexonlyscan.c @@ -35,19 +35,21 @@ #include "access/tableam.h" #include "access/tupdesc.h" #include "access/visibilitymap.h" +#include "catalog/pg_type.h" #include "executor/execdebug.h" #include "executor/nodeIndexonlyscan.h" #include "executor/nodeIndexscan.h" #include "miscadmin.h" #include "storage/bufmgr.h" #include "storage/predicate.h" +#include "utils/builtins.h" #include "utils/memutils.h" #include "utils/rel.h" static TupleTableSlot *IndexOnlyNext(IndexOnlyScanState *node); -static void StoreIndexTuple(TupleTableSlot *slot, IndexTuple itup, - TupleDesc itupdesc); +static void StoreIndexTuple(IndexOnlyScanState *node, TupleTableSlot *slot, + IndexTuple itup, TupleDesc itupdesc); /* ---------------------------------------------------------------- @@ -208,7 +210,7 @@ IndexOnlyNext(IndexOnlyScanState *node) ExecForceStoreHeapTuple(scandesc->xs_hitup, slot, false); } else if (scandesc->xs_itup) - StoreIndexTuple(slot, scandesc->xs_itup, scandesc->xs_itupdesc); + StoreIndexTuple(node, slot, scandesc->xs_itup, scandesc->xs_itupdesc); else elog(ERROR, "no data returned for index-only scan"); @@ -266,7 +268,8 @@ IndexOnlyNext(IndexOnlyScanState *node) * right now we don't need it elsewhere. */ static void -StoreIndexTuple(TupleTableSlot *slot, IndexTuple itup, TupleDesc itupdesc) +StoreIndexTuple(IndexOnlyScanState *node, TupleTableSlot *slot, + IndexTuple itup, TupleDesc itupdesc) { /* * Note: we must use the tupdesc supplied by the AM in index_deform_tuple, @@ -279,6 +282,37 @@ StoreIndexTuple(TupleTableSlot *slot, IndexTuple itup, TupleDesc itupdesc) ExecClearTuple(slot); index_deform_tuple(itup, itupdesc, slot->tts_values, slot->tts_isnull); + + /* + * Copy all name columns stored as cstrings back into a NAMEDATALEN byte + * sized allocation. We mark this branch as unlikely as generally "name" + * is used only for the system catalogs and this would have to be a user + * query running on those or some other user table with an index on a name + * column. + */ + if (unlikely(node->ioss_NameCStringAttNums != NULL)) + { + int attcount = node->ioss_NameCStringCount; + + for (int idx = 0; idx < attcount; idx++) + { + int attnum = node->ioss_NameCStringAttNums[idx]; + Name name; + + /* skip null Datums */ + if (slot->tts_isnull[attnum]) + continue; + + /* allocate the NAMEDATALEN and copy the datum into that memory */ + name = (Name) MemoryContextAlloc(node->ss.ps.ps_ExprContext->ecxt_per_tuple_memory, + NAMEDATALEN); + + /* use namestrcpy to zero-pad all trailing bytes */ + namestrcpy(name, DatumGetCString(slot->tts_values[attnum])); + slot->tts_values[attnum] = NameGetDatum(name); + } + } + ExecStoreVirtualTuple(slot); } @@ -492,8 +526,11 @@ ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags) { IndexOnlyScanState *indexstate; Relation currentRelation; + Relation indexRelation; LOCKMODE lockmode; TupleDesc tupDesc; + int indnkeyatts; + int namecount; /* * create state structure @@ -566,7 +603,8 @@ ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags) /* Open the index relation. */ lockmode = exec_rt_fetch(node->scan.scanrelid, estate)->rellockmode; - indexstate->ioss_RelationDesc = index_open(node->indexid, lockmode); + indexRelation = index_open(node->indexid, lockmode); + indexstate->ioss_RelationDesc = indexRelation; /* * Initialize index-specific scan state @@ -579,7 +617,7 @@ ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags) * build the index scan keys from the index qualification */ ExecIndexBuildScanKeys((PlanState *) indexstate, - indexstate->ioss_RelationDesc, + indexRelation, node->indexqual, false, &indexstate->ioss_ScanKeys, @@ -593,7 +631,7 @@ ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags) * any ORDER BY exprs have to be turned into scankeys in the same way */ ExecIndexBuildScanKeys((PlanState *) indexstate, - indexstate->ioss_RelationDesc, + indexRelation, node->indexorderby, true, &indexstate->ioss_OrderByKeys, @@ -622,6 +660,49 @@ ExecInitIndexOnlyScan(IndexOnlyScan *node, EState *estate, int eflags) indexstate->ioss_RuntimeContext = NULL; } + indexstate->ioss_NameCStringAttNums = NULL; + indnkeyatts = indexRelation->rd_index->indnkeyatts; + namecount = 0; + + /* + * The "name" type for btree uses text_ops which results in storing + * cstrings in the indexed keys rather than names. Here we detect that in + * a generic way in case other index AMs want to do the same optimization. + * Check for opclasses with an opcintype of NAMEOID and an index tuple + * descriptor with CSTRINGOID. If any of these are found, create an array + * marking the index attribute number of each of them. StoreIndexTuple() + * handles copying the name Datums into a NAMEDATALEN-byte allocation. + */ + + /* First, count the number of such index keys */ + for (int attnum = 0; attnum < indnkeyatts; attnum++) + { + if (indexRelation->rd_att->attrs[attnum].atttypid == CSTRINGOID && + indexRelation->rd_opcintype[attnum] == NAMEOID) + namecount++; + } + + if (namecount > 0) + { + int idx = 0; + + /* + * Now create an array to mark the attribute numbers of the keys that + * need to be converted from cstring to name. + */ + indexstate->ioss_NameCStringAttNums = (AttrNumber *) + palloc(sizeof(AttrNumber) * namecount); + + for (int attnum = 0; attnum < indnkeyatts; attnum++) + { + if (indexRelation->rd_att->attrs[attnum].atttypid == CSTRINGOID && + indexRelation->rd_opcintype[attnum] == NAMEOID) + indexstate->ioss_NameCStringAttNums[idx++] = (AttrNumber) attnum; + } + } + + indexstate->ioss_NameCStringCount = namecount; + /* * all done. */ diff --git a/src/backend/executor/nodeMemoize.c b/src/backend/executor/nodeMemoize.c index 892bda4..64c7a0a 100644 --- a/src/backend/executor/nodeMemoize.c +++ b/src/backend/executor/nodeMemoize.c @@ -13,7 +13,7 @@ * Memoize nodes are intended to sit above parameterized nodes in the plan * tree in order to cache results from them. The intention here is that a * repeat scan with a parameter value that has already been seen by the node - * can fetch tuples from the cache rather than having to re-scan the outer + * can fetch tuples from the cache rather than having to re-scan the inner * node all over again. The query planner may choose to make use of one of * these when it thinks rescans for previously seen values are likely enough * to warrant adding the additional node. @@ -207,7 +207,6 @@ MemoizeHash_hash(struct memoize_hash *tb, const MemoizeKey *key) } } - ResetExprContext(econtext); MemoryContextSwitchTo(oldcontext); return murmurhash32(hashkey); } @@ -265,7 +264,6 @@ MemoizeHash_equal(struct memoize_hash *tb, const MemoizeKey *key1, } } - ResetExprContext(econtext); MemoryContextSwitchTo(oldcontext); return match; } @@ -273,7 +271,7 @@ MemoizeHash_equal(struct memoize_hash *tb, const MemoizeKey *key1, { econtext->ecxt_innertuple = tslot; econtext->ecxt_outertuple = pslot; - return ExecQualAndReset(mstate->cache_eq_expr, econtext); + return ExecQual(mstate->cache_eq_expr, econtext); } } @@ -694,9 +692,18 @@ static TupleTableSlot * ExecMemoize(PlanState *pstate) { MemoizeState *node = castNode(MemoizeState, pstate); + ExprContext *econtext = node->ss.ps.ps_ExprContext; PlanState *outerNode; TupleTableSlot *slot; + CHECK_FOR_INTERRUPTS(); + + /* + * Reset per-tuple memory context to free any expression evaluation + * storage allocated in the previous tuple cycle. + */ + ResetExprContext(econtext); + switch (node->mstatus) { case MEMO_CACHE_LOOKUP: diff --git a/src/backend/executor/nodeModifyTable.c b/src/backend/executor/nodeModifyTable.c index 6fea82e..1ad5dcb 100644 --- a/src/backend/executor/nodeModifyTable.c +++ b/src/backend/executor/nodeModifyTable.c @@ -2947,8 +2947,29 @@ lmerge_matched:; case TM_SelfModified: /* - * The SQL standard disallows this for MERGE. + * The target tuple was already updated or deleted by the + * current command, or by a later command in the current + * transaction. The former case is explicitly disallowed by + * the SQL standard for MERGE, which insists that the MERGE + * join condition should not join a target row to more than + * one source row. + * + * The latter case arises if the tuple is modified by a + * command in a BEFORE trigger, or perhaps by a command in a + * volatile function used in the query. In such situations we + * should not ignore the MERGE action, but it is equally + * unsafe to proceed. We don't want to discard the original + * MERGE action while keeping the triggered actions based on + * it; and it would be no better to allow the original MERGE + * action while discarding the updates that it triggered. So + * throwing an error is the only safe course. */ + if (context->tmfd.cmax != estate->es_output_cid) + ereport(ERROR, + (errcode(ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION), + errmsg("tuple to be updated or deleted was already modified by an operation triggered by the current command"), + errhint("Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."))); + if (TransactionIdIsCurrentTransactionId(context->tmfd.xmax)) ereport(ERROR, (errcode(ERRCODE_CARDINALITY_VIOLATION), @@ -2956,6 +2977,7 @@ lmerge_matched:; errmsg("%s command cannot affect row a second time", "MERGE"), errhint("Ensure that not more than one source row matches any one target row."))); + /* This shouldn't happen */ elog(ERROR, "attempted to update or delete invisible tuple"); break; @@ -3064,19 +3086,27 @@ lmerge_matched:; /* * This can be reached when following an update * chain from a tuple updated by another session, - * reaching a tuple that was already updated in - * this transaction. If previously modified by - * this command, ignore the redundant update, - * otherwise error out. - * - * See also response to TM_SelfModified in - * ExecUpdate(). + * reaching a tuple that was already updated or + * deleted by the current command, or by a later + * command in the current transaction. As above, + * this should always be treated as an error. */ if (context->tmfd.cmax != estate->es_output_cid) ereport(ERROR, (errcode(ERRCODE_TRIGGERED_DATA_CHANGE_VIOLATION), errmsg("tuple to be updated or deleted was already modified by an operation triggered by the current command"), errhint("Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows."))); + + if (TransactionIdIsCurrentTransactionId(context->tmfd.xmax)) + ereport(ERROR, + (errcode(ERRCODE_CARDINALITY_VIOLATION), + /* translator: %s is a SQL command name */ + errmsg("%s command cannot affect row a second time", + "MERGE"), + errhint("Ensure that not more than one source row matches any one target row."))); + + /* This shouldn't happen */ + elog(ERROR, "attempted to update or delete invisible tuple"); return false; default: diff --git a/src/backend/executor/nodeWindowAgg.c b/src/backend/executor/nodeWindowAgg.c index d7c365d..418d6d9 100644 --- a/src/backend/executor/nodeWindowAgg.c +++ b/src/backend/executor/nodeWindowAgg.c @@ -2397,6 +2397,9 @@ ExecInitWindowAgg(WindowAgg *node, EState *estate, int eflags) winstate->ss.ps.state = estate; winstate->ss.ps.ExecProcNode = ExecWindowAgg; + /* copy frame options to state node for easy access */ + winstate->frameOptions = frameOptions; + /* * Create expression contexts. We need two, one for per-input-tuple * processing and one for per-output-tuple processing. We cheat a little @@ -2647,9 +2650,6 @@ ExecInitWindowAgg(WindowAgg *node, EState *estate, int eflags) /* Set the status to running */ winstate->status = WINDOWAGG_RUN; - /* copy frame options to state node for easy access */ - winstate->frameOptions = frameOptions; - /* initialize frame bound offset expressions */ winstate->startOffset = ExecInitExpr((Expr *) node->startOffset, (PlanState *) winstate); @@ -2800,7 +2800,7 @@ initialize_peragg(WindowAggState *winstate, WindowFunc *wfunc, /* * Figure out whether we want to use the moving-aggregate implementation, - * and collect the right set of fields from the pg_attribute entry. + * and collect the right set of fields from the pg_aggregate entry. * * It's possible that an aggregate would supply a safe moving-aggregate * implementation and an unsafe normal one, in which case our hand is diff --git a/src/backend/jit/llvm/llvmjit.c b/src/backend/jit/llvm/llvmjit.c index a4b9ede..8b00d98 100644 --- a/src/backend/jit/llvm/llvmjit.c +++ b/src/backend/jit/llvm/llvmjit.c @@ -565,8 +565,11 @@ llvm_copy_attributes(LLVMValueRef v_from, LLVMValueRef v_to) /* copy function attributes */ llvm_copy_attributes_at_index(v_from, v_to, LLVMAttributeFunctionIndex); - /* and the return value attributes */ - llvm_copy_attributes_at_index(v_from, v_to, LLVMAttributeReturnIndex); + if (LLVMGetTypeKind(LLVMGetFunctionReturnType(v_to)) != LLVMVoidTypeKind) + { + /* and the return value attributes */ + llvm_copy_attributes_at_index(v_from, v_to, LLVMAttributeReturnIndex); + } /* and each function parameter's attribute */ param_count = LLVMCountParams(v_from); diff --git a/src/backend/libpq/be-secure-openssl.c b/src/backend/libpq/be-secure-openssl.c index ed13e8b..4c7e16c 100644 --- a/src/backend/libpq/be-secure-openssl.c +++ b/src/backend/libpq/be-secure-openssl.c @@ -1241,9 +1241,9 @@ initialize_ecdh(SSL_CTX *context, bool isServerStart) * * ERR_get_error() is used by caller to get errcode to pass here. * - * Some caution is needed here since ERR_reason_error_string will - * return NULL if it doesn't recognize the error code. We don't - * want to return NULL ever. + * Some caution is needed here since ERR_reason_error_string will return NULL + * if it doesn't recognize the error code, or (in OpenSSL >= 3) if the code + * represents a system errno value. We don't want to return NULL ever. */ static const char * SSLerrmessage(unsigned long ecode) @@ -1256,6 +1256,19 @@ SSLerrmessage(unsigned long ecode) errreason = ERR_reason_error_string(ecode); if (errreason != NULL) return errreason; + + /* + * In OpenSSL 3.0.0 and later, ERR_reason_error_string randomly refuses to + * map system errno values. We can cover that shortcoming with this bit + * of code. Older OpenSSL versions don't have the ERR_SYSTEM_ERROR macro, + * but that's okay because they don't have the shortcoming either. + */ +#ifdef ERR_SYSTEM_ERROR + if (ERR_SYSTEM_ERROR(ecode)) + return strerror(ERR_GET_REASON(ecode)); +#endif + + /* No choice but to report the numeric ecode */ snprintf(errbuf, sizeof(errbuf), _("SSL error code %lu"), ecode); return errbuf; } diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index bb9fa77..e2539df 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -193,14 +193,10 @@ pq_init(void) * nonblocking mode and use latches to implement blocking semantics if * needed. That allows us to provide safely interruptible reads and * writes. - * - * Use COMMERROR on failure, because ERROR would try to send the error to - * the client, which might require changing the mode again, leading to - * infinite recursion. */ #ifndef WIN32 if (!pg_set_noblock(MyProcPort->sock)) - ereport(COMMERROR, + ereport(FATAL, (errmsg("could not set socket to nonblocking mode: %m"))); #endif diff --git a/src/backend/optimizer/path/equivclass.c b/src/backend/optimizer/path/equivclass.c index 9f39f46..06f89a6 100644 --- a/src/backend/optimizer/path/equivclass.c +++ b/src/backend/optimizer/path/equivclass.c @@ -1851,6 +1851,21 @@ create_join_clause(PlannerInfo *root, rightem->em_nullable_relids), ec->ec_min_security); + /* + * If either EM is a child, force the clause's clause_relids to include + * the relid(s) of the child rel. In normal cases it would already, but + * not if we are considering appendrel child relations with pseudoconstant + * translated variables (i.e., UNION ALL sub-selects with constant output + * items). We must do this so that join_clause_is_movable_into() will + * think that the clause should be evaluated at the correct place. + */ + if (leftem->em_is_child) + rinfo->clause_relids = bms_add_members(rinfo->clause_relids, + leftem->em_relids); + if (rightem->em_is_child) + rinfo->clause_relids = bms_add_members(rinfo->clause_relids, + rightem->em_relids); + /* Mark the clause as redundant, or not */ rinfo->parent_ec = parent_ec; diff --git a/src/backend/optimizer/prep/prepjointree.c b/src/backend/optimizer/prep/prepjointree.c index ea05763..0efcc3b 100644 --- a/src/backend/optimizer/prep/prepjointree.c +++ b/src/backend/optimizer/prep/prepjointree.c @@ -1822,6 +1822,10 @@ pull_up_constant_function(PlannerInfo *root, Node *jtnode, if (rtf->funccolcount != 1) return jtnode; /* definitely composite */ + /* If it has a coldeflist, it certainly returns RECORD */ + if (rtf->funccolnames != NIL) + return jtnode; /* must be a one-column RECORD type */ + functypclass = get_expr_result_type(rtf->funcexpr, &funcrettype, &tupdesc); diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c index e1cedd9..9fcfd55 100644 --- a/src/backend/optimizer/util/clauses.c +++ b/src/backend/optimizer/util/clauses.c @@ -2347,6 +2347,10 @@ static Node * eval_const_expressions_mutator(Node *node, eval_const_expressions_context *context) { + + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + if (node == NULL) return NULL; switch (nodeTag(node)) @@ -4319,12 +4323,11 @@ evaluate_function(Oid funcid, Oid result_type, int32 result_typmod, * Can't simplify if it returns RECORD. The immediate problem is that it * will be needing an expected tupdesc which we can't supply here. * - * In the case where it has OUT parameters, it could get by without an - * expected tupdesc, but we still have issues: get_expr_result_type() - * doesn't know how to extract type info from a RECORD constant, and in - * the case of a NULL function result there doesn't seem to be any clean - * way to fix that. In view of the likelihood of there being still other - * gotchas, seems best to leave the function call unreduced. + * In the case where it has OUT parameters, we could build an expected + * tupdesc from those, but there may be other gotchas lurking. In + * particular, if the function were to return NULL, we would produce a + * null constant with no remaining indication of which concrete record + * type it is. For now, seems best to leave the function call unreduced. */ if (funcform->prorettype == RECORDOID) return NULL; @@ -4618,9 +4621,10 @@ inline_function(Oid funcid, Oid result_type, Oid result_collid, * needed; that's probably not important, but let's be careful. */ querytree_list = list_make1(querytree); - if (check_sql_fn_retval(list_make1(querytree_list), - result_type, rettupdesc, - false, NULL)) + if (check_sql_fn_retval_ext(list_make1(querytree_list), + result_type, rettupdesc, + funcform->prokind, + false, NULL)) goto fail; /* reject whole-tuple-result cases */ /* @@ -5134,16 +5138,20 @@ inline_set_returning_function(PlannerInfo *root, RangeTblEntry *rte) } /* - * Also resolve the actual function result tupdesc, if composite. If the - * function is just declared to return RECORD, dig the info out of the AS - * clause. + * Also resolve the actual function result tupdesc, if composite. If we + * have a coldeflist, believe that; otherwise use get_expr_result_type. + * (This logic should match ExecInitFunctionScan.) */ - functypclass = get_expr_result_type((Node *) fexpr, NULL, &rettupdesc); - if (functypclass == TYPEFUNC_RECORD) + if (rtfunc->funccolnames != NIL) + { + functypclass = TYPEFUNC_RECORD; rettupdesc = BuildDescFromLists(rtfunc->funccolnames, rtfunc->funccoltypes, rtfunc->funccoltypmods, rtfunc->funccolcollations); + } + else + functypclass = get_expr_result_type((Node *) fexpr, NULL, &rettupdesc); /* * The single command must be a plain SELECT. @@ -5165,9 +5173,10 @@ inline_set_returning_function(PlannerInfo *root, RangeTblEntry *rte) * shows it's returning a whole tuple result; otherwise what it's * returning is a single composite column which is not what we need. */ - if (!check_sql_fn_retval(list_make1(querytree_list), - fexpr->funcresulttype, rettupdesc, - true, NULL) && + if (!check_sql_fn_retval_ext(list_make1(querytree_list), + fexpr->funcresulttype, rettupdesc, + funcform->prokind, + true, NULL) && (functypclass == TYPEFUNC_COMPOSITE || functypclass == TYPEFUNC_COMPOSITE_DOMAIN || functypclass == TYPEFUNC_RECORD)) diff --git a/src/backend/optimizer/util/pathnode.c b/src/backend/optimizer/util/pathnode.c index 46fd29b..e5c82bf 100644 --- a/src/backend/optimizer/util/pathnode.c +++ b/src/backend/optimizer/util/pathnode.c @@ -1696,8 +1696,13 @@ create_unique_path(PlannerInfo *root, RelOptInfo *rel, Path *subpath, pathnode->path.pathkeys = NIL; pathnode->subpath = subpath; - pathnode->in_operators = sjinfo->semi_operators; - pathnode->uniq_exprs = sjinfo->semi_rhs_exprs; + + /* + * Under GEQO, the sjinfo might be short-lived, so we'd better make copies + * of data structures we extract from it. + */ + pathnode->in_operators = copyObject(sjinfo->semi_operators); + pathnode->uniq_exprs = copyObject(sjinfo->semi_rhs_exprs); /* * If the input is a relation and it has a unique index that proves the diff --git a/src/backend/optimizer/util/relnode.c b/src/backend/optimizer/util/relnode.c index 3c75fd5..6e1c87a 100644 --- a/src/backend/optimizer/util/relnode.c +++ b/src/backend/optimizer/util/relnode.c @@ -1300,6 +1300,7 @@ get_baserel_parampathinfo(PlannerInfo *root, RelOptInfo *baserel, ParamPathInfo *ppi; Relids joinrelids; List *pclauses; + List *eqclauses; double rows; ListCell *lc; @@ -1333,14 +1334,24 @@ get_baserel_parampathinfo(PlannerInfo *root, RelOptInfo *baserel, } /* - * Add in joinclauses generated by EquivalenceClasses, too. (These - * necessarily satisfy join_clause_is_movable_into.) + * Add in joinclauses generated by EquivalenceClasses, too. In principle + * these should always satisfy join_clause_is_movable_into; but if we are + * below an outer join the clauses might contain Vars that should only be + * evaluated above the join, so we have to check. */ - pclauses = list_concat(pclauses, - generate_join_implied_equalities(root, - joinrelids, - required_outer, - baserel)); + eqclauses = generate_join_implied_equalities(root, + joinrelids, + required_outer, + baserel); + foreach(lc, eqclauses) + { + RestrictInfo *rinfo = (RestrictInfo *) lfirst(lc); + + if (join_clause_is_movable_into(rinfo, + baserel->relids, + joinrelids)) + pclauses = lappend(pclauses, rinfo); + } /* Estimate the number of rows returned by the parameterized scan */ rows = get_parameterized_baserel_size(root, baserel, pclauses); diff --git a/src/backend/parser/analyze.c b/src/backend/parser/analyze.c index eaa0bce..f992646 100644 --- a/src/backend/parser/analyze.c +++ b/src/backend/parser/analyze.c @@ -1063,17 +1063,28 @@ transformInsertRow(ParseState *pstate, List *exprlist, if (strip_indirection) { + /* + * We need to remove top-level FieldStores and SubscriptingRefs, + * as well as any CoerceToDomain appearing above one of those --- + * but not a CoerceToDomain that isn't above one of those. + */ while (expr) { - if (IsA(expr, FieldStore)) + Expr *subexpr = expr; + + while (IsA(subexpr, CoerceToDomain)) + { + subexpr = ((CoerceToDomain *) subexpr)->arg; + } + if (IsA(subexpr, FieldStore)) { - FieldStore *fstore = (FieldStore *) expr; + FieldStore *fstore = (FieldStore *) subexpr; expr = (Expr *) linitial(fstore->newvals); } - else if (IsA(expr, SubscriptingRef)) + else if (IsA(subexpr, SubscriptingRef)) { - SubscriptingRef *sbsref = (SubscriptingRef *) expr; + SubscriptingRef *sbsref = (SubscriptingRef *) subexpr; if (sbsref->refassgnexpr == NULL) break; diff --git a/src/backend/parser/parse_merge.c b/src/backend/parser/parse_merge.c index e8865bf..de4825b 100644 --- a/src/backend/parser/parse_merge.c +++ b/src/backend/parser/parse_merge.c @@ -133,7 +133,11 @@ transformMergeStmt(ParseState *pstate, MergeStmt *stmt) int when_type = (mergeWhenClause->matched ? 0 : 1); /* - * Collect action types so we can check target permissions + * Collect permissions to check, according to action types. We require + * SELECT privileges for DO NOTHING because it'd be irregular to have + * a target relation with zero privileges checked, in case DO NOTHING + * is the only action. There's no damage from that: any meaningful + * MERGE command requires at least some access to the table anyway. */ switch (mergeWhenClause->commandType) { @@ -147,6 +151,7 @@ transformMergeStmt(ParseState *pstate, MergeStmt *stmt) targetPerms |= ACL_DELETE; break; case CMD_NOTHING: + targetPerms |= ACL_SELECT; break; default: elog(ERROR, "unknown action in MERGE WHEN clause"); diff --git a/src/backend/parser/parse_relation.c b/src/backend/parser/parse_relation.c index 863c25f..e006683 100644 --- a/src/backend/parser/parse_relation.c +++ b/src/backend/parser/parse_relation.c @@ -2722,12 +2722,17 @@ expandRTE(RangeTblEntry *rte, int rtindex, int sublevels_up, { RangeTblFunction *rtfunc = (RangeTblFunction *) lfirst(lc); TypeFuncClass functypclass; - Oid funcrettype; - TupleDesc tupdesc; + Oid funcrettype = InvalidOid; + TupleDesc tupdesc = NULL; + + /* If it has a coldeflist, it returns RECORD */ + if (rtfunc->funccolnames != NIL) + functypclass = TYPEFUNC_RECORD; + else + functypclass = get_expr_result_type(rtfunc->funcexpr, + &funcrettype, + &tupdesc); - functypclass = get_expr_result_type(rtfunc->funcexpr, - &funcrettype, - &tupdesc); if (functypclass == TYPEFUNC_COMPOSITE || functypclass == TYPEFUNC_COMPOSITE_DOMAIN) { @@ -3345,6 +3350,10 @@ get_rte_attribute_is_dropped(RangeTblEntry *rte, AttrNumber attnum) { TupleDesc tupdesc; + /* If it has a coldeflist, it returns RECORD */ + if (rtfunc->funccolnames != NIL) + return false; /* can't have any dropped columns */ + tupdesc = get_expr_result_tupdesc(rtfunc->funcexpr, true); if (tupdesc) diff --git a/src/backend/parser/parse_target.c b/src/backend/parser/parse_target.c index bff3003..4d6d88c 100644 --- a/src/backend/parser/parse_target.c +++ b/src/backend/parser/parse_target.c @@ -828,7 +828,16 @@ transformAssignmentIndirection(ParseState *pstate, fstore->fieldnums = list_make1_int(attnum); fstore->resulttype = baseTypeId; - /* If target is a domain, apply constraints */ + /* + * If target is a domain, apply constraints. Notice that this + * isn't totally right: the expression tree we build would check + * the domain's constraints on a composite value with only this + * one field populated or updated, possibly leading to an unwanted + * failure. The rewriter will merge together any subfield + * assignments to the same table column, resulting in the domain's + * constraints being checked only once after we've assigned to all + * the fields that the INSERT or UPDATE means to. + */ if (baseTypeId != targetTypeId) return coerce_to_domain((Node *) fstore, baseTypeId, baseTypeMod, @@ -976,7 +985,12 @@ transformAssignmentSubscripts(ParseState *pstate, result = (Node *) sbsref; - /* If target was a domain over container, need to coerce up to the domain */ + /* + * If target was a domain over container, need to coerce up to the domain. + * As in transformAssignmentIndirection, this coercion is premature if the + * query assigns to multiple elements of the container; but we'll fix that + * during query rewrite. + */ if (containerType != targetTypeId) { Oid resulttype = exprType(result); diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c index b8dda03..5a06136 100644 --- a/src/backend/parser/parse_utilcmd.c +++ b/src/backend/parser/parse_utilcmd.c @@ -456,7 +456,16 @@ generateSerialExtraStmts(CreateStmtContext *cxt, ColumnDef *column, seqstmt = makeNode(CreateSeqStmt); seqstmt->for_identity = for_identity; seqstmt->sequence = makeRangeVar(snamespace, sname, -1); - seqstmt->sequence->relpersistence = cxt->relation->relpersistence; + + /* + * Copy the persistence of the table. For CREATE TABLE, we get the + * persistence from cxt->relation, which comes from the CreateStmt in + * progress. For ALTER TABLE, the parser won't set + * cxt->relation->relpersistence, but we have cxt->rel as the existing + * table, so we copy the persistence from there. + */ + seqstmt->sequence->relpersistence = cxt->rel ? cxt->rel->rd_rel->relpersistence : cxt->relation->relpersistence; + seqstmt->options = seqoptions; /* diff --git a/src/backend/partitioning/partprune.c b/src/backend/partitioning/partprune.c index aeb4194..22a1a24 100644 --- a/src/backend/partitioning/partprune.c +++ b/src/backend/partitioning/partprune.c @@ -1810,11 +1810,63 @@ match_clause_to_partition_key(GeneratePruningStepsContext *context, { PartClauseInfo *partclause; + /* + * For bool tests in the form of partkey IS NOT true and IS NOT false, + * we invert these clauses. Effectively, "partkey IS NOT true" + * becomes "partkey IS false OR partkey IS NULL". We do this by + * building an OR BoolExpr and forming a clause just like that and + * punt it off to gen_partprune_steps_internal() to generate pruning + * steps. + */ + if (noteq) + { + List *new_clauses; + List *or_clause; + BooleanTest *new_booltest = (BooleanTest *) copyObject(clause); + NullTest *nulltest; + + /* We expect 'noteq' to only be set to true for BooleanTests */ + Assert(IsA(clause, BooleanTest)); + + /* reverse the bool test */ + if (new_booltest->booltesttype == IS_NOT_TRUE) + new_booltest->booltesttype = IS_FALSE; + else if (new_booltest->booltesttype == IS_NOT_FALSE) + new_booltest->booltesttype = IS_TRUE; + else + { + /* + * We only expect match_boolean_partition_clause to match for + * IS_NOT_TRUE and IS_NOT_FALSE. IS_NOT_UNKNOWN is not + * supported. + */ + Assert(false); + } + + nulltest = makeNode(NullTest); + nulltest->arg = copyObject(partkey); + nulltest->nulltesttype = IS_NULL; + nulltest->argisrow = false; + nulltest->location = -1; + + new_clauses = list_make2(new_booltest, nulltest); + or_clause = list_make1(makeBoolExpr(OR_EXPR, new_clauses, -1)); + + /* Finally, generate steps */ + *clause_steps = gen_partprune_steps_internal(context, or_clause); + + if (context->contradictory) + return PARTCLAUSE_MATCH_CONTRADICT; /* shouldn't happen */ + else if (*clause_steps == NIL) + return PARTCLAUSE_UNSUPPORTED; /* step generation failed */ + return PARTCLAUSE_MATCH_STEPS; + } + partclause = (PartClauseInfo *) palloc(sizeof(PartClauseInfo)); partclause->keyno = partkeyidx; /* Do pruning with the Boolean equality operator. */ partclause->opno = BooleanEqualOperator; - partclause->op_is_ne = noteq; + partclause->op_is_ne = false; partclause->expr = expr; /* We know that expr is of Boolean type. */ partclause->cmpfn = part_scheme->partsupfunc[partkeyidx].fn_oid; @@ -2359,7 +2411,7 @@ match_clause_to_partition_key(GeneratePruningStepsContext *context, * For LIST and RANGE partitioned tables, callers must ensure that * step_nullkeys is NULL, and that prefix contains at least one clause for * each of the partition keys prior to the key that 'step_lastexpr' and - * 'step_lastcmpfn'belong to. + * 'step_lastcmpfn' belong to. * * For HASH partitioned tables, callers must ensure that 'prefix' contains at * least one clause for each of the partition keys apart from the final key diff --git a/src/backend/po/de.po b/src/backend/po/de.po index ccf1ee9..bfff366 100644 --- a/src/backend/po/de.po +++ b/src/backend/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-01 22:27+0000\n" +"POT-Creation-Date: 2024-05-02 22:16+0000\n" "PO-Revision-Date: 2023-11-08 21:53+0100\n" "Last-Translator: Peter Eisentraut <peter@eisentraut.org>\n" "Language-Team: German <pgsql-translators@postgresql.org>\n" @@ -75,7 +75,7 @@ msgstr "konnte Datei »%s« nicht zum Lesen öffnen: %m" #: access/transam/twophase.c:1349 access/transam/xlog.c:3209 #: access/transam/xlog.c:4024 access/transam/xlogrecovery.c:1223 #: access/transam/xlogrecovery.c:1315 access/transam/xlogrecovery.c:1352 -#: access/transam/xlogrecovery.c:1412 backup/basebackup.c:1844 +#: access/transam/xlogrecovery.c:1412 backup/basebackup.c:1848 #: commands/extension.c:3411 libpq/hba.c:505 replication/logical/origin.c:729 #: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4958 #: replication/logical/snapbuild.c:1870 replication/logical/snapbuild.c:1912 @@ -89,7 +89,7 @@ msgstr "konnte Datei »%s« nicht lesen: %m" #: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 #: access/transam/xlog.c:3214 access/transam/xlog.c:4029 -#: backup/basebackup.c:1848 replication/logical/origin.c:734 +#: backup/basebackup.c:1852 replication/logical/origin.c:734 #: replication/logical/origin.c:773 replication/logical/snapbuild.c:1875 #: replication/logical/snapbuild.c:1917 replication/logical/snapbuild.c:1944 #: replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 @@ -146,7 +146,7 @@ msgstr "" #: access/transam/xlog.c:3164 access/transam/xlog.c:3359 #: access/transam/xlog.c:4014 access/transam/xlogrecovery.c:4243 #: access/transam/xlogrecovery.c:4346 access/transam/xlogutils.c:852 -#: backup/basebackup.c:522 backup/basebackup.c:1520 postmaster/syslogger.c:1560 +#: backup/basebackup.c:522 backup/basebackup.c:1524 postmaster/syslogger.c:1560 #: replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3611 #: replication/logical/reorderbuffer.c:4162 #: replication/logical/reorderbuffer.c:4938 @@ -155,7 +155,7 @@ msgstr "" #: replication/walsender.c:2722 storage/file/copydir.c:161 #: storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 #: storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:795 -#: utils/cache/relmapper.c:912 utils/error/elog.c:1933 +#: utils/cache/relmapper.c:912 utils/error/elog.c:1937 #: utils/init/miscinit.c:1374 utils/init/miscinit.c:1508 #: utils/init/miscinit.c:1585 utils/misc/guc.c:8998 utils/misc/guc.c:9047 #, c-format @@ -265,15 +265,15 @@ msgstr "konnte kein »%s« zum Ausführen finden" msgid "could not change directory to \"%s\": %m" msgstr "konnte nicht in Verzeichnis »%s« wechseln: %m" -#: ../common/exec.c:299 access/transam/xlog.c:8325 backup/basebackup.c:1340 +#: ../common/exec.c:299 access/transam/xlog.c:8325 backup/basebackup.c:1344 #: utils/adt/misc.c:342 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "konnte symbolische Verknüpfung »%s« nicht lesen: %m" -#: ../common/exec.c:422 libpq/pqcomm.c:746 storage/ipc/latch.c:1092 -#: storage/ipc/latch.c:1272 storage/ipc/latch.c:1501 storage/ipc/latch.c:1663 -#: storage/ipc/latch.c:1789 +#: ../common/exec.c:422 libpq/pqcomm.c:742 storage/ipc/latch.c:1098 +#: storage/ipc/latch.c:1278 storage/ipc/latch.c:1507 storage/ipc/latch.c:1669 +#: storage/ipc/latch.c:1795 #, c-format msgid "%s() failed: %m" msgstr "%s() fehlgeschlagen: %m" @@ -281,8 +281,8 @@ msgstr "%s() fehlgeschlagen: %m" #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:162 #: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791 -#: ../port/path.c:808 utils/misc/ps_status.c:181 utils/misc/ps_status.c:189 -#: utils/misc/ps_status.c:219 utils/misc/ps_status.c:227 +#: ../port/path.c:808 utils/misc/ps_status.c:208 utils/misc/ps_status.c:216 +#: utils/misc/ps_status.c:246 utils/misc/ps_status.c:254 #, c-format msgid "out of memory\n" msgstr "Speicher aufgebraucht\n" @@ -490,7 +490,7 @@ msgstr "konnte Prozess nicht mit beschränktem Token neu starten: Fehlercode %lu msgid "could not get exit code from subprocess: error code %lu" msgstr "konnte Statuscode des Subprozesses nicht ermitteln: Fehlercode %lu" -#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1276 +#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1280 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "konnte »stat« für Datei oder Verzeichnis »%s« nicht ausführen: %m" @@ -695,12 +695,12 @@ msgid "could not open parent table of index \"%s\"" msgstr "konnte Basistabelle von Index »%s« nicht öffnen" #: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1087 -#: parser/parse_utilcmd.c:2287 +#: parser/parse_utilcmd.c:2296 #, c-format msgid "index \"%s\" is not valid" msgstr "Index »%s« ist nicht gültig" -#: access/brin/brin_bloom.c:749 access/brin/brin_bloom.c:791 +#: access/brin/brin_bloom.c:752 access/brin/brin_bloom.c:794 #: access/brin/brin_minmax_multi.c:2986 access/brin/brin_minmax_multi.c:3129 #: statistics/dependencies.c:663 statistics/dependencies.c:716 #: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 @@ -1047,9 +1047,9 @@ msgstr "Operatorfamilie »%s« für Zugriffsmethode %s enthält ungültige ORDER msgid "could not determine which collation to use for string hashing" msgstr "konnte die für das Zeichenketten-Hashing zu verwendende Sortierfolge nicht bestimmen" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:668 -#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:1955 commands/tablecmds.c:17513 commands/view.c:86 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:671 +#: catalog/heap.c:677 commands/createas.c:206 commands/createas.c:515 +#: commands/indexcmds.c:1955 commands/tablecmds.c:17550 commands/view.c:86 #: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 #: utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 #: utils/adt/like_support.c:1025 utils/adt/varchar.c:733 @@ -1197,143 +1197,143 @@ msgstr "konnte nicht in Datei »%s« schreiben: %m" msgid "could not remove file \"%s\": %m" msgstr "konnte Datei »%s« nicht löschen: %m" -#: access/heap/vacuumlazy.c:407 +#: access/heap/vacuumlazy.c:405 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "aggressives Vacuum von »%s.%s.%s«" -#: access/heap/vacuumlazy.c:412 +#: access/heap/vacuumlazy.c:410 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "Vacuum von »%s.%s.%s«" -#: access/heap/vacuumlazy.c:663 +#: access/heap/vacuumlazy.c:661 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "beende Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n" -#: access/heap/vacuumlazy.c:674 +#: access/heap/vacuumlazy.c:672 #, c-format msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisches aggressives Vacuum um Ãœberlauf zu verhindern in der Tabelle »%s.%s.%s«: Index-Scans: %d\n" -#: access/heap/vacuumlazy.c:676 +#: access/heap/vacuumlazy.c:674 #, c-format msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisches Vacuum um Ãœberlauf zu verhindern in der Tabelle »%s.%s.%s«: Index-Scans: %d\n" -#: access/heap/vacuumlazy.c:681 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisches aggressives Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n" -#: access/heap/vacuumlazy.c:683 +#: access/heap/vacuumlazy.c:681 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«: Index-Scans: %d\n" -#: access/heap/vacuumlazy.c:690 +#: access/heap/vacuumlazy.c:688 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "Seiten: %u entfernt, %u verbleiben, %u gescannt (%.2f%% der Gesamtzahl)\n" -#: access/heap/vacuumlazy.c:697 +#: access/heap/vacuumlazy.c:695 #, c-format msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" msgstr "Tupel: %lld entfernt, %lld verbleiben, %lld sind tot aber noch nicht entfernbar\n" -#: access/heap/vacuumlazy.c:703 +#: access/heap/vacuumlazy.c:701 #, c-format msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n" msgstr "verpasste Tupel: %lld tot von %u Seiten nicht entfernt wegen Cleanup-Lock-Konflikt\n" -#: access/heap/vacuumlazy.c:708 +#: access/heap/vacuumlazy.c:706 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "entfernbare Obergrenze: %u, was %d XIDs alt war als die Operation endete\n" -#: access/heap/vacuumlazy.c:714 +#: access/heap/vacuumlazy.c:712 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "neue relfrozenxid: %u, was %d XIDs vor dem vorherigen Wert ist\n" -#: access/heap/vacuumlazy.c:721 +#: access/heap/vacuumlazy.c:719 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "neue relminmxid: %u, was %d MXIDs vor dem vorherigen Wert ist\n" -#: access/heap/vacuumlazy.c:727 +#: access/heap/vacuumlazy.c:725 msgid "index scan not needed: " msgstr "Index-Scan nicht benötigt: " -#: access/heap/vacuumlazy.c:729 +#: access/heap/vacuumlazy.c:727 msgid "index scan needed: " msgstr "Index-Scan benötigt: " -#: access/heap/vacuumlazy.c:731 +#: access/heap/vacuumlazy.c:729 #, c-format msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" msgstr "in %u Seiten der Tabelle (%.2f%% der Gesamtzahl) wurden %lld tote Item-Bezeichner entfernt\n" -#: access/heap/vacuumlazy.c:736 +#: access/heap/vacuumlazy.c:734 msgid "index scan bypassed: " msgstr "Index-Scan umgangen: " -#: access/heap/vacuumlazy.c:738 +#: access/heap/vacuumlazy.c:736 msgid "index scan bypassed by failsafe: " msgstr "Index-Scan umgangen durch Ausfallsicherung: " -#: access/heap/vacuumlazy.c:740 +#: access/heap/vacuumlazy.c:738 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "%u Seiten der Tabelle (%.2f%% der Gesamtzahl) haben %lld tote Item-Bezeichner\n" -#: access/heap/vacuumlazy.c:755 +#: access/heap/vacuumlazy.c:753 #, c-format msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n" msgstr "Index »%s«: Seiten: %u gesamt, %u neu gelöscht, %u gegenwärtig gelöscht, %u wiederverwendbar\n" -#: access/heap/vacuumlazy.c:767 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:765 commands/analyze.c:796 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "I/O-Zeitmessungen: Lesen: %.3f ms, Schreiben: %.3f ms\n" -#: access/heap/vacuumlazy.c:777 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:775 commands/analyze.c:799 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "durchschn. Leserate: %.3f MB/s, durchschn. Schreibrate: %.3f MB/s\n" -#: access/heap/vacuumlazy.c:780 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:778 commands/analyze.c:801 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "Puffer-Verwendung: %lld Treffer, %lld Verfehlen, %lld geändert\n" -#: access/heap/vacuumlazy.c:785 +#: access/heap/vacuumlazy.c:783 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "WAL-Benutzung: %lld Einträge, %lld Full Page Images, %llu Bytes\n" -#: access/heap/vacuumlazy.c:789 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:787 commands/analyze.c:805 #, c-format msgid "system usage: %s" msgstr "Systembenutzung: %s" -#: access/heap/vacuumlazy.c:2463 +#: access/heap/vacuumlazy.c:2461 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "Tabelle »%s«: %lld tote Item-Bezeichner in %u Seiten entfernt" -#: access/heap/vacuumlazy.c:2629 +#: access/heap/vacuumlazy.c:2627 #, c-format msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" msgstr "umgehe nicht essentielle Wartung der Tabelle »%s.%s.%s« als Ausfallsicherung nach %d Index-Scans" -#: access/heap/vacuumlazy.c:2634 +#: access/heap/vacuumlazy.c:2632 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "relfrozenxid oder relminmxid der Tabelle ist zu weit in der Vergangenheit." -#: access/heap/vacuumlazy.c:2635 +#: access/heap/vacuumlazy.c:2633 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1342,67 +1342,67 @@ msgstr "" "Erhöhen Sie eventuell die Konfigurationsparameter »maintenance_work_mem« oder »autovacuum_work_mem«.\n" "Sie müssen möglicherweise auch andere Wege in Betracht ziehen, wie VACUUM mit der Benutzung von Transaktions-IDs mithalten kann." -#: access/heap/vacuumlazy.c:2878 +#: access/heap/vacuumlazy.c:2876 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "»%s«: Truncate wird gestoppt wegen Sperrkonflikt" -#: access/heap/vacuumlazy.c:2948 +#: access/heap/vacuumlazy.c:2946 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "Tabelle »%s«: von %u auf %u Seiten verkürzt" -#: access/heap/vacuumlazy.c:3010 +#: access/heap/vacuumlazy.c:3008 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "Tabelle »%s«: Truncate wird ausgesetzt wegen Sperrkonflikt" -#: access/heap/vacuumlazy.c:3170 +#: access/heap/vacuumlazy.c:3168 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "Paralleloption für Vacuum von »%s« wird deaktiviert --- Vacuum in temporären Tabellen kann nicht parallel ausgeführt werden" -#: access/heap/vacuumlazy.c:3383 +#: access/heap/vacuumlazy.c:3381 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "beim Scannen von Block %u Offset %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3386 +#: access/heap/vacuumlazy.c:3384 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "beim Scannen von Block %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3390 +#: access/heap/vacuumlazy.c:3388 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "beim Scannen von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3398 +#: access/heap/vacuumlazy.c:3396 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "beim Vacuum von Block %u Offset %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3401 +#: access/heap/vacuumlazy.c:3399 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "beim Vacuum von Block %u von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3405 +#: access/heap/vacuumlazy.c:3403 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "beim Vacuum von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3410 commands/vacuumparallel.c:1058 +#: access/heap/vacuumlazy.c:3408 commands/vacuumparallel.c:1058 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "beim Vacuum von Index »%s« von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3415 commands/vacuumparallel.c:1064 +#: access/heap/vacuumlazy.c:3413 commands/vacuumparallel.c:1064 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "beim Säubern von Index »%s« von Relation »%s.%s«" -#: access/heap/vacuumlazy.c:3421 +#: access/heap/vacuumlazy.c:3419 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "beim Trunkieren von Relation »%s.%s« auf %u Blöcke" @@ -1422,14 +1422,19 @@ msgstr "Indexzugriffsmethode »%s« hat keinen Handler" msgid "transaction aborted during system catalog scan" msgstr "Transaktion während eines Systemkatalog-Scans abgebrochen" -#: access/index/indexam.c:203 catalog/objectaddress.c:1376 +#: access/index/genam.c:657 access/index/indexam.c:87 +#, c-format +msgid "cannot access index \"%s\" while it is being reindexed" +msgstr "auf Index »%s« kann nicht zugegriffen werden, während er reindiziert wird" + +#: access/index/indexam.c:208 catalog/objectaddress.c:1376 #: commands/indexcmds.c:2783 commands/tablecmds.c:271 commands/tablecmds.c:295 -#: commands/tablecmds.c:17199 commands/tablecmds.c:18984 +#: commands/tablecmds.c:17236 commands/tablecmds.c:19021 #, c-format msgid "\"%s\" is not an index" msgstr "»%s« ist kein Index" -#: access/index/indexam.c:1010 +#: access/index/indexam.c:1015 #, c-format msgid "operator class %s has no options" msgstr "Operatorklasse %s hat keine Optionen" @@ -1450,7 +1455,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Das kann daran liegen, dass der Indexausdruck nicht »immutable« ist." #: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 -#: parser/parse_utilcmd.c:2333 +#: parser/parse_utilcmd.c:2342 #, c-format msgid "index \"%s\" is not a btree" msgstr "Index »%s« ist kein B-Tree" @@ -1521,8 +1526,8 @@ msgid "\"%s\" is an index" msgstr "»%s« ist ein Index" #: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 -#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13888 -#: commands/tablecmds.c:17208 +#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13930 +#: commands/tablecmds.c:17245 #, c-format msgid "\"%s\" is a composite type" msgstr "»%s« ist ein zusammengesetzter Typ" @@ -2572,12 +2577,12 @@ msgstr "mit full_page_writes=off erzeugtes WAL wurde seit dem letzten Restart-Pu msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again." msgstr "Das bedeutet, dass die aktuelle Datensicherung auf dem Standby-Server verfälscht ist und nicht verwendet werden sollte. Schalten Sie auf dem Primärserver full_page_writes ein, führen Sie dort CHECKPOINT aus und versuchen Sie dann die Online-Sicherung erneut." -#: access/transam/xlog.c:8332 backup/basebackup.c:1345 utils/adt/misc.c:347 +#: access/transam/xlog.c:8332 backup/basebackup.c:1349 utils/adt/misc.c:347 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "Ziel für symbolische Verknüpfung »%s« ist zu lang" -#: access/transam/xlog.c:8382 backup/basebackup.c:1360 +#: access/transam/xlog.c:8382 backup/basebackup.c:1364 #: commands/tablespace.c:399 commands/tablespace.c:581 utils/adt/misc.c:355 #, c-format msgid "tablespaces are not supported on this platform" @@ -2591,12 +2596,12 @@ msgstr "Tablespaces werden auf dieser Plattform nicht unterstützt" msgid "invalid data in file \"%s\"" msgstr "ungültige Daten in Datei »%s«" -#: access/transam/xlog.c:8558 backup/basebackup.c:1200 +#: access/transam/xlog.c:8558 backup/basebackup.c:1204 #, c-format msgid "the standby was promoted during online backup" msgstr "der Standby-Server wurde während der Online-Sicherung zum Primärserver befördert" -#: access/transam/xlog.c:8559 backup/basebackup.c:1201 +#: access/transam/xlog.c:8559 backup/basebackup.c:1205 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "Das bedeutet, dass die aktuelle Online-Sicherung verfälscht ist und nicht verwendet werden sollte. Versuchen Sie, eine neue Online-Sicherung durchzuführen." @@ -3501,44 +3506,44 @@ msgstr "Komprimierungsdetail kann nicht angegeben werden, wenn Komprimierung nic msgid "invalid compression specification: %s" msgstr "ungültige Komprimierungsangabe: %s" -#: backup/basebackup.c:1431 +#: backup/basebackup.c:1435 #, c-format msgid "skipping special file \"%s\"" msgstr "überspringe besondere Datei »%s«" -#: backup/basebackup.c:1550 +#: backup/basebackup.c:1554 #, c-format msgid "invalid segment number %d in file \"%s\"" msgstr "ungültige Segmentnummer %d in Datei »%s«" -#: backup/basebackup.c:1582 +#: backup/basebackup.c:1586 #, c-format msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" msgstr "konnte Prüfsumme in Datei »%s«, Block %u nicht überprüfen: gelesene Puffergröße %d und Seitengröße %d sind verschieden" -#: backup/basebackup.c:1656 +#: backup/basebackup.c:1660 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" msgstr "Prüfsummenüberprüfung fehlgeschlagen in Datei »%s«, Block %u: berechnet %X, aber erwartet %X" -#: backup/basebackup.c:1663 +#: backup/basebackup.c:1667 #, c-format msgid "further checksum verification failures in file \"%s\" will not be reported" msgstr "weitere Prüfsummenfehler in Datei »%s« werden nicht berichtet werden" -#: backup/basebackup.c:1719 +#: backup/basebackup.c:1723 #, c-format msgid "file \"%s\" has a total of %d checksum verification failure" msgid_plural "file \"%s\" has a total of %d checksum verification failures" msgstr[0] "Datei »%s« hat insgesamt %d Prüfsummenfehler" msgstr[1] "Datei »%s« hat insgesamt %d Prüfsummenfehler" -#: backup/basebackup.c:1765 +#: backup/basebackup.c:1769 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "Dateiname zu lang für Tar-Format: »%s«" -#: backup/basebackup.c:1770 +#: backup/basebackup.c:1774 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "Ziel der symbolischen Verknüpfung zu lang für Tar-Format: Dateiname »%s«, Ziel »%s«" @@ -3793,26 +3798,26 @@ msgstr "Klausel IN SCHEMA kann nicht verwendet werden, wenn GRANT/REVOKE ON SCHE #: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 #: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:779 -#: commands/sequence.c:1663 commands/tablecmds.c:7275 commands/tablecmds.c:7431 -#: commands/tablecmds.c:7481 commands/tablecmds.c:7555 -#: commands/tablecmds.c:7625 commands/tablecmds.c:7737 -#: commands/tablecmds.c:7831 commands/tablecmds.c:7890 -#: commands/tablecmds.c:7979 commands/tablecmds.c:8009 -#: commands/tablecmds.c:8137 commands/tablecmds.c:8219 -#: commands/tablecmds.c:8375 commands/tablecmds.c:8493 -#: commands/tablecmds.c:12226 commands/tablecmds.c:12407 -#: commands/tablecmds.c:12567 commands/tablecmds.c:13731 -#: commands/tablecmds.c:16300 commands/trigger.c:954 parser/analyze.c:2506 -#: parser/parse_relation.c:725 parser/parse_target.c:1063 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3435 -#: parser/parse_utilcmd.c:3471 parser/parse_utilcmd.c:3513 utils/adt/acl.c:2869 -#: utils/adt/ruleutils.c:2830 +#: commands/sequence.c:1663 commands/tablecmds.c:7274 commands/tablecmds.c:7430 +#: commands/tablecmds.c:7480 commands/tablecmds.c:7554 +#: commands/tablecmds.c:7624 commands/tablecmds.c:7736 +#: commands/tablecmds.c:7830 commands/tablecmds.c:7889 +#: commands/tablecmds.c:7978 commands/tablecmds.c:8008 +#: commands/tablecmds.c:8136 commands/tablecmds.c:8218 +#: commands/tablecmds.c:8374 commands/tablecmds.c:8496 +#: commands/tablecmds.c:12235 commands/tablecmds.c:12416 +#: commands/tablecmds.c:12576 commands/tablecmds.c:13773 +#: commands/tablecmds.c:16342 commands/trigger.c:954 parser/analyze.c:2517 +#: parser/parse_relation.c:725 parser/parse_target.c:1077 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3444 +#: parser/parse_utilcmd.c:3480 parser/parse_utilcmd.c:3522 utils/adt/acl.c:2869 +#: utils/adt/ruleutils.c:2828 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "Spalte »%s« von Relation »%s« existiert nicht" #: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 -#: commands/tablecmds.c:253 commands/tablecmds.c:17172 utils/adt/acl.c:2077 +#: commands/tablecmds.c:253 commands/tablecmds.c:17209 utils/adt/acl.c:2077 #: utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 #: utils/adt/acl.c:2199 utils/adt/acl.c:2229 #, c-format @@ -4353,7 +4358,7 @@ msgstr "nur Superuser können %s() aufrufen" msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() kann nur mit Systemkatalogen verwendet werden" -#: catalog/catalog.c:619 parser/parse_utilcmd.c:2280 +#: catalog/catalog.c:619 parser/parse_utilcmd.c:2289 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "Index »%s« gehört nicht zu Tabelle »%s«" @@ -4368,32 +4373,32 @@ msgstr "Spalte »%s« hat nicht Typ oid" msgid "index \"%s\" is not the index for column \"%s\"" msgstr "»%s« ist kein Index für Spalte »%s«" -#: catalog/dependency.c:538 catalog/pg_shdepend.c:657 +#: catalog/dependency.c:545 catalog/pg_shdepend.c:657 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "kann %s nicht löschen, wird vom Datenbanksystem benötigt" -#: catalog/dependency.c:830 catalog/dependency.c:1057 +#: catalog/dependency.c:837 catalog/dependency.c:1064 #, c-format msgid "cannot drop %s because %s requires it" msgstr "kann %s nicht löschen, wird von %s benötigt" -#: catalog/dependency.c:832 catalog/dependency.c:1059 +#: catalog/dependency.c:839 catalog/dependency.c:1066 #, c-format msgid "You can drop %s instead." msgstr "Sie können stattdessen %s löschen." -#: catalog/dependency.c:1138 catalog/dependency.c:1147 +#: catalog/dependency.c:1145 catalog/dependency.c:1154 #, c-format msgid "%s depends on %s" msgstr "%s hängt von %s ab" -#: catalog/dependency.c:1162 catalog/dependency.c:1171 +#: catalog/dependency.c:1169 catalog/dependency.c:1178 #, c-format msgid "drop cascades to %s" msgstr "Löschvorgang löscht ebenfalls %s" -#: catalog/dependency.c:1179 catalog/pg_shdepend.c:822 +#: catalog/dependency.c:1186 catalog/pg_shdepend.c:822 #, c-format msgid "" "\n" @@ -4408,14 +4413,14 @@ msgstr[1] "" "\n" "und %d weitere Objekte (Liste im Serverlog)" -#: catalog/dependency.c:1191 +#: catalog/dependency.c:1198 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "kann %s nicht löschen, weil andere Objekte davon abhängen" -#: catalog/dependency.c:1194 catalog/dependency.c:1201 -#: catalog/dependency.c:1212 commands/tablecmds.c:1328 -#: commands/tablecmds.c:14373 commands/tablespace.c:476 commands/user.c:1008 +#: catalog/dependency.c:1201 catalog/dependency.c:1208 +#: catalog/dependency.c:1219 commands/tablecmds.c:1324 +#: commands/tablecmds.c:14415 commands/tablespace.c:476 commands/user.c:1008 #: commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 #: storage/lmgr/deadlock.c:1151 storage/lmgr/proc.c:1421 utils/misc/guc.c:7402 #: utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11880 @@ -4425,30 +4430,30 @@ msgstr "kann %s nicht löschen, weil andere Objekte davon abhängen" msgid "%s" msgstr "%s" -#: catalog/dependency.c:1195 catalog/dependency.c:1202 +#: catalog/dependency.c:1202 catalog/dependency.c:1209 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Verwenden Sie DROP ... CASCADE, um die abhängigen Objekte ebenfalls zu löschen." -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1206 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "kann gewünschte Objekte nicht löschen, weil andere Objekte davon abhängen" -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1214 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "Löschvorgang löscht ebenfalls %d weiteres Objekt" msgstr[1] "Löschvorgang löscht ebenfalls %d weitere Objekte" -#: catalog/dependency.c:1889 +#: catalog/dependency.c:1896 #, c-format msgid "constant of the type %s cannot be used here" msgstr "Konstante vom Typ %s kann hier nicht verwendet werden" -#: catalog/dependency.c:2410 parser/parse_relation.c:3374 -#: parser/parse_relation.c:3384 +#: catalog/dependency.c:2421 parser/parse_relation.c:3383 +#: parser/parse_relation.c:3393 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "Spalte %d von Relation »%s« existiert nicht" @@ -4463,13 +4468,13 @@ msgstr "keine Berechtigung, um »%s.%s« zu erzeugen" msgid "System catalog modifications are currently disallowed." msgstr "Änderungen an Systemkatalogen sind gegenwärtig nicht erlaubt." -#: catalog/heap.c:466 commands/tablecmds.c:2348 commands/tablecmds.c:2985 -#: commands/tablecmds.c:6865 +#: catalog/heap.c:466 commands/tablecmds.c:2344 commands/tablecmds.c:2981 +#: commands/tablecmds.c:6864 #, c-format msgid "tables can have at most %d columns" msgstr "Tabellen können höchstens %d Spalten haben" -#: catalog/heap.c:484 commands/tablecmds.c:7165 +#: catalog/heap.c:484 commands/tablecmds.c:7164 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "Spaltenname »%s« steht im Konflikt mit dem Namen einer Systemspalte" @@ -4480,39 +4485,39 @@ msgid "column name \"%s\" specified more than once" msgstr "Spaltenname »%s« mehrmals angegeben" #. translator: first %s is an integer not a name -#: catalog/heap.c:575 +#: catalog/heap.c:578 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "Partitionierungsschlüsselspalte %s hat Pseudotyp %s" -#: catalog/heap.c:580 +#: catalog/heap.c:583 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "Spalte »%s« hat Pseudotyp %s" -#: catalog/heap.c:611 +#: catalog/heap.c:614 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "zusammengesetzter Typ %s kann nicht Teil von sich selbst werden" #. translator: first %s is an integer not a name -#: catalog/heap.c:666 +#: catalog/heap.c:669 #, c-format msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "für Partitionierungsschlüsselspalte %s mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:675 commands/createas.c:203 commands/createas.c:512 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "für Spalte »%s« mit sortierbarem Typ %s wurde keine Sortierfolge abgeleitet" -#: catalog/heap.c:1148 catalog/index.c:875 commands/createas.c:408 -#: commands/tablecmds.c:3890 +#: catalog/heap.c:1151 catalog/index.c:875 commands/createas.c:408 +#: commands/tablecmds.c:3886 #, c-format msgid "relation \"%s\" already exists" msgstr "Relation »%s« existiert bereits" -#: catalog/heap.c:1164 catalog/pg_type.c:436 catalog/pg_type.c:784 +#: catalog/heap.c:1167 catalog/pg_type.c:436 catalog/pg_type.c:784 #: catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 #: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 #: commands/typecmds.c:1575 commands/typecmds.c:2547 @@ -4520,130 +4525,130 @@ msgstr "Relation »%s« existiert bereits" msgid "type \"%s\" already exists" msgstr "Typ »%s« existiert bereits" -#: catalog/heap.c:1165 +#: catalog/heap.c:1168 #, c-format msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type." msgstr "Eine Relation hat einen zugehörigen Typ mit dem selben Namen, daher müssen Sie einen Namen wählen, der nicht mit einem bestehenden Typ kollidiert." -#: catalog/heap.c:1205 +#: catalog/heap.c:1208 #, c-format msgid "toast relfilenode value not set when in binary upgrade mode" msgstr "TOAST-Relfilenode-Wert ist im Binary-Upgrade-Modus nicht gesetzt" -#: catalog/heap.c:1216 +#: catalog/heap.c:1219 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "Heap-OID-Wert für pg_class ist im Binary-Upgrade-Modus nicht gesetzt" -#: catalog/heap.c:1226 +#: catalog/heap.c:1229 #, c-format msgid "relfilenode value not set when in binary upgrade mode" msgstr "Relfilenode-Wert ist im Binary-Upgrade-Modus nicht gesetzt" -#: catalog/heap.c:2127 +#: catalog/heap.c:2130 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "zur partitionierten Tabelle »%s« kann kein NO-INHERIT-Constraint hinzugefügt werden" -#: catalog/heap.c:2402 +#: catalog/heap.c:2405 #, c-format msgid "check constraint \"%s\" already exists" msgstr "Check-Constraint »%s« existiert bereits" -#: catalog/heap.c:2572 catalog/index.c:889 catalog/pg_constraint.c:689 -#: commands/tablecmds.c:8867 +#: catalog/heap.c:2575 catalog/index.c:889 catalog/pg_constraint.c:689 +#: commands/tablecmds.c:8870 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "Constraint »%s« existiert bereits für Relation »%s«" -#: catalog/heap.c:2579 +#: catalog/heap.c:2582 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für Relation »%s«" -#: catalog/heap.c:2590 +#: catalog/heap.c:2593 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "Constraint »%s« kollidiert mit vererbtem Constraint für Relation »%s«" -#: catalog/heap.c:2600 +#: catalog/heap.c:2603 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für Relation »%s«" -#: catalog/heap.c:2605 +#: catalog/heap.c:2608 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "Constraint »%s« wird mit geerbter Definition zusammengeführt" -#: catalog/heap.c:2710 +#: catalog/heap.c:2713 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "generierte Spalte »%s« kann nicht im Spaltengenerierungsausdruck verwendet werden" -#: catalog/heap.c:2712 +#: catalog/heap.c:2715 #, c-format msgid "A generated column cannot reference another generated column." msgstr "Eine generierte Spalte kann nicht auf eine andere generierte Spalte verweisen." -#: catalog/heap.c:2718 +#: catalog/heap.c:2721 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "Variable mit Verweis auf die ganze Zeile kann nicht im Spaltengenerierungsausdruck verwendet werden" -#: catalog/heap.c:2719 +#: catalog/heap.c:2722 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "Dadurch würde die generierte Spalte von ihrem eigenen Wert abhängen." -#: catalog/heap.c:2774 +#: catalog/heap.c:2777 #, c-format msgid "generation expression is not immutable" msgstr "Generierungsausdruck ist nicht »immutable«" -#: catalog/heap.c:2802 rewrite/rewriteHandler.c:1290 +#: catalog/heap.c:2805 rewrite/rewriteHandler.c:1290 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "Spalte »%s« hat Typ %s, aber der Vorgabeausdruck hat Typ %s" -#: catalog/heap.c:2807 commands/prepare.c:334 parser/analyze.c:2730 -#: parser/parse_target.c:594 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1295 +#: catalog/heap.c:2810 commands/prepare.c:334 parser/analyze.c:2741 +#: parser/parse_target.c:594 parser/parse_target.c:891 +#: parser/parse_target.c:901 rewrite/rewriteHandler.c:1295 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Sie müssen den Ausdruck umschreiben oder eine Typumwandlung vornehmen." -#: catalog/heap.c:2854 +#: catalog/heap.c:2857 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "nur Verweise auf Tabelle »%s« sind im Check-Constraint zugelassen" -#: catalog/heap.c:3152 +#: catalog/heap.c:3155 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "nicht unterstützte Kombination aus ON COMMIT und Fremdschlüssel" -#: catalog/heap.c:3153 +#: catalog/heap.c:3156 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "Tabelle »%s« verweist auf »%s«, aber sie haben nicht die gleiche ON-COMMIT-Einstellung." -#: catalog/heap.c:3158 +#: catalog/heap.c:3161 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "kann eine Tabelle, die in einen Fremdschlüssel-Constraint eingebunden ist, nicht leeren" -#: catalog/heap.c:3159 +#: catalog/heap.c:3162 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Tabelle »%s« verweist auf »%s«." -#: catalog/heap.c:3161 +#: catalog/heap.c:3164 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Leeren Sie die Tabelle »%s« gleichzeitig oder verwenden Sie TRUNCATE ... CASCADE." -#: catalog/index.c:224 parser/parse_utilcmd.c:2185 +#: catalog/index.c:224 parser/parse_utilcmd.c:2194 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "mehrere Primärschlüssel für Tabelle »%s« nicht erlaubt" @@ -4715,7 +4720,7 @@ msgid "cannot reindex invalid index on TOAST table" msgstr "ungültiger Index einer TOAST-Tabelle kann nicht reindiziert werden" #: catalog/index.c:3690 commands/indexcmds.c:3416 commands/indexcmds.c:3560 -#: commands/tablecmds.c:3305 +#: commands/tablecmds.c:3301 #, c-format msgid "cannot move system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht verschoben werden" @@ -4809,13 +4814,13 @@ msgstr "Textsuchevorlage »%s« existiert nicht" msgid "text search configuration \"%s\" does not exist" msgstr "Textsuchekonfiguration »%s« existiert nicht" -#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1255 +#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1269 #, c-format msgid "cross-database references are not implemented: %s" msgstr "Verweise auf andere Datenbanken sind nicht implementiert: %s" #: catalog/namespace.c:2889 gram.y:18258 gram.y:18298 parser/parse_expr.c:813 -#: parser/parse_target.c:1262 +#: parser/parse_target.c:1276 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "falscher qualifizierter Name (zu viele Namensteile): %s" @@ -4831,7 +4836,7 @@ msgid "cannot move objects into or out of TOAST schema" msgstr "Objekte können nicht in oder aus TOAST-Schemas verschoben werden" #: catalog/namespace.c:3098 commands/schemacmds.c:263 commands/schemacmds.c:343 -#: commands/tablecmds.c:1273 +#: commands/tablecmds.c:1269 #, c-format msgid "schema \"%s\" does not exist" msgstr "Schema »%s« existiert nicht" @@ -4873,26 +4878,26 @@ msgid "List syntax is invalid." msgstr "Die Listensyntax ist ungültig." #: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2184 -#: commands/tablecmds.c:12343 +#: commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2180 +#: commands/tablecmds.c:12352 #, c-format msgid "\"%s\" is not a table" msgstr "»%s« ist keine Tabelle" #: catalog/objectaddress.c:1398 commands/tablecmds.c:259 -#: commands/tablecmds.c:17177 commands/view.c:119 +#: commands/tablecmds.c:17214 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "»%s« ist keine Sicht" #: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 -#: commands/tablecmds.c:17182 +#: commands/tablecmds.c:17219 #, c-format msgid "\"%s\" is not a materialized view" msgstr "»%s« ist keine materialisierte Sicht" #: catalog/objectaddress.c:1412 commands/tablecmds.c:283 -#: commands/tablecmds.c:17187 +#: commands/tablecmds.c:17224 #, c-format msgid "\"%s\" is not a foreign table" msgstr "»%s« ist keine Fremdtabelle" @@ -5652,8 +5657,8 @@ msgstr "Partition »%s« kann nicht abgetrennt werden" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "Die Partition wird nebenläufig abgetrennt oder hat eine unfertige Abtrennoperation." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4488 -#: commands/tablecmds.c:15489 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4484 +#: commands/tablecmds.c:15531 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Verwendet Sie ALTER TABLE ... DETACH PARTITION ... FINALIZE, um die unerledigte Abtrennoperation abzuschließen." @@ -5830,7 +5835,7 @@ msgstr "SQL-Funktionen können keinen Rückgabetyp »%s« haben" msgid "SQL functions cannot have arguments of type %s" msgstr "SQL-Funktionen können keine Argumente vom Typ »%s« haben" -#: catalog/pg_proc.c:1000 executor/functions.c:1473 +#: catalog/pg_proc.c:1001 executor/functions.c:1474 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-Funktion »%s«" @@ -6338,7 +6343,7 @@ msgstr "kann temporäre Tabellen anderer Sitzungen nicht clustern" msgid "there is no previously clustered index for table \"%s\"" msgstr "es gibt keinen bereits geclusterten Index für Tabelle »%s«" -#: commands/cluster.c:190 commands/tablecmds.c:14187 commands/tablecmds.c:16068 +#: commands/cluster.c:190 commands/tablecmds.c:14229 commands/tablecmds.c:16110 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "Index »%s« für Tabelle »%s« existiert nicht" @@ -6353,7 +6358,7 @@ msgstr "globaler Katalog kann nicht geclustert werden" msgid "cannot vacuum temporary tables of other sessions" msgstr "temporäre Tabellen anderer Sitzungen können nicht gevacuumt werden" -#: commands/cluster.c:511 commands/tablecmds.c:16078 +#: commands/cluster.c:511 commands/tablecmds.c:16120 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "»%s« ist kein Index für Tabelle »%s«" @@ -6413,7 +6418,7 @@ msgid "collation attribute \"%s\" not recognized" msgstr "Attribut »%s« für Sortierfolge unbekannt" #: commands/collationcmds.c:119 commands/collationcmds.c:125 -#: commands/define.c:389 commands/tablecmds.c:7812 +#: commands/define.c:389 commands/tablecmds.c:7811 #: replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 #: replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 #: replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 @@ -6741,15 +6746,15 @@ msgid "Generated columns cannot be used in COPY." msgstr "Generierte Spalten können nicht in COPY verwendet werden." #: commands/copy.c:784 commands/indexcmds.c:1826 commands/statscmds.c:243 -#: commands/tablecmds.c:2379 commands/tablecmds.c:3035 -#: commands/tablecmds.c:3529 parser/parse_relation.c:3660 -#: parser/parse_relation.c:3680 utils/adt/tsvector_op.c:2688 +#: commands/tablecmds.c:2375 commands/tablecmds.c:3031 +#: commands/tablecmds.c:3525 parser/parse_relation.c:3669 +#: parser/parse_relation.c:3689 utils/adt/tsvector_op.c:2688 #, c-format msgid "column \"%s\" does not exist" msgstr "Spalte »%s« existiert nicht" -#: commands/copy.c:791 commands/tablecmds.c:2405 commands/trigger.c:963 -#: parser/parse_target.c:1079 parser/parse_target.c:1090 +#: commands/copy.c:791 commands/tablecmds.c:2401 commands/trigger.c:963 +#: parser/parse_target.c:1093 parser/parse_target.c:1104 #, c-format msgid "column \"%s\" specified more than once" msgstr "Spalte »%s« mehrmals angegeben" @@ -7191,7 +7196,7 @@ msgstr "ungültige Datenbankerzeugungsstrategie »%s«" #: commands/dbcommands.c:1005 #, c-format -msgid "Valid strategies are \"wal_log\", and \"file_copy\"." +msgid "Valid strategies are \"wal_log\" and \"file_copy\"." msgstr "Gültige Strategien sind »wal_log« und »file_copy«." #: commands/dbcommands.c:1024 @@ -7508,7 +7513,7 @@ msgid "invalid argument for %s: \"%s\"" msgstr "ungültiges Argument für %s: »%s«" #: commands/dropcmds.c:100 commands/functioncmds.c:1394 -#: utils/adt/ruleutils.c:2928 +#: utils/adt/ruleutils.c:2926 #, c-format msgid "\"%s\" is an aggregate function" msgstr "»%s« ist eine Aggregatfunktion" @@ -7518,14 +7523,14 @@ msgstr "»%s« ist eine Aggregatfunktion" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Verwenden Sie DROP AGGREGATE, um Aggregatfunktionen zu löschen." -#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3613 -#: commands/tablecmds.c:3771 commands/tablecmds.c:3823 -#: commands/tablecmds.c:16495 tcop/utility.c:1332 +#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3609 +#: commands/tablecmds.c:3767 commands/tablecmds.c:3819 +#: commands/tablecmds.c:16537 tcop/utility.c:1332 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "Relation »%s« existiert nicht, wird übersprungen" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1278 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1274 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "Schema »%s« existiert nicht, wird übersprungen" @@ -8518,7 +8523,7 @@ msgstr "kann keine Indexe für temporäre Tabellen anderer Sitzungen erzeugen" msgid "cannot specify default tablespace for partitioned relations" msgstr "für partitionierte Relationen kann kein Standard-Tablespace angegeben werden" -#: commands/indexcmds.c:792 commands/tablecmds.c:816 commands/tablecmds.c:3312 +#: commands/indexcmds.c:792 commands/tablecmds.c:812 commands/tablecmds.c:3308 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "nur geteilte Relationen können in den Tablespace »pg_global« gelegt werden" @@ -8593,13 +8598,13 @@ msgstr "Tabelle »%s« enthält Partitionen, die Fremdtabellen sind." msgid "functions in index predicate must be marked IMMUTABLE" msgstr "Funktionen im Indexprädikat müssen als IMMUTABLE markiert sein" -#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2529 -#: parser/parse_utilcmd.c:2664 +#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2538 +#: parser/parse_utilcmd.c:2673 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "Spalte »%s«, die im Schlüssel verwendet wird, existiert nicht" -#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1826 +#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1835 #, c-format msgid "expressions are not supported in included columns" msgstr "in eingeschlossenen Spalten werden keine Ausdrücke unterstützt" @@ -8634,8 +8639,8 @@ msgstr "inkludierte Spalte unterstützt die Optionen NULLS FIRST/LAST nicht" msgid "could not determine which collation to use for index expression" msgstr "konnte die für den Indexausdruck zu verwendende Sortierfolge nicht bestimmen" -#: commands/indexcmds.c:1962 commands/tablecmds.c:17520 commands/typecmds.c:807 -#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3796 +#: commands/indexcmds.c:1962 commands/tablecmds.c:17557 commands/typecmds.c:807 +#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3805 #: utils/adt/misc.c:601 #, c-format msgid "collations are not supported by type %s" @@ -8671,8 +8676,8 @@ msgstr "Zugriffsmethode »%s« unterstützt die Optionen ASC/DESC nicht" msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "Zugriffsmethode »%s« unterstützt die Optionen NULLS FIRST/LAST nicht" -#: commands/indexcmds.c:2144 commands/tablecmds.c:17545 -#: commands/tablecmds.c:17551 commands/typecmds.c:2302 +#: commands/indexcmds.c:2144 commands/tablecmds.c:17582 +#: commands/tablecmds.c:17588 commands/typecmds.c:2302 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "Datentyp %s hat keine Standardoperatorklasse für Zugriffsmethode »%s«" @@ -9087,12 +9092,12 @@ msgid "operator attribute \"%s\" cannot be changed" msgstr "Operator-Attribut »%s« kann nicht geändert werden" #: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 -#: commands/tablecmds.c:1609 commands/tablecmds.c:2197 -#: commands/tablecmds.c:3423 commands/tablecmds.c:6312 -#: commands/tablecmds.c:9148 commands/tablecmds.c:17098 -#: commands/tablecmds.c:17133 commands/trigger.c:328 commands/trigger.c:1378 -#: commands/trigger.c:1488 rewrite/rewriteDefine.c:278 -#: rewrite/rewriteDefine.c:957 rewrite/rewriteRemove.c:80 +#: commands/tablecmds.c:1605 commands/tablecmds.c:2193 +#: commands/tablecmds.c:3419 commands/tablecmds.c:6308 +#: commands/tablecmds.c:9151 commands/tablecmds.c:17135 +#: commands/tablecmds.c:17170 commands/trigger.c:328 commands/trigger.c:1378 +#: commands/trigger.c:1488 rewrite/rewriteDefine.c:279 +#: rewrite/rewriteDefine.c:963 rewrite/rewriteRemove.c:80 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "keine Berechtigung: »%s« ist ein Systemkatalog" @@ -9529,8 +9534,8 @@ msgstr "Sequenz muss im selben Schema wie die verknüpfte Tabelle sein" msgid "cannot change ownership of identity sequence" msgstr "kann Eigentümer einer Identitätssequenz nicht ändern" -#: commands/sequence.c:1679 commands/tablecmds.c:13878 -#: commands/tablecmds.c:16515 +#: commands/sequence.c:1679 commands/tablecmds.c:13920 +#: commands/tablecmds.c:16557 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "Sequenz »%s« ist mit Tabelle »%s« verknüpft." @@ -9600,12 +9605,12 @@ msgstr "doppelter Spaltenname in Statistikdefinition" msgid "duplicate expression in statistics definition" msgstr "doppelter Ausdruck in Statistikdefinition" -#: commands/statscmds.c:620 commands/tablecmds.c:8116 +#: commands/statscmds.c:620 commands/tablecmds.c:8115 #, c-format msgid "statistics target %d is too low" msgstr "Statistikziel %d ist zu niedrig" -#: commands/statscmds.c:628 commands/tablecmds.c:8124 +#: commands/statscmds.c:628 commands/tablecmds.c:8123 #, c-format msgid "lowering statistics target to %d" msgstr "setze Statistikziel auf %d herab" @@ -9657,7 +9662,7 @@ msgid "must be superuser to create subscriptions" msgstr "nur Superuser können Subskriptionen erzeugen" #: commands/subscriptioncmds.c:648 commands/subscriptioncmds.c:776 -#: replication/logical/tablesync.c:1247 replication/logical/worker.c:3738 +#: replication/logical/tablesync.c:1254 replication/logical/worker.c:3738 #, c-format msgid "could not connect to the publisher: %s" msgstr "konnte nicht mit dem Publikationsserver verbinden: %s" @@ -9770,7 +9775,7 @@ msgstr "Der Eigentümer einer Subskription muss ein Superuser sein." msgid "could not receive list of replicated tables from the publisher: %s" msgstr "konnte Liste der replizierten Tabellen nicht vom Publikationsserver empfangen: %s" -#: commands/subscriptioncmds.c:1810 replication/logical/tablesync.c:819 +#: commands/subscriptioncmds.c:1810 replication/logical/tablesync.c:826 #: replication/pgoutput/pgoutput.c:1072 #, c-format msgid "cannot use different column lists for table \"%s.%s\" in different publications" @@ -9863,8 +9868,8 @@ msgstr "materialisierte Sicht »%s« existiert nicht, wird übersprungen" msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Verwenden Sie DROP MATERIALIZED VIEW, um eine materialisierte Sicht zu löschen." -#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19027 -#: parser/parse_utilcmd.c:2261 +#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19064 +#: parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not exist" msgstr "Index »%s« existiert nicht" @@ -9887,8 +9892,8 @@ msgstr "»%s« ist kein Typ" msgid "Use DROP TYPE to remove a type." msgstr "Verwenden Sie DROP TYPE, um einen Typen zu löschen." -#: commands/tablecmds.c:281 commands/tablecmds.c:13717 -#: commands/tablecmds.c:16218 +#: commands/tablecmds.c:281 commands/tablecmds.c:13759 +#: commands/tablecmds.c:16260 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "Fremdtabelle »%s« existiert nicht" @@ -9912,120 +9917,120 @@ msgstr "ON COMMIT kann nur mit temporären Tabellen verwendet werden" msgid "cannot create temporary table within security-restricted operation" msgstr "kann temporäre Tabelle nicht in einer sicherheitsbeschränkten Operation erzeugen" -#: commands/tablecmds.c:764 commands/tablecmds.c:15025 +#: commands/tablecmds.c:764 commands/tablecmds.c:15067 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "von der Relation »%s« würde mehrmals geerbt werden" -#: commands/tablecmds.c:949 +#: commands/tablecmds.c:945 #, c-format msgid "specifying a table access method is not supported on a partitioned table" msgstr "Angabe einer Tabellenzugriffsmethode wird für partitionierte Tabellen nicht unterstützt" -#: commands/tablecmds.c:1042 +#: commands/tablecmds.c:1038 #, c-format msgid "\"%s\" is not partitioned" msgstr "»%s« ist nicht partitioniert" -#: commands/tablecmds.c:1137 +#: commands/tablecmds.c:1133 #, c-format msgid "cannot partition using more than %d columns" msgstr "Partitionierung kann nicht mehr als %d Spalten verwenden" -#: commands/tablecmds.c:1193 +#: commands/tablecmds.c:1189 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "kann keine Fremdpartition der partitionierten Tabelle »%s« erzeugen" -#: commands/tablecmds.c:1195 +#: commands/tablecmds.c:1191 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Tabelle »%s« enthält Unique Indexe." -#: commands/tablecmds.c:1358 +#: commands/tablecmds.c:1354 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY unterstützt das Löschen von mehreren Objekten nicht" -#: commands/tablecmds.c:1362 +#: commands/tablecmds.c:1358 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY unterstützt kein CASCADE" -#: commands/tablecmds.c:1466 +#: commands/tablecmds.c:1462 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "kann partitionierten Index »%s« nicht nebenläufig löschen" -#: commands/tablecmds.c:1754 +#: commands/tablecmds.c:1750 #, c-format msgid "cannot truncate only a partitioned table" msgstr "kann nicht nur eine partitionierte Tabelle leeren" -#: commands/tablecmds.c:1755 +#: commands/tablecmds.c:1751 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "Lassen Sie das Schlüsselwort ONLY weg oder wenden Sie TRUNCATE ONLY direkt auf die Partitionen an." -#: commands/tablecmds.c:1827 +#: commands/tablecmds.c:1823 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "Truncate-Vorgang leert ebenfalls Tabelle »%s«" -#: commands/tablecmds.c:2177 +#: commands/tablecmds.c:2173 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht leeren" -#: commands/tablecmds.c:2234 +#: commands/tablecmds.c:2230 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht leeren" -#: commands/tablecmds.c:2462 commands/tablecmds.c:14922 +#: commands/tablecmds.c:2458 commands/tablecmds.c:14964 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "von partitionierter Tabelle »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2467 +#: commands/tablecmds.c:2463 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "von Partition »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2475 parser/parse_utilcmd.c:2491 -#: parser/parse_utilcmd.c:2633 +#: commands/tablecmds.c:2471 parser/parse_utilcmd.c:2500 +#: parser/parse_utilcmd.c:2642 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "geerbte Relation »%s« ist keine Tabelle oder Fremdtabelle" -#: commands/tablecmds.c:2487 +#: commands/tablecmds.c:2483 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "eine temporäre Relation kann nicht als Partition der permanenten Relation »%s« erzeugt werden" -#: commands/tablecmds.c:2496 commands/tablecmds.c:14901 +#: commands/tablecmds.c:2492 commands/tablecmds.c:14943 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "von temporärer Relation »%s« kann nicht geerbt werden" -#: commands/tablecmds.c:2506 commands/tablecmds.c:14909 +#: commands/tablecmds.c:2502 commands/tablecmds.c:14951 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "von temporärer Relation einer anderen Sitzung kann nicht geerbt werden" -#: commands/tablecmds.c:2560 +#: commands/tablecmds.c:2556 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "geerbte Definitionen von Spalte »%s« werden zusammengeführt" -#: commands/tablecmds.c:2568 +#: commands/tablecmds.c:2564 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "geerbte Spalte »%s« hat Typkonflikt" -#: commands/tablecmds.c:2570 commands/tablecmds.c:2593 -#: commands/tablecmds.c:2610 commands/tablecmds.c:2866 -#: commands/tablecmds.c:2896 commands/tablecmds.c:2910 +#: commands/tablecmds.c:2566 commands/tablecmds.c:2589 +#: commands/tablecmds.c:2606 commands/tablecmds.c:2862 +#: commands/tablecmds.c:2892 commands/tablecmds.c:2906 #: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 #: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 #: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 @@ -10036,1219 +10041,1230 @@ msgstr "geerbte Spalte »%s« hat Typkonflikt" msgid "%s versus %s" msgstr "%s gegen %s" -#: commands/tablecmds.c:2579 +#: commands/tablecmds.c:2575 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "geerbte Spalte »%s« hat Sortierfolgenkonflikt" -#: commands/tablecmds.c:2581 commands/tablecmds.c:2878 -#: commands/tablecmds.c:6792 +#: commands/tablecmds.c:2577 commands/tablecmds.c:2874 +#: commands/tablecmds.c:6791 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "»%s« gegen »%s«" -#: commands/tablecmds.c:2591 +#: commands/tablecmds.c:2587 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "geerbte Spalte »%s« hat einen Konflikt bei einem Storage-Parameter" -#: commands/tablecmds.c:2608 commands/tablecmds.c:2908 +#: commands/tablecmds.c:2604 commands/tablecmds.c:2904 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "für Spalte »%s« besteht ein Komprimierungsmethodenkonflikt" -#: commands/tablecmds.c:2623 +#: commands/tablecmds.c:2619 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "geerbte Spalte »%s« hat einen Generierungskonflikt" -#: commands/tablecmds.c:2717 commands/tablecmds.c:2772 -#: commands/tablecmds.c:12441 parser/parse_utilcmd.c:1302 -#: parser/parse_utilcmd.c:1345 parser/parse_utilcmd.c:1754 -#: parser/parse_utilcmd.c:1862 +#: commands/tablecmds.c:2713 commands/tablecmds.c:2768 +#: commands/tablecmds.c:12450 parser/parse_utilcmd.c:1311 +#: parser/parse_utilcmd.c:1354 parser/parse_utilcmd.c:1763 +#: parser/parse_utilcmd.c:1871 #, c-format msgid "cannot convert whole-row table reference" msgstr "kann Verweis auf ganze Zeile der Tabelle nicht umwandeln" -#: commands/tablecmds.c:2718 parser/parse_utilcmd.c:1303 +#: commands/tablecmds.c:2714 parser/parse_utilcmd.c:1312 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Generierungsausdruck für Spalte »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«." -#: commands/tablecmds.c:2773 parser/parse_utilcmd.c:1346 +#: commands/tablecmds.c:2769 parser/parse_utilcmd.c:1355 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Constraint »%s« enthält einen Verweis auf die ganze Zeile der Tabelle »%s«." -#: commands/tablecmds.c:2852 +#: commands/tablecmds.c:2848 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "Spalte »%s« wird mit geerbter Definition zusammengeführt" -#: commands/tablecmds.c:2856 +#: commands/tablecmds.c:2852 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "Spalte »%s« wird verschoben und mit geerbter Definition zusammengeführt" -#: commands/tablecmds.c:2857 +#: commands/tablecmds.c:2853 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "Benutzerdefinierte Spalte wurde auf die Position der geerbten Spalte verschoben." -#: commands/tablecmds.c:2864 +#: commands/tablecmds.c:2860 #, c-format msgid "column \"%s\" has a type conflict" msgstr "für Spalte »%s« besteht ein Typkonflikt" -#: commands/tablecmds.c:2876 +#: commands/tablecmds.c:2872 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "für Spalte »%s« besteht ein Sortierfolgenkonflikt" -#: commands/tablecmds.c:2894 +#: commands/tablecmds.c:2890 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "für Spalte »%s« besteht ein Konflikt bei einem Storage-Parameter" -#: commands/tablecmds.c:2935 +#: commands/tablecmds.c:2931 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "abgeleitete Spalte »%s« gibt einen Generierungsausdruck an" -#: commands/tablecmds.c:2937 +#: commands/tablecmds.c:2933 #, c-format msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table." msgstr "Lassen Sie den Generierungsausdruck in der Definition der abgeleiteten Spalte weg, um den Generierungsausdruck der Elterntabelle zu erben." -#: commands/tablecmds.c:2941 +#: commands/tablecmds.c:2937 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "Spalte »%s« erbt von einer generierten Spalte aber hat einen Vorgabewert angegeben" -#: commands/tablecmds.c:2946 +#: commands/tablecmds.c:2942 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "Spalte »%s« erbt von einer generierten Spalte aber ist als Identitätsspalte definiert" -#: commands/tablecmds.c:3055 +#: commands/tablecmds.c:3051 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "Spalte »%s« erbt widersprüchliche Generierungsausdrücke" -#: commands/tablecmds.c:3060 +#: commands/tablecmds.c:3056 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "Spalte »%s« erbt widersprüchliche Vorgabewerte" -#: commands/tablecmds.c:3062 +#: commands/tablecmds.c:3058 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Um den Konflikt zu lösen, geben Sie einen Vorgabewert ausdrücklich an." -#: commands/tablecmds.c:3108 +#: commands/tablecmds.c:3104 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "Check-Constraint-Name »%s« erscheint mehrmals, aber mit unterschiedlichen Ausdrücken" -#: commands/tablecmds.c:3321 +#: commands/tablecmds.c:3317 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "temporäre Tabellen anderer Sitzungen können nicht verschoben werden" -#: commands/tablecmds.c:3391 +#: commands/tablecmds.c:3387 #, c-format msgid "cannot rename column of typed table" msgstr "Spalte einer getypten Tabelle kann nicht umbenannt werden" -#: commands/tablecmds.c:3410 +#: commands/tablecmds.c:3406 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "Spalten von Relation »%s« können nicht umbenannt werden" -#: commands/tablecmds.c:3505 +#: commands/tablecmds.c:3501 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "vererbte Spalte »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden" -#: commands/tablecmds.c:3537 +#: commands/tablecmds.c:3533 #, c-format msgid "cannot rename system column \"%s\"" msgstr "Systemspalte »%s« kann nicht umbenannt werden" -#: commands/tablecmds.c:3552 +#: commands/tablecmds.c:3548 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht umbenennen" -#: commands/tablecmds.c:3704 +#: commands/tablecmds.c:3700 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "vererbter Constraint »%s« muss ebenso in den abgeleiteten Tabellen umbenannt werden" -#: commands/tablecmds.c:3711 +#: commands/tablecmds.c:3707 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "kann vererbten Constraint »%s« nicht umbenennen" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4008 +#: commands/tablecmds.c:4004 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "%s mit Relation »%s« nicht möglich, weil sie von aktiven Anfragen in dieser Sitzung verwendet wird" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4017 +#: commands/tablecmds.c:4013 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "%s mit Relation »%s« nicht möglich, weil es anstehende Trigger-Ereignisse dafür gibt" -#: commands/tablecmds.c:4486 +#: commands/tablecmds.c:4482 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "kann Partition »%s« mit einer unvollständigen Abtrennoperation nicht ändern" -#: commands/tablecmds.c:4679 commands/tablecmds.c:4694 +#: commands/tablecmds.c:4675 commands/tablecmds.c:4690 #, c-format msgid "cannot change persistence setting twice" msgstr "Persistenzeinstellung kann nicht zweimal geändert werden" -#: commands/tablecmds.c:4715 +#: commands/tablecmds.c:4711 #, c-format msgid "cannot change access method of a partitioned table" msgstr "Zugriffsmethode einer partitionierten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:4721 +#: commands/tablecmds.c:4717 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "mehrere SET ACCESS METHOD Unterbefehle sind ungültig" -#: commands/tablecmds.c:5476 +#: commands/tablecmds.c:5472 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "Systemrelation »%s« kann nicht neu geschrieben werden" -#: commands/tablecmds.c:5482 +#: commands/tablecmds.c:5478 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "Tabelle »%s«, die als Katalogtabelle verwendet wird, kann nicht neu geschrieben werden" -#: commands/tablecmds.c:5492 +#: commands/tablecmds.c:5488 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "kann temporäre Tabellen anderer Sitzungen nicht neu schreiben" -#: commands/tablecmds.c:5986 +#: commands/tablecmds.c:5982 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "Spalte »%s« von Relation »%s« enthält NULL-Werte" -#: commands/tablecmds.c:6003 +#: commands/tablecmds.c:5999 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "Check-Constraint »%s« von Relation »%s« wird von irgendeiner Zeile verletzt" -#: commands/tablecmds.c:6022 partitioning/partbounds.c:3404 +#: commands/tablecmds.c:6018 partitioning/partbounds.c:3404 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "aktualisierter Partitions-Constraint der Standardpartition »%s« würde von irgendeiner Zeile verletzt werden" -#: commands/tablecmds.c:6028 +#: commands/tablecmds.c:6024 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "Partitions-Constraint von Relation »%s« wird von irgendeiner Zeile verletzt" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6295 +#: commands/tablecmds.c:6291 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "ALTER-Aktion %s kann nicht mit Relation »%s« ausgeführt werden" -#: commands/tablecmds.c:6550 commands/tablecmds.c:6557 +#: commands/tablecmds.c:6546 commands/tablecmds.c:6553 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "kann Typ »%s« nicht ändern, weil Spalte »%s.%s« ihn verwendet" -#: commands/tablecmds.c:6564 +#: commands/tablecmds.c:6560 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kann Fremdtabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet" -#: commands/tablecmds.c:6571 +#: commands/tablecmds.c:6567 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "kann Tabelle »%s« nicht ändern, weil Spalte »%s.%s« ihren Zeilentyp verwendet" -#: commands/tablecmds.c:6627 +#: commands/tablecmds.c:6623 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "kann Typ »%s« nicht ändern, weil er der Typ einer getypten Tabelle ist" -#: commands/tablecmds.c:6629 +#: commands/tablecmds.c:6625 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Verwenden Sie ALTER ... CASCADE, um die getypten Tabellen ebenfalls zu ändern." -#: commands/tablecmds.c:6675 +#: commands/tablecmds.c:6671 #, c-format msgid "type %s is not a composite type" msgstr "Typ %s ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:6702 +#: commands/tablecmds.c:6698 #, c-format msgid "cannot add column to typed table" msgstr "zu einer getypten Tabelle kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:6755 +#: commands/tablecmds.c:6754 #, c-format msgid "cannot add column to a partition" msgstr "zu einer Partition kann keine Spalte hinzugefügt werden" -#: commands/tablecmds.c:6784 commands/tablecmds.c:15152 +#: commands/tablecmds.c:6783 commands/tablecmds.c:15194 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" -#: commands/tablecmds.c:6790 commands/tablecmds.c:15159 +#: commands/tablecmds.c:6789 commands/tablecmds.c:15201 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Sortierfolge für Spalte »%s«" -#: commands/tablecmds.c:6804 +#: commands/tablecmds.c:6803 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "Definition von Spalte »%s« für abgeleitete Tabelle »%s« wird zusammengeführt" -#: commands/tablecmds.c:6851 +#: commands/tablecmds.c:6850 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "eine Identitätsspalte kann nicht rekursiv zu einer Tabelle hinzugefügt werden, die abgeleitete Tabellen hat" -#: commands/tablecmds.c:7095 +#: commands/tablecmds.c:7094 #, c-format msgid "column must be added to child tables too" msgstr "Spalte muss ebenso in den abgeleiteten Tabellen hinzugefügt werden" -#: commands/tablecmds.c:7173 +#: commands/tablecmds.c:7172 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "Spalte »%s« von Relation »%s« existiert bereits, wird übersprungen" -#: commands/tablecmds.c:7180 +#: commands/tablecmds.c:7179 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "Spalte »%s« von Relation »%s« existiert bereits" -#: commands/tablecmds.c:7246 commands/tablecmds.c:12080 +#: commands/tablecmds.c:7245 commands/tablecmds.c:12089 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "Constraint kann nicht nur von der partitionierten Tabelle entfernt werden, wenn Partitionen existieren" -#: commands/tablecmds.c:7247 commands/tablecmds.c:7564 -#: commands/tablecmds.c:8561 commands/tablecmds.c:12081 +#: commands/tablecmds.c:7246 commands/tablecmds.c:7563 +#: commands/tablecmds.c:8564 commands/tablecmds.c:12090 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Lassen Sie das Schlüsselwort ONLY weg." -#: commands/tablecmds.c:7284 commands/tablecmds.c:7490 -#: commands/tablecmds.c:7632 commands/tablecmds.c:7746 -#: commands/tablecmds.c:7840 commands/tablecmds.c:7899 -#: commands/tablecmds.c:8018 commands/tablecmds.c:8157 -#: commands/tablecmds.c:8227 commands/tablecmds.c:8383 -#: commands/tablecmds.c:12235 commands/tablecmds.c:13740 -#: commands/tablecmds.c:16309 +#: commands/tablecmds.c:7283 commands/tablecmds.c:7489 +#: commands/tablecmds.c:7631 commands/tablecmds.c:7745 +#: commands/tablecmds.c:7839 commands/tablecmds.c:7898 +#: commands/tablecmds.c:8017 commands/tablecmds.c:8156 +#: commands/tablecmds.c:8226 commands/tablecmds.c:8382 +#: commands/tablecmds.c:12244 commands/tablecmds.c:13782 +#: commands/tablecmds.c:16351 #, c-format msgid "cannot alter system column \"%s\"" msgstr "Systemspalte »%s« kann nicht geändert werden" -#: commands/tablecmds.c:7290 commands/tablecmds.c:7638 +#: commands/tablecmds.c:7289 commands/tablecmds.c:7637 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "Spalte »%s« von Relation »%s« ist eine Identitätsspalte" -#: commands/tablecmds.c:7333 +#: commands/tablecmds.c:7332 #, c-format msgid "column \"%s\" is in a primary key" msgstr "Spalte »%s« ist in einem Primärschlüssel" -#: commands/tablecmds.c:7338 +#: commands/tablecmds.c:7337 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "Spalte »%s« ist in einem Index, der als Replik-Identität verwendet wird" -#: commands/tablecmds.c:7361 +#: commands/tablecmds.c:7360 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "Spalte »%s« ist in Elterntabelle als NOT NULL markiert" -#: commands/tablecmds.c:7561 commands/tablecmds.c:9044 +#: commands/tablecmds.c:7560 commands/tablecmds.c:9047 #, c-format msgid "constraint must be added to child tables too" msgstr "Constraint muss ebenso in den abgeleiteten Tabellen hinzugefügt werden" -#: commands/tablecmds.c:7562 +#: commands/tablecmds.c:7561 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Spalte »%s« von Relation »%s« ist nicht bereits NOT NULL." -#: commands/tablecmds.c:7640 +#: commands/tablecmds.c:7639 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." msgstr "Verwenden Sie stattdessen ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY." -#: commands/tablecmds.c:7645 +#: commands/tablecmds.c:7644 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "Spalte »%s« von Relation »%s« ist eine generierte Spalte" -#: commands/tablecmds.c:7648 +#: commands/tablecmds.c:7647 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." msgstr "Verwenden Sie stattdessen ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION." -#: commands/tablecmds.c:7757 +#: commands/tablecmds.c:7756 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "Spalte »%s« von Relation »%s« muss als NOT NULL deklariert werden, bevor Sie Identitätsspalte werden kann" -#: commands/tablecmds.c:7763 +#: commands/tablecmds.c:7762 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "Spalte »%s« von Relation »%s« ist bereits eine Identitätsspalte" -#: commands/tablecmds.c:7769 +#: commands/tablecmds.c:7768 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "Spalte »%s« von Relation »%s« hat bereits einen Vorgabewert" -#: commands/tablecmds.c:7846 commands/tablecmds.c:7907 +#: commands/tablecmds.c:7845 commands/tablecmds.c:7906 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte" -#: commands/tablecmds.c:7912 +#: commands/tablecmds.c:7911 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "Spalte »%s« von Relation »%s« ist keine Identitätsspalte, wird übersprungen" -#: commands/tablecmds.c:7965 +#: commands/tablecmds.c:7964 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION muss auch auf abgeleitete Tabellen angewendet werden" -#: commands/tablecmds.c:7987 +#: commands/tablecmds.c:7986 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "Generierungsausdruck von vererbter Spalte kann nicht gelöscht werden" -#: commands/tablecmds.c:8026 +#: commands/tablecmds.c:8025 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte" -#: commands/tablecmds.c:8031 +#: commands/tablecmds.c:8030 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "Spalte »%s« von Relation »%s« ist keine gespeicherte generierte Spalte, wird übersprungen" -#: commands/tablecmds.c:8104 +#: commands/tablecmds.c:8103 #, c-format msgid "cannot refer to non-index column by number" msgstr "auf eine Nicht-Index-Spalte kann nicht per Nummer verwiesen werden" -#: commands/tablecmds.c:8147 +#: commands/tablecmds.c:8146 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "Spalte Nummer %d von Relation »%s« existiert nicht" -#: commands/tablecmds.c:8166 +#: commands/tablecmds.c:8165 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "Statistiken von eingeschlossener Spalte »%s« von Index »%s« können nicht geändert werden" -#: commands/tablecmds.c:8171 +#: commands/tablecmds.c:8170 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "kann Statistiken von Spalte »%s« von Index »%s«, welche kein Ausdruck ist, nicht ändern" -#: commands/tablecmds.c:8173 +#: commands/tablecmds.c:8172 #, c-format msgid "Alter statistics on table column instead." msgstr "Ändern Sie stattdessen die Statistiken für die Tabellenspalte." -#: commands/tablecmds.c:8363 +#: commands/tablecmds.c:8362 #, c-format msgid "invalid storage type \"%s\"" msgstr "ungültiger Storage-Typ »%s«" -#: commands/tablecmds.c:8395 +#: commands/tablecmds.c:8394 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "Spaltendatentyp %s kann nur Storage-Typ PLAIN" -#: commands/tablecmds.c:8440 +#: commands/tablecmds.c:8439 #, c-format msgid "cannot drop column from typed table" msgstr "aus einer getypten Tabelle können keine Spalten gelöscht werden" -#: commands/tablecmds.c:8499 +#: commands/tablecmds.c:8502 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Spalte »%s« von Relation »%s« existiert nicht, wird übersprungen" -#: commands/tablecmds.c:8512 +#: commands/tablecmds.c:8515 #, c-format msgid "cannot drop system column \"%s\"" msgstr "Systemspalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:8522 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "geerbte Spalte »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:8535 +#: commands/tablecmds.c:8538 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "Spalte »%s« kann nicht gelöscht werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist" -#: commands/tablecmds.c:8560 +#: commands/tablecmds.c:8563 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "Spalte kann nicht nur aus der partitionierten Tabelle gelöscht werden, wenn Partitionen existieren" -#: commands/tablecmds.c:8764 +#: commands/tablecmds.c:8767 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX wird für partitionierte Tabellen nicht unterstützt" -#: commands/tablecmds.c:8789 +#: commands/tablecmds.c:8792 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX benennt Index »%s« um in »%s«" -#: commands/tablecmds.c:9126 +#: commands/tablecmds.c:9129 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "ONLY nicht möglich für Fremdschlüssel für partitionierte Tabelle »%s« verweisend auf Relation »%s«" -#: commands/tablecmds.c:9132 +#: commands/tablecmds.c:9135 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "Hinzufügen von Fremdschlüssel mit NOT VALID nicht möglich für partitionierte Tabelle »%s« verweisend auf Relation »%s«" -#: commands/tablecmds.c:9135 +#: commands/tablecmds.c:9138 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Dieses Feature wird für partitionierte Tabellen noch nicht unterstützt." -#: commands/tablecmds.c:9142 commands/tablecmds.c:9608 +#: commands/tablecmds.c:9145 commands/tablecmds.c:9611 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "Relation »%s«, auf die verwiesen wird, ist keine Tabelle" -#: commands/tablecmds.c:9165 +#: commands/tablecmds.c:9168 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "Constraints für permanente Tabellen dürfen nur auf permanente Tabellen verweisen" -#: commands/tablecmds.c:9172 +#: commands/tablecmds.c:9175 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "Constraints für ungeloggte Tabellen dürfen nur auf permanente oder ungeloggte Tabellen verweisen" -#: commands/tablecmds.c:9178 +#: commands/tablecmds.c:9181 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "Constraints für temporäre Tabellen dürfen nur auf temporäre Tabellen verweisen" -#: commands/tablecmds.c:9182 +#: commands/tablecmds.c:9185 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "Constraints für temporäre Tabellen müssen temporäre Tabellen dieser Sitzung beinhalten" -#: commands/tablecmds.c:9256 commands/tablecmds.c:9262 +#: commands/tablecmds.c:9259 commands/tablecmds.c:9265 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "ungültige %s-Aktion für Fremdschlüssel-Constraint, der eine generierte Spalte enthält" -#: commands/tablecmds.c:9278 +#: commands/tablecmds.c:9281 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "Anzahl der Quell- und Zielspalten im Fremdschlüssel stimmt nicht überein" -#: commands/tablecmds.c:9385 +#: commands/tablecmds.c:9388 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "Fremdschlüssel-Constraint »%s« kann nicht implementiert werden" -#: commands/tablecmds.c:9387 +#: commands/tablecmds.c:9390 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Schlüsselspalten »%s« und »%s« haben inkompatible Typen: %s und %s." -#: commands/tablecmds.c:9544 +#: commands/tablecmds.c:9547 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "Spalte »%s«, auf die in der ON-DELETE-SET-Aktion verwiesen wird, muss Teil des Fremdschlüssels sein" -#: commands/tablecmds.c:9817 commands/tablecmds.c:10285 -#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:925 +#: commands/tablecmds.c:9820 commands/tablecmds.c:10288 +#: parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:934 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "Fremdschlüssel-Constraints auf Fremdtabellen werden nicht unterstützt" -#: commands/tablecmds.c:10837 commands/tablecmds.c:11115 -#: commands/tablecmds.c:12037 commands/tablecmds.c:12112 +#: commands/tablecmds.c:10840 commands/tablecmds.c:11121 +#: commands/tablecmds.c:12046 commands/tablecmds.c:12121 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "Constraint »%s« von Relation »%s« existiert nicht" -#: commands/tablecmds.c:10844 +#: commands/tablecmds.c:10847 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel-Constraint" -#: commands/tablecmds.c:10882 +#: commands/tablecmds.c:10885 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "Constraint »%s« von Relation »%s« kann nicht geändert werden" -#: commands/tablecmds.c:10885 +#: commands/tablecmds.c:10888 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "Constraint »%s« ist von Constraint »%s« von Relation »%s« abgeleitet." -#: commands/tablecmds.c:10887 +#: commands/tablecmds.c:10890 #, c-format msgid "You may alter the constraint it derives from, instead." msgstr "Sie können stattdessen den Constraint, von dem er abgeleitet ist, ändern." -#: commands/tablecmds.c:11123 +#: commands/tablecmds.c:11129 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "Constraint »%s« von Relation »%s« ist kein Fremdschlüssel- oder Check-Constraint" -#: commands/tablecmds.c:11201 +#: commands/tablecmds.c:11207 #, c-format msgid "constraint must be validated on child tables too" msgstr "Constraint muss ebenso in den abgeleiteten Tabellen validiert werden" -#: commands/tablecmds.c:11291 +#: commands/tablecmds.c:11297 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "Spalte »%s«, die im Fremdschlüssel verwendet wird, existiert nicht" -#: commands/tablecmds.c:11297 +#: commands/tablecmds.c:11303 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "Systemspalten können nicht in Fremdschlüsseln verwendet werden" -#: commands/tablecmds.c:11301 +#: commands/tablecmds.c:11307 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "Fremdschlüssel kann nicht mehr als %d Schlüssel haben" -#: commands/tablecmds.c:11367 +#: commands/tablecmds.c:11373 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "aufschiebbarer Primärschlüssel kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden" -#: commands/tablecmds.c:11384 +#: commands/tablecmds.c:11390 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Primärschlüssel" -#: commands/tablecmds.c:11453 +#: commands/tablecmds.c:11459 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "die Liste der Spalten, auf die ein Fremdschlüssel verweist, darf keine doppelten Einträge enthalten" -#: commands/tablecmds.c:11547 +#: commands/tablecmds.c:11553 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "aufschiebbarer Unique-Constraint kann nicht für Tabelle »%s«, auf die verwiesen wird, verwendet werden" -#: commands/tablecmds.c:11552 +#: commands/tablecmds.c:11558 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "in Tabelle »%s«, auf die verwiesen wird, gibt es keinen Unique-Constraint, der auf die angegebenen Schlüssel passt" -#: commands/tablecmds.c:11993 +#: commands/tablecmds.c:12002 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "geerbter Constraint »%s« von Relation »%s« kann nicht gelöscht werden" -#: commands/tablecmds.c:12043 +#: commands/tablecmds.c:12052 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Constraint »%s« von Relation »%s« existiert nicht, wird übersprungen" -#: commands/tablecmds.c:12219 +#: commands/tablecmds.c:12228 #, c-format msgid "cannot alter column type of typed table" msgstr "Spaltentyp einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:12246 +#: commands/tablecmds.c:12255 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "kann vererbte Spalte »%s« nicht ändern" -#: commands/tablecmds.c:12255 +#: commands/tablecmds.c:12264 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "Spalte »%s« kann nicht geändert werden, weil sie Teil des Partitionierungsschlüssels von Relation »%s« ist" -#: commands/tablecmds.c:12305 +#: commands/tablecmds.c:12314 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "Ergebnis der USING-Klausel für Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:12308 +#: commands/tablecmds.c:12317 #, c-format msgid "You might need to add an explicit cast." msgstr "Sie müssen möglicherweise eine ausdrückliche Typumwandlung hinzufügen." -#: commands/tablecmds.c:12312 +#: commands/tablecmds.c:12321 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12315 +#: commands/tablecmds.c:12324 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Sie müssen möglicherweise »USING %s::%s« angeben." -#: commands/tablecmds.c:12414 +#: commands/tablecmds.c:12423 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "geerbte Spalte »%s« von Relation »%s« kann nicht geändert werden" -#: commands/tablecmds.c:12442 +#: commands/tablecmds.c:12451 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USING-Ausdruck enthält einen Verweis auf die ganze Zeile der Tabelle." -#: commands/tablecmds.c:12453 +#: commands/tablecmds.c:12462 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "Typ der vererbten Spalte »%s« muss ebenso in den abgeleiteten Tabellen geändert werden" -#: commands/tablecmds.c:12578 +#: commands/tablecmds.c:12587 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "Typ der Spalte »%s« kann nicht zweimal geändert werden" -#: commands/tablecmds.c:12616 +#: commands/tablecmds.c:12625 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "Generierungsausdruck der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:12621 +#: commands/tablecmds.c:12630 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "Vorgabewert der Spalte »%s« kann nicht automatisch in Typ %s umgewandelt werden" -#: commands/tablecmds.c:12702 +#: commands/tablecmds.c:12718 #, c-format -msgid "cannot alter type of a column used by a view or rule" -msgstr "Typ einer Spalte, die von einer Sicht oder Regel verwendet wird, kann nicht geändert werden" +msgid "cannot alter type of a column used by a function or procedure" +msgstr "Typ einer Spalte, die von einer Funktion oder Prozedur verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:12703 commands/tablecmds.c:12722 -#: commands/tablecmds.c:12740 +#: commands/tablecmds.c:12719 commands/tablecmds.c:12733 +#: commands/tablecmds.c:12752 commands/tablecmds.c:12770 +#: commands/tablecmds.c:12828 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s hängt von Spalte »%s« ab" -#: commands/tablecmds.c:12721 +#: commands/tablecmds.c:12732 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "Typ einer Spalte, die von einer Sicht oder Regel verwendet wird, kann nicht geändert werden" + +#: commands/tablecmds.c:12751 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "Typ einer Spalte, die in einer Trigger-Definition verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:12739 +#: commands/tablecmds.c:12769 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "Typ einer Spalte, die in einer Policy-Definition verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:12770 +#: commands/tablecmds.c:12800 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "Typ einer Spalte, die von einer generierten Spalte verwendet wird, kann nicht geändert werden" -#: commands/tablecmds.c:12771 +#: commands/tablecmds.c:12801 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Spalte »%s« wird von generierter Spalte »%s« verwendet." -#: commands/tablecmds.c:13848 commands/tablecmds.c:13860 +#: commands/tablecmds.c:12827 +#, c-format +msgid "cannot alter type of a column used by a publication WHERE clause" +msgstr "Typ einer Spalte, die in der WHERE-Klausel einer Publikation verwendet wird, kann nicht geändert werden" + +#: commands/tablecmds.c:13890 commands/tablecmds.c:13902 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "kann Eigentümer des Index »%s« nicht ändern" -#: commands/tablecmds.c:13850 commands/tablecmds.c:13862 +#: commands/tablecmds.c:13892 commands/tablecmds.c:13904 #, c-format msgid "Change the ownership of the index's table, instead." msgstr "Ändern Sie stattdessen den Eigentümer der Tabelle des Index." -#: commands/tablecmds.c:13876 +#: commands/tablecmds.c:13918 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "kann Eigentümer der Sequenz »%s« nicht ändern" -#: commands/tablecmds.c:13890 commands/tablecmds.c:17209 -#: commands/tablecmds.c:17228 +#: commands/tablecmds.c:13932 commands/tablecmds.c:17246 +#: commands/tablecmds.c:17265 #, c-format msgid "Use ALTER TYPE instead." msgstr "Verwenden Sie stattdessen ALTER TYPE." -#: commands/tablecmds.c:13899 +#: commands/tablecmds.c:13941 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "kann Eigentümer der Relation »%s« nicht ändern" -#: commands/tablecmds.c:14261 +#: commands/tablecmds.c:14303 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "mehrere SET TABLESPACE Unterbefehle sind ungültig" -#: commands/tablecmds.c:14338 +#: commands/tablecmds.c:14380 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "für Relation »%s« können keine Optionen gesetzt werden" -#: commands/tablecmds.c:14372 commands/view.c:521 +#: commands/tablecmds.c:14414 commands/view.c:521 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION wird nur für automatisch aktualisierbare Sichten unterstützt" -#: commands/tablecmds.c:14622 +#: commands/tablecmds.c:14664 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "nur Tabellen, Indexe und materialisierte Sichten existieren in Tablespaces" -#: commands/tablecmds.c:14634 +#: commands/tablecmds.c:14676 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "Relationen können nicht in den oder aus dem Tablespace »pg_global« verschoben werden" -#: commands/tablecmds.c:14726 +#: commands/tablecmds.c:14768 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "Abbruch weil Sperre für Relation »%s.%s« nicht verfügbar ist" -#: commands/tablecmds.c:14742 +#: commands/tablecmds.c:14784 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "keine passenden Relationen in Tablespace »%s« gefunden" -#: commands/tablecmds.c:14860 +#: commands/tablecmds.c:14902 #, c-format msgid "cannot change inheritance of typed table" msgstr "Vererbung einer getypten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:14865 commands/tablecmds.c:15421 +#: commands/tablecmds.c:14907 commands/tablecmds.c:15463 #, c-format msgid "cannot change inheritance of a partition" msgstr "Vererbung einer Partition kann nicht geändert werden" -#: commands/tablecmds.c:14870 +#: commands/tablecmds.c:14912 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "Vererbung einer partitionierten Tabelle kann nicht geändert werden" -#: commands/tablecmds.c:14916 +#: commands/tablecmds.c:14958 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "an temporäre Relation einer anderen Sitzung kann nicht vererbt werden" -#: commands/tablecmds.c:14929 +#: commands/tablecmds.c:14971 #, c-format msgid "cannot inherit from a partition" msgstr "von einer Partition kann nicht geerbt werden" -#: commands/tablecmds.c:14951 commands/tablecmds.c:17864 +#: commands/tablecmds.c:14993 commands/tablecmds.c:17901 #, c-format msgid "circular inheritance not allowed" msgstr "zirkuläre Vererbung ist nicht erlaubt" -#: commands/tablecmds.c:14952 commands/tablecmds.c:17865 +#: commands/tablecmds.c:14994 commands/tablecmds.c:17902 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "»%s« ist schon von »%s« abgeleitet." -#: commands/tablecmds.c:14965 +#: commands/tablecmds.c:15007 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "Trigger »%s« verhindert, dass Tabelle »%s« ein Vererbungskind werden kann" -#: commands/tablecmds.c:14967 +#: commands/tablecmds.c:15009 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "ROW-Trigger mit Ãœbergangstabellen werden in Vererbungshierarchien nicht unterstützt." -#: commands/tablecmds.c:15170 +#: commands/tablecmds.c:15212 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "Spalte »%s« in abgeleiteter Tabelle muss als NOT NULL markiert sein" -#: commands/tablecmds.c:15179 +#: commands/tablecmds.c:15221 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "Spalte »%s« in abgeleiteter Tabelle muss eine generierte Spalte sein" -#: commands/tablecmds.c:15229 +#: commands/tablecmds.c:15271 #, c-format msgid "column \"%s\" in child table has a conflicting generation expression" msgstr "Spalte »%s« in abgeleiteter Tabelle hat einen widersprüchlichen Generierungsausdruck" -#: commands/tablecmds.c:15257 +#: commands/tablecmds.c:15299 #, c-format msgid "child table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:15345 +#: commands/tablecmds.c:15387 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "abgeleitete Tabelle »%s« hat unterschiedliche Definition für Check-Constraint »%s«" -#: commands/tablecmds.c:15353 +#: commands/tablecmds.c:15395 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "Constraint »%s« kollidiert mit nicht vererbtem Constraint für abgeleitete Tabelle »%s«" -#: commands/tablecmds.c:15364 +#: commands/tablecmds.c:15406 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "Constraint »%s« kollidiert mit NOT-VALID-Constraint für abgeleitete Tabelle »%s«" -#: commands/tablecmds.c:15399 +#: commands/tablecmds.c:15441 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "Constraint »%s« fehlt in abgeleiteter Tabelle" -#: commands/tablecmds.c:15485 +#: commands/tablecmds.c:15527 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "Partition »%s« hat schon eine unerledigte Abtrennoperation in der partitionierten Tabelle »%s.%s«" -#: commands/tablecmds.c:15514 commands/tablecmds.c:15562 +#: commands/tablecmds.c:15556 commands/tablecmds.c:15604 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "Relation »%s« ist keine Partition von Relation »%s«" -#: commands/tablecmds.c:15568 +#: commands/tablecmds.c:15610 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "Relation »%s« ist keine Basisrelation von Relation »%s«" -#: commands/tablecmds.c:15796 +#: commands/tablecmds.c:15838 #, c-format msgid "typed tables cannot inherit" msgstr "getypte Tabellen können nicht erben" -#: commands/tablecmds.c:15826 +#: commands/tablecmds.c:15868 #, c-format msgid "table is missing column \"%s\"" msgstr "Spalte »%s« fehlt in Tabelle" -#: commands/tablecmds.c:15837 +#: commands/tablecmds.c:15879 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "Tabelle hat Spalte »%s«, aber Typ benötigt »%s«" -#: commands/tablecmds.c:15846 +#: commands/tablecmds.c:15888 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "Tabelle »%s« hat unterschiedlichen Typ für Spalte »%s«" -#: commands/tablecmds.c:15860 +#: commands/tablecmds.c:15902 #, c-format msgid "table has extra column \"%s\"" msgstr "Tabelle hat zusätzliche Spalte »%s«" -#: commands/tablecmds.c:15912 +#: commands/tablecmds.c:15954 #, c-format msgid "\"%s\" is not a typed table" msgstr "»%s« ist keine getypte Tabelle" -#: commands/tablecmds.c:16086 +#: commands/tablecmds.c:16128 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "nicht eindeutiger Index »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16092 +#: commands/tablecmds.c:16134 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil er nicht IMMEDIATE ist" -#: commands/tablecmds.c:16098 +#: commands/tablecmds.c:16140 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "Ausdrucksindex »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16104 +#: commands/tablecmds.c:16146 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "partieller Index »%s« kann nicht als Replik-Identität verwendet werden" -#: commands/tablecmds.c:16121 +#: commands/tablecmds.c:16163 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte %d eine Systemspalte ist" -#: commands/tablecmds.c:16128 +#: commands/tablecmds.c:16170 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "Index »%s« kann nicht als Replik-Identität verwendet werden, weil Spalte »%s« NULL-Werte akzeptiert" -#: commands/tablecmds.c:16375 +#: commands/tablecmds.c:16417 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "kann den geloggten Status der Tabelle »%s« nicht ändern, weil sie temporär ist" -#: commands/tablecmds.c:16399 +#: commands/tablecmds.c:16441 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "kann Tabelle »%s« nicht in ungeloggt ändern, weil sie Teil einer Publikation ist" -#: commands/tablecmds.c:16401 +#: commands/tablecmds.c:16443 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ungeloggte Relationen können nicht repliziert werden." -#: commands/tablecmds.c:16446 +#: commands/tablecmds.c:16488 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "konnte Tabelle »%s« nicht in geloggt ändern, weil sie auf die ungeloggte Tabelle »%s« verweist" -#: commands/tablecmds.c:16456 +#: commands/tablecmds.c:16498 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "konnte Tabelle »%s« nicht in ungeloggt ändern, weil sie auf die geloggte Tabelle »%s« verweist" -#: commands/tablecmds.c:16514 +#: commands/tablecmds.c:16556 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "einer Tabelle zugeordnete Sequenz kann nicht in ein anderes Schema verschoben werden" -#: commands/tablecmds.c:16621 +#: commands/tablecmds.c:16658 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "Relation »%s« existiert bereits in Schema »%s«" -#: commands/tablecmds.c:17042 +#: commands/tablecmds.c:17079 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "»%s« ist keine Tabelle oder materialisierte Sicht" -#: commands/tablecmds.c:17192 +#: commands/tablecmds.c:17229 #, c-format msgid "\"%s\" is not a composite type" msgstr "»%s« ist kein zusammengesetzter Typ" -#: commands/tablecmds.c:17220 +#: commands/tablecmds.c:17257 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "kann Schema des Index »%s« nicht ändern" -#: commands/tablecmds.c:17222 commands/tablecmds.c:17234 +#: commands/tablecmds.c:17259 commands/tablecmds.c:17271 #, c-format msgid "Change the schema of the table instead." msgstr "Ändern Sie stattdessen das Schema der Tabelle." -#: commands/tablecmds.c:17226 +#: commands/tablecmds.c:17263 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "kann Schema des zusammengesetzten Typs »%s« nicht ändern" -#: commands/tablecmds.c:17232 +#: commands/tablecmds.c:17269 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "kann Schema der TOAST-Tabelle »%s« nicht ändern" -#: commands/tablecmds.c:17269 +#: commands/tablecmds.c:17306 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "unbekannte Partitionierungsstrategie »%s«" -#: commands/tablecmds.c:17277 +#: commands/tablecmds.c:17314 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "Partitionierungsstrategie »list« kann nicht mit mehr als einer Spalte verwendet werden" -#: commands/tablecmds.c:17343 +#: commands/tablecmds.c:17380 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "Spalte »%s«, die im Partitionierungsschlüssel verwendet wird, existiert nicht" -#: commands/tablecmds.c:17351 +#: commands/tablecmds.c:17388 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "Systemspalte »%s« kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17362 commands/tablecmds.c:17452 +#: commands/tablecmds.c:17399 commands/tablecmds.c:17489 #, c-format msgid "cannot use generated column in partition key" msgstr "generierte Spalte kann nicht im Partitionierungsschlüssel verwendet werden" -#: commands/tablecmds.c:17363 commands/tablecmds.c:17453 commands/trigger.c:668 +#: commands/tablecmds.c:17400 commands/tablecmds.c:17490 commands/trigger.c:668 #: rewrite/rewriteHandler.c:929 rewrite/rewriteHandler.c:964 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Spalte »%s« ist eine generierte Spalte." -#: commands/tablecmds.c:17435 +#: commands/tablecmds.c:17472 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "Partitionierungsschlüsselausdruck kann nicht auf Systemspalten verweisen" -#: commands/tablecmds.c:17482 +#: commands/tablecmds.c:17519 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "Funktionen im Partitionierungsschlüsselausdruck müssen als IMMUTABLE markiert sein" -#: commands/tablecmds.c:17491 +#: commands/tablecmds.c:17528 #, c-format msgid "cannot use constant expression as partition key" msgstr "Partitionierungsschlüssel kann kein konstanter Ausdruck sein" -#: commands/tablecmds.c:17512 +#: commands/tablecmds.c:17549 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "konnte die für den Partitionierungsausdruck zu verwendende Sortierfolge nicht bestimmen" -#: commands/tablecmds.c:17547 +#: commands/tablecmds.c:17584 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Sie müssen eine hash-Operatorklasse angeben oder eine hash-Standardoperatorklasse für den Datentyp definieren." -#: commands/tablecmds.c:17553 +#: commands/tablecmds.c:17590 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Sie müssen eine btree-Operatorklasse angeben oder eine btree-Standardoperatorklasse für den Datentyp definieren." -#: commands/tablecmds.c:17804 +#: commands/tablecmds.c:17841 #, c-format msgid "\"%s\" is already a partition" msgstr "»%s« ist bereits eine Partition" -#: commands/tablecmds.c:17810 +#: commands/tablecmds.c:17847 #, c-format msgid "cannot attach a typed table as partition" msgstr "eine getypte Tabelle kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:17826 +#: commands/tablecmds.c:17863 #, c-format msgid "cannot attach inheritance child as partition" msgstr "ein Vererbungskind kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:17840 +#: commands/tablecmds.c:17877 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "eine Tabelle mit abgeleiteten Tabellen kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:17874 +#: commands/tablecmds.c:17911 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "eine temporäre Relation kann nicht als Partition an permanente Relation »%s« angefügt werden" -#: commands/tablecmds.c:17882 +#: commands/tablecmds.c:17919 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "eine permanente Relation kann nicht als Partition an temporäre Relation »%s« angefügt werden" -#: commands/tablecmds.c:17890 +#: commands/tablecmds.c:17927 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "kann nicht als Partition an temporäre Relation einer anderen Sitzung anfügen" -#: commands/tablecmds.c:17897 +#: commands/tablecmds.c:17934 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "temporäre Relation einer anderen Sitzung kann nicht als Partition angefügt werden" -#: commands/tablecmds.c:17917 +#: commands/tablecmds.c:17954 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "Tabelle »%s« enthält Spalte »%s«, die nicht in der Elterntabelle »%s« gefunden wurde" -#: commands/tablecmds.c:17920 +#: commands/tablecmds.c:17957 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Die neue Partition darf nur Spalten enthalten, die auch die Elterntabelle hat." -#: commands/tablecmds.c:17932 +#: commands/tablecmds.c:17969 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "Trigger »%s« verhindert, dass Tabelle »%s« eine Partition werden kann" -#: commands/tablecmds.c:17934 +#: commands/tablecmds.c:17971 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "ROW-Trigger mit Ãœbergangstabellen werden für Partitionen nicht unterstützt." -#: commands/tablecmds.c:18113 +#: commands/tablecmds.c:18150 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "kann Fremdtabelle »%s« nicht als Partition an partitionierte Tabelle »%s« anfügen" -#: commands/tablecmds.c:18116 +#: commands/tablecmds.c:18153 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Partitionierte Tabelle »%s« enthält Unique-Indexe." -#: commands/tablecmds.c:18431 +#: commands/tablecmds.c:18468 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "nebenläufiges Abtrennen einer Partition ist nicht möglich, wenn eine Standardpartition existiert" -#: commands/tablecmds.c:18540 +#: commands/tablecmds.c:18577 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "partitionierte Tabelle »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:18546 +#: commands/tablecmds.c:18583 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "Partition »%s« wurde nebenläufig entfernt" -#: commands/tablecmds.c:19061 commands/tablecmds.c:19081 -#: commands/tablecmds.c:19101 commands/tablecmds.c:19120 -#: commands/tablecmds.c:19162 +#: commands/tablecmds.c:19098 commands/tablecmds.c:19118 +#: commands/tablecmds.c:19138 commands/tablecmds.c:19157 +#: commands/tablecmds.c:19199 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "kann Index »%s« nicht als Partition an Index »%s« anfügen" -#: commands/tablecmds.c:19064 +#: commands/tablecmds.c:19101 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Index »%s« ist bereits an einen anderen Index angefügt." -#: commands/tablecmds.c:19084 +#: commands/tablecmds.c:19121 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Index »%s« ist kein Index irgendeiner Partition von Tabelle »%s«." -#: commands/tablecmds.c:19104 +#: commands/tablecmds.c:19141 #, c-format msgid "The index definitions do not match." msgstr "Die Indexdefinitionen stimmen nicht überein." -#: commands/tablecmds.c:19123 +#: commands/tablecmds.c:19160 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Der Index »%s« gehört zu einem Constraint in Tabelle »%s«, aber kein Constraint existiert für Index »%s«." -#: commands/tablecmds.c:19165 +#: commands/tablecmds.c:19202 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Ein anderer Index ist bereits für Partition »%s« angefügt." -#: commands/tablecmds.c:19402 +#: commands/tablecmds.c:19439 #, c-format msgid "column data type %s does not support compression" msgstr "Spaltendatentyp %s unterstützt keine Komprimierung" -#: commands/tablecmds.c:19409 +#: commands/tablecmds.c:19446 #, c-format msgid "invalid compression method \"%s\"" msgstr "ungültige Komprimierungsmethode »%s«" @@ -11637,7 +11653,8 @@ msgstr "das zu aktualisierende Tupel wurde schon durch eine vom aktuellen Befehl #: commands/trigger.c:3442 executor/nodeModifyTable.c:1514 #: executor/nodeModifyTable.c:1588 executor/nodeModifyTable.c:2351 -#: executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:3079 +#: executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:2971 +#: executor/nodeModifyTable.c:3098 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Verwenden Sie einen AFTER-Trigger anstelle eines BEFORE-Triggers, um Änderungen an andere Zeilen zu propagieren." @@ -11652,7 +11669,7 @@ msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitiger Aktualisierung" #: commands/trigger.c:3491 executor/nodeModifyTable.c:1620 #: executor/nodeModifyTable.c:2451 executor/nodeModifyTable.c:2600 -#: executor/nodeModifyTable.c:2967 +#: executor/nodeModifyTable.c:2989 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "konnte Zugriff nicht serialisieren wegen gleichzeitigem Löschen" @@ -12430,32 +12447,32 @@ msgstr "älteste Multixact ist weit in der Vergangenheit" msgid "Close open transactions with multixacts soon to avoid wraparound problems." msgstr "Schließen Sie bald alle offenen Transaktionen mit Multixacts, um Ãœberlaufprobleme zu vermeiden." -#: commands/vacuum.c:1807 +#: commands/vacuum.c:1811 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "einige Datenbanken sind seit über 2 Milliarden Transaktionen nicht gevacuumt worden" -#: commands/vacuum.c:1808 +#: commands/vacuum.c:1812 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "Sie haben möglicherweise bereits Daten wegen Transaktionsnummernüberlauf verloren." -#: commands/vacuum.c:1976 +#: commands/vacuum.c:1980 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "überspringe »%s« --- kann Nicht-Tabellen oder besondere Systemtabellen nicht vacuumen" -#: commands/vacuum.c:2354 +#: commands/vacuum.c:2358 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "Index »%s« gelesen und %d Zeilenversionen entfernt" -#: commands/vacuum.c:2373 +#: commands/vacuum.c:2377 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "Index »%s« enthält %.0f Zeilenversionen in %u Seiten" -#: commands/vacuum.c:2377 +#: commands/vacuum.c:2381 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -12729,7 +12746,7 @@ msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "kann nicht mehr als %d Argument an eine Funktion übergeben" msgstr[1] "kann nicht mehr als %d Argumente an eine Funktion übergeben" -#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1073 +#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1074 #: utils/adt/jsonfuncs.c:3699 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 #, c-format msgid "set-valued function called in context that cannot accept a set" @@ -12764,7 +12781,7 @@ msgstr "Tabelle hat Typ %s, aber Anfrage erwartet %s." #: executor/execExprInterp.c:2006 utils/adt/expandedrecord.c:99 #: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 #: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 -#: utils/fmgr/funcapi.c:570 +#: utils/fmgr/funcapi.c:578 #, c-format msgid "type %s is not composite" msgstr "Typ %s ist kein zusammengesetzter Typ" @@ -13205,59 +13222,59 @@ msgstr "%s ist in SQL-Funktionen nicht erlaubt" msgid "%s is not allowed in a non-volatile function" msgstr "%s ist in als nicht »volatile« markierten Funktionen nicht erlaubt" -#: executor/functions.c:1457 +#: executor/functions.c:1458 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL-Funktion »%s« Anweisung %d" -#: executor/functions.c:1483 +#: executor/functions.c:1484 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL-Funktion »%s« beim Start" -#: executor/functions.c:1568 +#: executor/functions.c:1569 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "Aufruf von Prozeduren mit Ausgabeargumenten wird in SQL-Funktionen nicht unterstützt" -#: executor/functions.c:1701 executor/functions.c:1739 -#: executor/functions.c:1753 executor/functions.c:1843 -#: executor/functions.c:1876 executor/functions.c:1890 +#: executor/functions.c:1717 executor/functions.c:1755 +#: executor/functions.c:1769 executor/functions.c:1864 +#: executor/functions.c:1897 executor/functions.c:1911 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "Rückgabetyp von Funktion stimmt nicht überein; deklariert als %s" -#: executor/functions.c:1703 +#: executor/functions.c:1719 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." msgstr "Die letzte Anweisung der Funktion muss ein SELECT oder INSERT/UPDATE/DELETE RETURNING sein." -#: executor/functions.c:1741 +#: executor/functions.c:1757 #, c-format msgid "Final statement must return exactly one column." msgstr "Die letzte Anweisung muss genau eine Spalte zurückgeben." -#: executor/functions.c:1755 +#: executor/functions.c:1771 #, c-format msgid "Actual return type is %s." msgstr "Eigentlicher Rückgabetyp ist %s." -#: executor/functions.c:1845 +#: executor/functions.c:1866 #, c-format msgid "Final statement returns too many columns." msgstr "Die letzte Anweisung gibt zu viele Spalten zurück." -#: executor/functions.c:1878 +#: executor/functions.c:1899 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "Die letzte Anweisung ergibt %s statt %s in Spalte %d." -#: executor/functions.c:1892 +#: executor/functions.c:1913 #, c-format msgid "Final statement returns too few columns." msgstr "Die letzte Anweisung gibt zu wenige Spalten zurück." -#: executor/functions.c:1920 +#: executor/functions.c:1941 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "Rückgabetyp %s wird von SQL-Funktionen nicht unterstützt" @@ -13287,7 +13304,7 @@ msgstr "konnte Position in temporärer Datei für Hash-Verbund nicht auf Anfang msgid "could not read from hash-join temporary file: read only %zu of %zu bytes" msgstr "konnte nicht aus temporärer Datei für Hash-Verbund lesen: es wurden nur %zu von %zu Bytes gelesen" -#: executor/nodeIndexonlyscan.c:240 +#: executor/nodeIndexonlyscan.c:242 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "verlustbehaftete Abstandsfunktionen werden in Index-Only-Scans nicht unterstützt" @@ -13348,7 +13365,8 @@ msgid "Consider defining the foreign key on table \"%s\"." msgstr "Definieren Sie den Fremdschlüssel eventuell für Tabelle »%s«." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2956 +#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2977 +#: executor/nodeModifyTable.c:3104 #, c-format msgid "%s command cannot affect row a second time" msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern" @@ -13358,21 +13376,21 @@ msgstr "Befehl in %s kann eine Zeile nicht ein zweites Mal ändern" msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "Stellen Sie sicher, dass keine im selben Befehl fürs Einfügen vorgesehene Zeilen doppelte Werte haben, die einen Constraint verletzen würden." -#: executor/nodeModifyTable.c:2958 +#: executor/nodeModifyTable.c:2970 executor/nodeModifyTable.c:3097 +#, c-format +msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" +msgstr "das zu aktualisierende oder zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert" + +#: executor/nodeModifyTable.c:2979 executor/nodeModifyTable.c:3106 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "Stellen Sie sicher, dass nicht mehr als eine Quellzeile auf jede Zielzeile passt." -#: executor/nodeModifyTable.c:3039 +#: executor/nodeModifyTable.c:3061 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "das zu löschende Tupel wurde schon durch ein gleichzeitiges Update in eine andere Partition verschoben" -#: executor/nodeModifyTable.c:3078 -#, c-format -msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" -msgstr "das zu aktualisierende oder zu löschende Tupel wurde schon durch eine vom aktuellen Befehl ausgelöste Operation verändert" - #: executor/nodeSamplescan.c:260 #, c-format msgid "TABLESAMPLE parameter cannot be null" @@ -13490,7 +13508,7 @@ msgstr "%s kann nicht als Cursor geöffnet werden" msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE wird nicht unterstützt" -#: executor/spi.c:1717 parser/analyze.c:2899 +#: executor/spi.c:1717 parser/analyze.c:2910 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Scrollbare Cursor müssen READ ONLY sein." @@ -13665,7 +13683,7 @@ msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER wird nicht unterstützt" msgid "duplicate trigger events specified" msgstr "mehrere Trigger-Ereignisse angegeben" -#: gram.y:5937 parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 +#: gram.y:5937 parser/parse_utilcmd.c:3726 parser/parse_utilcmd.c:3752 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "Constraint, der als INITIALLY DEFERRED deklariert wurde, muss DEFERRABLE sein" @@ -15111,22 +15129,22 @@ msgstr "ECDH: konnte Schlüssel nicht erzeugen" msgid "no SSL error reported" msgstr "kein SSL-Fehler berichtet" -#: libpq/be-secure-openssl.c:1259 +#: libpq/be-secure-openssl.c:1272 #, c-format msgid "SSL error code %lu" msgstr "SSL-Fehlercode %lu" -#: libpq/be-secure-openssl.c:1418 +#: libpq/be-secure-openssl.c:1431 #, c-format msgid "could not create BIO" msgstr "konnte BIO nicht erzeugen" -#: libpq/be-secure-openssl.c:1428 +#: libpq/be-secure-openssl.c:1441 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "konnte NID für ASN1_OBJECT-Objekt nicht ermitteln" -#: libpq/be-secure-openssl.c:1436 +#: libpq/be-secure-openssl.c:1449 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "konnte NID %d nicht in eine ASN1_OBJECT-Struktur umwandeln" @@ -15536,167 +15554,167 @@ msgstr "kein passender Eintrag in Usermap »%s« für Benutzer »%s«, authentif msgid "could not open usermap file \"%s\": %m" msgstr "konnte Usermap-Datei »%s« nicht öffnen: %m" -#: libpq/pqcomm.c:204 +#: libpq/pqcomm.c:200 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "konnte Socket nicht auf nicht-blockierenden Modus umstellen: %m" -#: libpq/pqcomm.c:362 +#: libpq/pqcomm.c:358 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Unix-Domain-Socket-Pfad »%s« ist zu lang (maximal %d Bytes)" -#: libpq/pqcomm.c:383 +#: libpq/pqcomm.c:379 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "konnte Hostname »%s«, Dienst »%s« nicht in Adresse übersetzen: %s" -#: libpq/pqcomm.c:387 +#: libpq/pqcomm.c:383 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "konnte Dienst »%s« nicht in Adresse übersetzen: %s" -#: libpq/pqcomm.c:414 +#: libpq/pqcomm.c:410 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "konnte nicht an alle verlangten Adressen binden: MAXLISTEN (%d) überschritten" -#: libpq/pqcomm.c:423 +#: libpq/pqcomm.c:419 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:423 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:432 +#: libpq/pqcomm.c:428 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:437 +#: libpq/pqcomm.c:433 #, c-format msgid "unrecognized address family %d" msgstr "unbekannte Adressfamilie %d" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:463 +#: libpq/pqcomm.c:459 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "konnte %s-Socket für Adresse »%s« nicht erzeugen: %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:489 libpq/pqcomm.c:507 +#: libpq/pqcomm.c:485 libpq/pqcomm.c:503 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "%s(%s) für %s-Adresse »%s« fehlgeschlagen: %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:530 +#: libpq/pqcomm.c:526 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "konnte %s-Adresse »%s« nicht binden: %m" -#: libpq/pqcomm.c:534 +#: libpq/pqcomm.c:530 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "Läuft bereits ein anderer Postmaster auf Port %d?" -#: libpq/pqcomm.c:536 +#: libpq/pqcomm.c:532 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "Läuft bereits ein anderer Postmaster auf Port %d? Wenn nicht, warten Sie einige Sekunden und versuchen Sie erneut." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:569 +#: libpq/pqcomm.c:565 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "konnte nicht auf %s-Adresse »%s« hören: %m" -#: libpq/pqcomm.c:578 +#: libpq/pqcomm.c:574 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "erwarte Verbindungen auf Unix-Socket »%s«" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:584 +#: libpq/pqcomm.c:580 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "erwarte Verbindungen auf %s-Adresse »%s«, Port %d" -#: libpq/pqcomm.c:675 +#: libpq/pqcomm.c:671 #, c-format msgid "group \"%s\" does not exist" msgstr "Gruppe »%s« existiert nicht" -#: libpq/pqcomm.c:685 +#: libpq/pqcomm.c:681 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "konnte Gruppe von Datei »%s« nicht setzen: %m" -#: libpq/pqcomm.c:696 +#: libpq/pqcomm.c:692 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "konnte Zugriffsrechte von Datei »%s« nicht setzen: %m" -#: libpq/pqcomm.c:726 +#: libpq/pqcomm.c:722 #, c-format msgid "could not accept new connection: %m" msgstr "konnte neue Verbindung nicht akzeptieren: %m" -#: libpq/pqcomm.c:766 libpq/pqcomm.c:775 libpq/pqcomm.c:807 libpq/pqcomm.c:817 -#: libpq/pqcomm.c:1652 libpq/pqcomm.c:1697 libpq/pqcomm.c:1737 -#: libpq/pqcomm.c:1781 libpq/pqcomm.c:1820 libpq/pqcomm.c:1859 -#: libpq/pqcomm.c:1895 libpq/pqcomm.c:1934 +#: libpq/pqcomm.c:762 libpq/pqcomm.c:771 libpq/pqcomm.c:803 libpq/pqcomm.c:813 +#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 +#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 +#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 #, c-format msgid "%s(%s) failed: %m" msgstr "%s(%s) fehlgeschlagen: %m" -#: libpq/pqcomm.c:921 +#: libpq/pqcomm.c:917 #, c-format msgid "there is no client connection" msgstr "es besteht keine Client-Verbindung" -#: libpq/pqcomm.c:977 libpq/pqcomm.c:1078 +#: libpq/pqcomm.c:973 libpq/pqcomm.c:1074 #, c-format msgid "could not receive data from client: %m" msgstr "konnte Daten vom Client nicht empfangen: %m" -#: libpq/pqcomm.c:1183 tcop/postgres.c:4373 +#: libpq/pqcomm.c:1179 tcop/postgres.c:4373 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "Verbindung wird abgebrochen, weil Protokollsynchronisierung verloren wurde" -#: libpq/pqcomm.c:1249 +#: libpq/pqcomm.c:1245 #, c-format msgid "unexpected EOF within message length word" msgstr "unerwartetes EOF im Message-Längenwort" -#: libpq/pqcomm.c:1259 +#: libpq/pqcomm.c:1255 #, c-format msgid "invalid message length" msgstr "ungültige Message-Länge" -#: libpq/pqcomm.c:1281 libpq/pqcomm.c:1294 +#: libpq/pqcomm.c:1277 libpq/pqcomm.c:1290 #, c-format msgid "incomplete message from client" msgstr "unvollständige Message vom Client" -#: libpq/pqcomm.c:1405 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "konnte Daten nicht an den Client senden: %m" -#: libpq/pqcomm.c:1620 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s) fehlgeschlagen: Fehlercode %d" -#: libpq/pqcomm.c:1709 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "Setzen der Keepalive-Idle-Zeit wird nicht unterstützt" -#: libpq/pqcomm.c:1793 libpq/pqcomm.c:1868 libpq/pqcomm.c:1943 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) nicht unterstützt" @@ -16030,7 +16048,7 @@ msgstr "Relation »%s« hat keinen zusammengesetzten Typ" #: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 #: parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883 -#: utils/fmgr/funcapi.c:670 +#: utils/fmgr/funcapi.c:678 #, c-format msgid "could not find array type for data type %s" msgstr "konnte Arraytyp für Datentyp %s nicht finden" @@ -16050,8 +16068,8 @@ msgstr "unbenanntes Portal mit Parametern: %s" msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN wird nur für Merge- oder Hash-Verbund-fähige Verbundbedingungen unterstützt" -#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:182 -#: parser/parse_merge.c:189 +#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:187 +#: parser/parse_merge.c:194 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "MERGE kann für Relation »%s« nicht ausgeführt werden" @@ -16063,8 +16081,8 @@ msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s kann nicht auf die nullbare Seite eines äußeren Verbundes angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1344 parser/analyze.c:1752 parser/analyze.c:2008 -#: parser/analyze.c:3190 +#: optimizer/plan/planner.c:1344 parser/analyze.c:1763 parser/analyze.c:2019 +#: parser/analyze.c:3201 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s ist nicht in UNION/INTERSECT/EXCEPT erlaubt" @@ -16121,7 +16139,7 @@ msgstr "Alle Spaltendatentypen müssen hashbar sein." msgid "could not implement %s" msgstr "konnte %s nicht implementieren" -#: optimizer/util/clauses.c:4843 +#: optimizer/util/clauses.c:4847 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL-Funktion »%s« beim Inlining" @@ -16156,7 +16174,7 @@ msgstr "ON CONFLICT DO UPDATE nicht unterstützt mit Exclusion-Constraints" msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "es gibt keinen Unique-Constraint oder Exclusion-Constraint, der auf die ON-CONFLICT-Angabe passt" -#: parser/analyze.c:818 parser/analyze.c:1532 +#: parser/analyze.c:818 parser/analyze.c:1543 #, c-format msgid "VALUES lists must all be the same length" msgstr "VALUES-Listen müssen alle die gleiche Länge haben" @@ -16176,197 +16194,197 @@ msgstr "INSERT hat mehr Zielspalten als Ausdrücke" msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?" msgstr "Der einzufügende Wert ist ein Zeilenausdruck mit der gleichen Anzahl Spalten wie von INSERT erwartet. Haben Sie versehentlich zu viele Klammern gesetzt?" -#: parser/analyze.c:1340 parser/analyze.c:1725 +#: parser/analyze.c:1351 parser/analyze.c:1736 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO ist hier nicht erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1655 parser/analyze.c:3401 +#: parser/analyze.c:1666 parser/analyze.c:3412 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s kann nicht auf VALUES angewendet werden" -#: parser/analyze.c:1891 +#: parser/analyze.c:1902 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "ungültige ORDER-BY-Klausel mit UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:1892 +#: parser/analyze.c:1903 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "Es können nur Ergebnisspaltennamen verwendet werden, keine Ausdrücke oder Funktionen." -#: parser/analyze.c:1893 +#: parser/analyze.c:1904 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "Fügen Sie den Ausdrück/die Funktion jedem SELECT hinzu oder verlegen Sie die UNION in eine FROM-Klausel." -#: parser/analyze.c:1998 +#: parser/analyze.c:2009 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO ist nur im ersten SELECT von UNION/INTERSECT/EXCEPT erlaubt" -#: parser/analyze.c:2070 +#: parser/analyze.c:2081 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "Teilanweisung von UNION/INTERSECT/EXCEPT kann nicht auf andere Relationen auf der selben Anfrageebene verweisen" -#: parser/analyze.c:2157 +#: parser/analyze.c:2168 #, c-format msgid "each %s query must have the same number of columns" msgstr "jede %s-Anfrage muss die gleiche Anzahl Spalten haben" -#: parser/analyze.c:2561 +#: parser/analyze.c:2572 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNING muss mindestens eine Spalte haben" -#: parser/analyze.c:2664 +#: parser/analyze.c:2675 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "Quelle der Wertzuweisung hat %d Spalte zurückgegeben" msgstr[1] "Quelle der Wertzuweisung hat %d Spalten zurückgegeben" -#: parser/analyze.c:2725 +#: parser/analyze.c:2736 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "Variable »%s« hat Typ %s, aber der Ausdruck hat Typ %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2849 parser/analyze.c:2857 +#: parser/analyze.c:2860 parser/analyze.c:2868 #, c-format msgid "cannot specify both %s and %s" msgstr "%s und %s können nicht beide angegeben werden" -#: parser/analyze.c:2877 +#: parser/analyze.c:2888 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR darf keine datenmodifizierenden Anweisungen in WITH enthalten" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2885 +#: parser/analyze.c:2896 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s wird nicht unterstützt" -#: parser/analyze.c:2888 +#: parser/analyze.c:2899 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "Haltbare Cursor müssen READ ONLY sein." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2896 +#: parser/analyze.c:2907 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %s wird nicht unterstützt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2907 +#: parser/analyze.c:2918 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s ist nicht gültig" -#: parser/analyze.c:2910 +#: parser/analyze.c:2921 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Insensitive Cursor müssen READ ONLY sein." -#: parser/analyze.c:2976 +#: parser/analyze.c:2987 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "materialisierte Sichten dürfen keine datenmodifizierenden Anweisungen in WITH verwenden" -#: parser/analyze.c:2986 +#: parser/analyze.c:2997 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "materialisierte Sichten dürfen keine temporären Tabellen oder Sichten verwenden" -#: parser/analyze.c:2996 +#: parser/analyze.c:3007 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "materialisierte Sichten können nicht unter Verwendung von gebundenen Parametern definiert werden" -#: parser/analyze.c:3008 +#: parser/analyze.c:3019 #, c-format msgid "materialized views cannot be unlogged" msgstr "materialisierte Sichten können nicht ungeloggt sein" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3197 +#: parser/analyze.c:3208 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s ist nicht mit DISTINCT-Klausel erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3204 +#: parser/analyze.c:3215 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s ist nicht mit GROUP-BY-Klausel erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3211 +#: parser/analyze.c:3222 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s ist nicht mit HAVING-Klausel erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3218 +#: parser/analyze.c:3229 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "%s ist nicht mit Aggregatfunktionen erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3225 +#: parser/analyze.c:3236 #, c-format msgid "%s is not allowed with window functions" msgstr "%s ist nicht mit Fensterfunktionen erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3232 +#: parser/analyze.c:3243 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "%s ist nicht mit Funktionen mit Ergebnismenge in der Targetliste erlaubt" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3324 +#: parser/analyze.c:3335 #, c-format msgid "%s must specify unqualified relation names" msgstr "%s muss unqualifizierte Relationsnamen angeben" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3374 +#: parser/analyze.c:3385 #, c-format msgid "%s cannot be applied to a join" msgstr "%s kann nicht auf einen Verbund angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3383 +#: parser/analyze.c:3394 #, c-format msgid "%s cannot be applied to a function" msgstr "%s kann nicht auf eine Funktion angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3392 +#: parser/analyze.c:3403 #, c-format msgid "%s cannot be applied to a table function" msgstr "%s kann nicht auf eine Tabellenfunktion angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3410 +#: parser/analyze.c:3421 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%s kann nicht auf eine WITH-Anfrage angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3419 +#: parser/analyze.c:3430 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s kann nicht auf einen benannten Tupelstore angewendet werden" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3439 +#: parser/analyze.c:3450 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "Relation »%s« in %s nicht in der FROM-Klausel gefunden" @@ -16973,7 +16991,7 @@ msgstr "Wandeln Sie den Offset-Wert in den genauen beabsichtigten Typ um." #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:994 +#: parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:1008 #, c-format msgid "cannot cast type %s to %s" msgstr "kann Typ %s nicht in Typ %s umwandeln" @@ -17032,19 +17050,19 @@ msgid "arguments declared \"%s\" are not all alike" msgstr "als »%s« deklarierte Argumente sind nicht alle gleich" #: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 -#: utils/fmgr/funcapi.c:601 +#: utils/fmgr/funcapi.c:609 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "als %s deklariertes Argument ist kein Array sondern Typ %s" #: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 -#: utils/fmgr/funcapi.c:615 +#: utils/fmgr/funcapi.c:623 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "als %s deklariertes Argument ist kein Bereichstyp sondern Typ %s" #: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 -#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:633 utils/fmgr/funcapi.c:698 +#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:641 utils/fmgr/funcapi.c:706 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "als %s deklariertes Argument ist kein Multirange-Typ sondern Typ %s" @@ -17323,8 +17341,8 @@ msgstr "rekursiver Verweis auf Anfrage »%s« darf nicht mehrmals erscheinen" msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT ist in diesem Zusammenhang nicht erlaubt" -#: parser/parse_expr.c:335 parser/parse_relation.c:3659 -#: parser/parse_relation.c:3679 +#: parser/parse_expr.c:335 parser/parse_relation.c:3668 +#: parser/parse_relation.c:3688 #, c-format msgid "column %s.%s does not exist" msgstr "Spalte %s.%s existiert nicht" @@ -17358,7 +17376,7 @@ msgid "cannot use column reference in partition bound expression" msgstr "Spaltenverweise können nicht in Partitionsbegrenzungsausdrücken verwendet werden" #: parser/parse_expr.c:784 parser/parse_relation.c:818 -#: parser/parse_relation.c:900 parser/parse_target.c:1234 +#: parser/parse_relation.c:900 parser/parse_target.c:1248 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "Spaltenverweis »%s« ist nicht eindeutig" @@ -17887,22 +17905,22 @@ msgstr "Funktionen mit Ergebnismenge sind in Spaltengenerierungsausdrücken nich msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "WITH RECURSIVE wird für die MERGE-Anweisung nicht unterstützt" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:166 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "unerreichbare WHERE-Klausel nach einer WHERE-Klausel ohne Bedingung angegeben" -#: parser/parse_merge.c:191 +#: parser/parse_merge.c:196 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE wird für Relationen mit Regeln nicht unterstützt." -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:213 #, c-format msgid "name \"%s\" specified more than once" msgstr "Name »%s« mehrmals angegeben" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:215 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "Der Name wird sowohl als MERGE-Zieltabelle als auch als Datenquelle verwendet." @@ -17998,12 +18016,12 @@ msgstr "Tabellenbezug %u ist nicht eindeutig" msgid "table name \"%s\" specified more than once" msgstr "Tabellenname »%s« mehrmals angegeben" -#: parser/parse_relation.c:474 parser/parse_relation.c:3599 +#: parser/parse_relation.c:474 parser/parse_relation.c:3608 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "ungültiger Verweis auf FROM-Klausel-Eintrag für Tabelle »%s«" -#: parser/parse_relation.c:478 parser/parse_relation.c:3604 +#: parser/parse_relation.c:478 parser/parse_relation.c:3613 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "Es gibt einen Eintrag für Tabelle »%s«, aber auf ihn kann aus diesem Teil der Anfrage nicht verwiesen werden." @@ -18104,27 +18122,27 @@ msgstr "Verbundausdruck »%s« hat %d Spalten verfügbar, aber %d Spalten wurden msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "WITH-Anfrage »%s« hat keine RETURNING-Klausel" -#: parser/parse_relation.c:3602 +#: parser/parse_relation.c:3611 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Vielleicht wurde beabsichtigt, auf den Tabellenalias »%s« zu verweisen." -#: parser/parse_relation.c:3610 +#: parser/parse_relation.c:3619 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "fehlender Eintrag in FROM-Klausel für Tabelle »%s«" -#: parser/parse_relation.c:3662 +#: parser/parse_relation.c:3671 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Vielleicht wurde beabsichtigt, auf die Spalte »%s.%s« zu verweisen." -#: parser/parse_relation.c:3664 +#: parser/parse_relation.c:3673 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "Es gibt eine Spalte namens »%s« in Tabelle »%s«, aber auf sie kann aus diesem Teil der Anfrage nicht verwiesen werden." -#: parser/parse_relation.c:3681 +#: parser/parse_relation.c:3690 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "Vielleicht wurde beabsichtigt, auf die Spalte »%s.%s« oder die Spalte »%s.%s« zu verweisen." @@ -18159,17 +18177,17 @@ msgstr "kann Feld »%s« in Spalte »%s« nicht setzen, weil ihr Typ %s kein zus msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" msgstr "kann Feld »%s« in Spalte »%s« nicht setzen, weil es keine solche Spalte in Datentyp %s gibt" -#: parser/parse_target.c:877 +#: parser/parse_target.c:886 #, c-format msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" msgstr "Wertzuweisung in Elemente von »%s« erfordert Typ %s, aber Ausdruck hat Typ %s" -#: parser/parse_target.c:887 +#: parser/parse_target.c:896 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "Subfeld »%s« hat Typ %s, aber der Ausdruck hat Typ %s" -#: parser/parse_target.c:1323 +#: parser/parse_target.c:1337 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * ist nicht gültig, wenn keine Tabellen angegeben sind" @@ -18215,325 +18233,325 @@ msgstr "ungültiger Typname: »%s«" msgid "cannot create partitioned table as inheritance child" msgstr "partitionierte Tabelle kann nicht als Vererbungskind erzeugt werden" -#: parser/parse_utilcmd.c:580 +#: parser/parse_utilcmd.c:589 #, c-format msgid "array of serial is not implemented" msgstr "Array aus Typ serial ist nicht implementiert" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 -#: parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 +#: parser/parse_utilcmd.c:739 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "widersprüchliche NULL/NOT NULL-Deklarationen für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:683 +#: parser/parse_utilcmd.c:692 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "mehrere Vorgabewerte angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:709 #, c-format msgid "identity columns are not supported on typed tables" msgstr "Identitätsspalten in getypten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:713 #, c-format msgid "identity columns are not supported on partitions" msgstr "Identitätsspalten in partitionierten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:722 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "mehrere Identitätsangaben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:752 #, c-format msgid "generated columns are not supported on typed tables" msgstr "generierte Spalten in getypten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:756 #, c-format msgid "generated columns are not supported on partitions" msgstr "generierte Spalten in partitionierten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:752 +#: parser/parse_utilcmd.c:761 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "mehrere Generierungsklauseln angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:770 parser/parse_utilcmd.c:885 +#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:894 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "Primärschlüssel für Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:895 +#: parser/parse_utilcmd.c:788 parser/parse_utilcmd.c:904 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "Unique-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:824 +#: parser/parse_utilcmd.c:833 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "sowohl Vorgabewert als auch Identität angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:832 +#: parser/parse_utilcmd.c:841 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "sowohl Vorgabewert als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:840 +#: parser/parse_utilcmd.c:849 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "sowohl Identität als auch Generierungsausdruck angegeben für Spalte »%s« von Tabelle »%s«" -#: parser/parse_utilcmd.c:905 +#: parser/parse_utilcmd.c:914 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "Exclusion-Constraints auf Fremdtabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:911 +#: parser/parse_utilcmd.c:920 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "Exclusion-Constraints auf partitionierten Tabellen werden nicht unterstützt" -#: parser/parse_utilcmd.c:976 +#: parser/parse_utilcmd.c:985 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE wird für das Erzeugen von Fremdtabellen nicht unterstützt" -#: parser/parse_utilcmd.c:989 +#: parser/parse_utilcmd.c:998 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "Relation »%s« ist ungültig in der LIKE-Klausel" -#: parser/parse_utilcmd.c:1755 parser/parse_utilcmd.c:1863 +#: parser/parse_utilcmd.c:1764 parser/parse_utilcmd.c:1872 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Index »%s« enthält einen Verweis auf die ganze Zeile der Tabelle." -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "bestehender Index kann nicht in CREATE TABLE verwendet werden" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2281 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "Index »%s« gehört bereits zu einem Constraint" -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2302 #, c-format msgid "\"%s\" is not a unique index" msgstr "»%s« ist kein Unique Index" -#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2301 -#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 +#: parser/parse_utilcmd.c:2303 parser/parse_utilcmd.c:2310 +#: parser/parse_utilcmd.c:2317 parser/parse_utilcmd.c:2394 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Ein Primärschlüssel oder Unique-Constraint kann nicht mit einem solchen Index erzeugt werden." -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "index \"%s\" contains expressions" msgstr "Index »%s« enthält Ausdrücke" -#: parser/parse_utilcmd.c:2307 +#: parser/parse_utilcmd.c:2316 #, c-format msgid "\"%s\" is a partial index" msgstr "»%s« ist ein partieller Index" -#: parser/parse_utilcmd.c:2319 +#: parser/parse_utilcmd.c:2328 #, c-format msgid "\"%s\" is a deferrable index" msgstr "»%s« ist ein aufschiebbarer Index" -#: parser/parse_utilcmd.c:2320 +#: parser/parse_utilcmd.c:2329 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Ein nicht aufschiebbarer Constraint kann nicht mit einem aufschiebbaren Index erzeugt werden." -#: parser/parse_utilcmd.c:2384 +#: parser/parse_utilcmd.c:2393 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "Index »%s« Spalte Nummer %d hat nicht das Standardsortierverhalten" -#: parser/parse_utilcmd.c:2541 +#: parser/parse_utilcmd.c:2550 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "Spalte »%s« erscheint zweimal im Primärschlüssel-Constraint" -#: parser/parse_utilcmd.c:2547 +#: parser/parse_utilcmd.c:2556 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "Spalte »%s« erscheint zweimal im Unique-Constraint" -#: parser/parse_utilcmd.c:2894 +#: parser/parse_utilcmd.c:2903 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "Indexausdrücke und -prädikate können nur auf die zu indizierende Tabelle verweisen" -#: parser/parse_utilcmd.c:2966 +#: parser/parse_utilcmd.c:2975 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "Statistikausdrücke können nur auf die referenzierte Tabelle verweisen" -#: parser/parse_utilcmd.c:3009 +#: parser/parse_utilcmd.c:3018 #, c-format msgid "rules on materialized views are not supported" msgstr "Regeln für materialisierte Sichten werden nicht unterstützt" -#: parser/parse_utilcmd.c:3072 +#: parser/parse_utilcmd.c:3081 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "WHERE-Bedingung einer Regel kann keine Verweise auf andere Relationen enthalten" -#: parser/parse_utilcmd.c:3145 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "Regeln mit WHERE-Bedingungen können als Aktion nur SELECT, INSERT, UPDATE oder DELETE haben" -#: parser/parse_utilcmd.c:3163 parser/parse_utilcmd.c:3264 +#: parser/parse_utilcmd.c:3172 parser/parse_utilcmd.c:3273 #: rewrite/rewriteHandler.c:532 rewrite/rewriteManip.c:1021 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "UNION/INTERSECTION/EXCEPT mit Bedingung sind nicht implementiert" -#: parser/parse_utilcmd.c:3181 +#: parser/parse_utilcmd.c:3190 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON-SELECT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3185 +#: parser/parse_utilcmd.c:3194 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON-SELECT-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3194 +#: parser/parse_utilcmd.c:3203 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON-INSERT-Regel kann nicht OLD verwenden" -#: parser/parse_utilcmd.c:3200 +#: parser/parse_utilcmd.c:3209 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON-DELETE-Regel kann nicht NEW verwenden" -#: parser/parse_utilcmd.c:3228 +#: parser/parse_utilcmd.c:3237 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "in WITH-Anfrage kann nicht auf OLD verweisen werden" -#: parser/parse_utilcmd.c:3235 +#: parser/parse_utilcmd.c:3244 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "in WITH-Anfrage kann nicht auf NEW verwiesen werden" -#: parser/parse_utilcmd.c:3689 +#: parser/parse_utilcmd.c:3698 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "falsch platzierte DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3709 +#: parser/parse_utilcmd.c:3703 parser/parse_utilcmd.c:3718 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "mehrere DEFERRABLE/NOT DEFERRABLE-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3704 +#: parser/parse_utilcmd.c:3713 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "falsch platzierte NOT DEFERRABLE-Klausel" -#: parser/parse_utilcmd.c:3725 +#: parser/parse_utilcmd.c:3734 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "falsch platzierte INITIALLY DEFERRED-Klausel" -#: parser/parse_utilcmd.c:3730 parser/parse_utilcmd.c:3756 +#: parser/parse_utilcmd.c:3739 parser/parse_utilcmd.c:3765 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "mehrere INITIALLY IMMEDIATE/DEFERRED-Klauseln sind nicht erlaubt" -#: parser/parse_utilcmd.c:3751 +#: parser/parse_utilcmd.c:3760 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "falsch platzierte INITIALLY IMMEDIATE-Klausel" -#: parser/parse_utilcmd.c:3944 +#: parser/parse_utilcmd.c:3953 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE gibt ein Schema an (%s) welches nicht gleich dem zu erzeugenden Schema ist (%s)" -#: parser/parse_utilcmd.c:3979 +#: parser/parse_utilcmd.c:3988 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "»%s« ist keine partitionierte Tabelle" -#: parser/parse_utilcmd.c:3986 +#: parser/parse_utilcmd.c:3995 #, c-format msgid "table \"%s\" is not partitioned" msgstr "Tabelle »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:3993 +#: parser/parse_utilcmd.c:4002 #, c-format msgid "index \"%s\" is not partitioned" msgstr "Index »%s« ist nicht partitioniert" -#: parser/parse_utilcmd.c:4033 +#: parser/parse_utilcmd.c:4042 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "eine hashpartitionierte Tabelle kann keine Standardpartition haben" -#: parser/parse_utilcmd.c:4050 +#: parser/parse_utilcmd.c:4059 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ungültige Begrenzungsangabe für eine Hash-Partition" -#: parser/parse_utilcmd.c:4056 partitioning/partbounds.c:4824 +#: parser/parse_utilcmd.c:4065 partitioning/partbounds.c:4824 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "Modulus für Hashpartition muss eine ganze Zahl größer als null sein" -#: parser/parse_utilcmd.c:4063 partitioning/partbounds.c:4832 +#: parser/parse_utilcmd.c:4072 partitioning/partbounds.c:4832 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "Rest für Hashpartition muss kleiner als Modulus sein" -#: parser/parse_utilcmd.c:4076 +#: parser/parse_utilcmd.c:4085 #, c-format msgid "invalid bound specification for a list partition" msgstr "ungültige Begrenzungsangabe für eine Listenpartition" -#: parser/parse_utilcmd.c:4129 +#: parser/parse_utilcmd.c:4138 #, c-format msgid "invalid bound specification for a range partition" msgstr "ungültige Begrenzungsangabe für eine Bereichspartition" -#: parser/parse_utilcmd.c:4135 +#: parser/parse_utilcmd.c:4144 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM muss genau einen Wert pro Partitionierungsspalte angeben" -#: parser/parse_utilcmd.c:4139 +#: parser/parse_utilcmd.c:4148 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TO muss genau einen Wert pro Partitionierungsspalte angeben" -#: parser/parse_utilcmd.c:4253 +#: parser/parse_utilcmd.c:4262 #, c-format msgid "cannot specify NULL in range bound" msgstr "NULL kann nicht in der Bereichsgrenze angegeben werden" -#: parser/parse_utilcmd.c:4302 +#: parser/parse_utilcmd.c:4311 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "jede Begrenzung, die auf MAXVALUE folgt, muss auch MAXVALUE sein" -#: parser/parse_utilcmd.c:4309 +#: parser/parse_utilcmd.c:4318 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "jede Begrenzung, die auf MINVALUE folgt, muss auch MINVALUE sein" -#: parser/parse_utilcmd.c:4352 +#: parser/parse_utilcmd.c:4361 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "angegebener Wert kann nicht in Typ %s für Spalte »%s« umgewandelt werden" @@ -18857,47 +18875,47 @@ msgstr "Fehlgeschlagener Systemaufruf war DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "Fehlgeschlagener Systemaufruf war MapViewOfFileEx." -#: postmaster/autovacuum.c:404 +#: postmaster/autovacuum.c:405 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "konnte Autovacuum-Launcher-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/autovacuum.c:752 +#: postmaster/autovacuum.c:753 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "Autovacuum-Worker benötigte zu lange zum Starten; abgebrochen" -#: postmaster/autovacuum.c:1482 +#: postmaster/autovacuum.c:1483 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "konnte Autovacuum-Worker-Prozess nicht starten (fork-Fehler): %m" -#: postmaster/autovacuum.c:2277 +#: postmaster/autovacuum.c:2296 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "Autovacuum: lösche verwaiste temporäre Tabelle »%s.%s.%s«" -#: postmaster/autovacuum.c:2502 +#: postmaster/autovacuum.c:2521 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "automatisches Vacuum der Tabelle »%s.%s.%s«" -#: postmaster/autovacuum.c:2505 +#: postmaster/autovacuum.c:2524 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "automatisches Analysieren der Tabelle »%s.%s.%s«" -#: postmaster/autovacuum.c:2698 +#: postmaster/autovacuum.c:2717 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "verarbeite Arbeitseintrag für Relation »%s.%s.%s«" -#: postmaster/autovacuum.c:3309 +#: postmaster/autovacuum.c:3328 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "Autovacuum wegen Fehlkonfiguration nicht gestartet" -#: postmaster/autovacuum.c:3310 +#: postmaster/autovacuum.c:3329 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Schalten Sie die Option »track_counts« ein." @@ -20193,57 +20211,57 @@ msgstr "Logische Dekodierung beginnt mit gespeichertem Snapshot." msgid "could not parse file name \"%s\"" msgstr "konnte Dateinamen »%s« nicht parsen" -#: replication/logical/tablesync.c:151 +#: replication/logical/tablesync.c:158 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" msgstr "Arbeitsprozess für logische Replikation für Tabellensynchronisation für Subskription »%s«, Tabelle »%s« hat abgeschlossen" -#: replication/logical/tablesync.c:422 +#: replication/logical/tablesync.c:429 #, c-format msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" msgstr "Apply-Worker für logische Replikation für Subskription »%s« wird neu starten, damit two_phase eingeschaltet werden kann" -#: replication/logical/tablesync.c:741 replication/logical/tablesync.c:882 +#: replication/logical/tablesync.c:748 replication/logical/tablesync.c:889 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "konnte Tabelleninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s" -#: replication/logical/tablesync.c:748 +#: replication/logical/tablesync.c:755 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "Tabelle »%s.%s« nicht auf dem Publikationsserver gefunden" -#: replication/logical/tablesync.c:805 +#: replication/logical/tablesync.c:812 #, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "konnte Spaltenlisteninformationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s" -#: replication/logical/tablesync.c:984 +#: replication/logical/tablesync.c:991 #, c-format msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s" msgstr "konnte WHERE-Klausel-Informationen für Tabelle »%s.%s« nicht vom Publikationsserver holen: %s" -#: replication/logical/tablesync.c:1129 +#: replication/logical/tablesync.c:1136 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "konnte Kopieren des Anfangsinhalts für Tabelle »%s.%s« nicht starten: %s" -#: replication/logical/tablesync.c:1341 replication/logical/worker.c:1635 +#: replication/logical/tablesync.c:1348 replication/logical/worker.c:1635 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "Benutzer »%s« kann nicht in eine Relation mit Sicherheit auf Zeilenebene replizieren: »%s«" -#: replication/logical/tablesync.c:1356 +#: replication/logical/tablesync.c:1363 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht gestartet werden: %s" -#: replication/logical/tablesync.c:1398 +#: replication/logical/tablesync.c:1405 #, c-format msgid "replication origin \"%s\" already exists" msgstr "Replication-Origin »%s« existiert bereits" -#: replication/logical/tablesync.c:1411 +#: replication/logical/tablesync.c:1418 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "beim Kopieren der Tabelle konnte die Transaktion auf dem Publikationsserver nicht beenden werden: %s" @@ -20836,223 +20854,223 @@ msgstr "unerwarteter Message-Typ »%c«" msgid "terminating walsender process due to replication timeout" msgstr "WAL-Sender-Prozess wird abgebrochen wegen Zeitüberschreitung bei der Replikation" -#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:1013 +#: rewrite/rewriteDefine.c:113 rewrite/rewriteDefine.c:1019 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "Regel »%s« für Relation »%s« existiert bereits" -#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:951 +#: rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:957 #, c-format msgid "relation \"%s\" cannot have rules" msgstr "Relation »%s« kann keine Regeln haben" -#: rewrite/rewriteDefine.c:302 +#: rewrite/rewriteDefine.c:303 #, c-format msgid "rule actions on OLD are not implemented" msgstr "Regelaktionen für OLD sind nicht implementiert" -#: rewrite/rewriteDefine.c:303 +#: rewrite/rewriteDefine.c:304 #, c-format msgid "Use views or triggers instead." msgstr "Verwenden Sie stattdessen Sichten oder Trigger." -#: rewrite/rewriteDefine.c:307 +#: rewrite/rewriteDefine.c:308 #, c-format msgid "rule actions on NEW are not implemented" msgstr "Regelaktionen für NEW sind nicht implementiert" -#: rewrite/rewriteDefine.c:308 +#: rewrite/rewriteDefine.c:309 #, c-format msgid "Use triggers instead." msgstr "Verwenden Sie stattdessen Trigger." -#: rewrite/rewriteDefine.c:321 +#: rewrite/rewriteDefine.c:322 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "INSTEAD-NOTHING-Regeln für SELECT sind nicht implementiert" -#: rewrite/rewriteDefine.c:322 +#: rewrite/rewriteDefine.c:323 #, c-format msgid "Use views instead." msgstr "Verwenden Sie stattdessen Sichten." -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:331 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "mehrere Regelaktionen für SELECT-Regeln sind nicht implementiert" -#: rewrite/rewriteDefine.c:340 +#: rewrite/rewriteDefine.c:341 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "Regeln für SELECT müssen als Aktion INSTEAD SELECT haben" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:349 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "Regeln für SELECT dürfen keine datenmodifizierenden Anweisungen in WITH enthalten" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:357 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "Ereignisqualifikationen sind nicht implementiert für SELECT-Regeln" -#: rewrite/rewriteDefine.c:383 +#: rewrite/rewriteDefine.c:384 #, c-format msgid "\"%s\" is already a view" msgstr "»%s« ist bereits eine Sicht" -#: rewrite/rewriteDefine.c:407 +#: rewrite/rewriteDefine.c:408 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "Sicht-Regel für »%s« muss »%s« heißen" -#: rewrite/rewriteDefine.c:436 +#: rewrite/rewriteDefine.c:442 #, c-format msgid "cannot convert partitioned table \"%s\" to a view" msgstr "kann partitionierte Tabelle »%s« nicht in eine Sicht umwandeln" -#: rewrite/rewriteDefine.c:445 +#: rewrite/rewriteDefine.c:451 #, c-format msgid "cannot convert partition \"%s\" to a view" msgstr "kann Partition »%s« nicht in eine Sicht umwandeln" -#: rewrite/rewriteDefine.c:454 +#: rewrite/rewriteDefine.c:460 #, c-format msgid "could not convert table \"%s\" to a view because it is not empty" msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie nicht leer ist" -#: rewrite/rewriteDefine.c:463 +#: rewrite/rewriteDefine.c:469 #, c-format msgid "could not convert table \"%s\" to a view because it has triggers" msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Trigger hat" -#: rewrite/rewriteDefine.c:465 +#: rewrite/rewriteDefine.c:471 #, c-format msgid "In particular, the table cannot be involved in any foreign key relationships." msgstr "Insbesondere darf die Tabelle nicht in Fremschlüsselverhältnisse eingebunden sein." -#: rewrite/rewriteDefine.c:470 +#: rewrite/rewriteDefine.c:476 #, c-format msgid "could not convert table \"%s\" to a view because it has indexes" msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Indexe hat" -#: rewrite/rewriteDefine.c:476 +#: rewrite/rewriteDefine.c:482 #, c-format msgid "could not convert table \"%s\" to a view because it has child tables" msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie abgeleitete Tabellen hat" -#: rewrite/rewriteDefine.c:482 +#: rewrite/rewriteDefine.c:488 #, c-format msgid "could not convert table \"%s\" to a view because it has parent tables" msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Elterntabellen hat" -#: rewrite/rewriteDefine.c:488 +#: rewrite/rewriteDefine.c:494 #, c-format msgid "could not convert table \"%s\" to a view because it has row security enabled" msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Sicherheit auf Zeilenebene eingeschaltet hat" -#: rewrite/rewriteDefine.c:494 +#: rewrite/rewriteDefine.c:500 #, c-format msgid "could not convert table \"%s\" to a view because it has row security policies" msgstr "konnte Tabelle »%s« nicht in Sicht umwandeln, weil sie Policys für Sicherheit auf Zeilenebene hat" -#: rewrite/rewriteDefine.c:521 +#: rewrite/rewriteDefine.c:527 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "Regel kann nicht mehrere RETURNING-Listen enthalten" -#: rewrite/rewriteDefine.c:526 +#: rewrite/rewriteDefine.c:532 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "RETURNING-Listen werden in Regeln mit Bedingung nicht unterstützt" -#: rewrite/rewriteDefine.c:530 +#: rewrite/rewriteDefine.c:536 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "RETURNING-Listen werden nur in INSTEAD-Regeln unterstützt" -#: rewrite/rewriteDefine.c:544 +#: rewrite/rewriteDefine.c:550 #, c-format msgid "non-view rule for \"%s\" must not be named \"%s\"" msgstr "Nicht-Sicht-Regel für »%s« darf nicht »%s« heißen" -#: rewrite/rewriteDefine.c:706 +#: rewrite/rewriteDefine.c:712 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "Targetliste von SELECT-Regel hat zu viele Einträge" -#: rewrite/rewriteDefine.c:707 +#: rewrite/rewriteDefine.c:713 #, c-format msgid "RETURNING list has too many entries" msgstr "RETURNING-Liste hat zu viele Einträge" -#: rewrite/rewriteDefine.c:734 +#: rewrite/rewriteDefine.c:740 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "kann Relation mit gelöschten Spalten nicht in Sicht umwandeln" -#: rewrite/rewriteDefine.c:735 +#: rewrite/rewriteDefine.c:741 #, c-format msgid "cannot create a RETURNING list for a relation containing dropped columns" msgstr "für eine Relation mit gelöschten Spalten kann keine RETURNING-Liste erzeugt werden" -#: rewrite/rewriteDefine.c:741 +#: rewrite/rewriteDefine.c:747 #, c-format msgid "SELECT rule's target entry %d has different column name from column \"%s\"" msgstr "Spaltenname in Targeteintrag %d von SELECT-Regel unterscheidet sich von Spalte »%s«" -#: rewrite/rewriteDefine.c:743 +#: rewrite/rewriteDefine.c:749 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "SELECT-Targeteintrag heißt »%s«." -#: rewrite/rewriteDefine.c:752 +#: rewrite/rewriteDefine.c:758 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "Typ von Targeteintrag %d von SELECT-Regel unterscheidet sich von Spalte »%s«" -#: rewrite/rewriteDefine.c:754 +#: rewrite/rewriteDefine.c:760 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "Eintrag %d in RETURNING-Liste hat anderen Typ als Spalte »%s«" -#: rewrite/rewriteDefine.c:757 rewrite/rewriteDefine.c:781 +#: rewrite/rewriteDefine.c:763 rewrite/rewriteDefine.c:787 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "SELECT-Targeteintrag hat Typ %s, aber Spalte hat Typ %s." -#: rewrite/rewriteDefine.c:760 rewrite/rewriteDefine.c:785 +#: rewrite/rewriteDefine.c:766 rewrite/rewriteDefine.c:791 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "Eintrag in RETURNING-Liste hat Typ %s, aber Spalte hat Typ %s." -#: rewrite/rewriteDefine.c:776 +#: rewrite/rewriteDefine.c:782 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "Größe von Targeteintrag %d von SELECT-Regel unterscheidet sich von Spalte »%s«" -#: rewrite/rewriteDefine.c:778 +#: rewrite/rewriteDefine.c:784 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "Eintrag %d in RETURNING-Liste hat andere Größe als Spalte »%s«" -#: rewrite/rewriteDefine.c:795 +#: rewrite/rewriteDefine.c:801 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "Targetliste von SELECT-Regeln hat zu wenige Einträge" -#: rewrite/rewriteDefine.c:796 +#: rewrite/rewriteDefine.c:802 #, c-format msgid "RETURNING list has too few entries" msgstr "RETURNING-Liste hat zu wenige Einträge" -#: rewrite/rewriteDefine.c:889 rewrite/rewriteDefine.c:1004 +#: rewrite/rewriteDefine.c:895 rewrite/rewriteDefine.c:1010 #: rewrite/rewriteSupport.c:109 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "Regel »%s« für Relation »%s« existiert nicht" -#: rewrite/rewriteDefine.c:1023 +#: rewrite/rewriteDefine.c:1029 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "Umbenennen einer ON-SELECT-Regel ist nicht erlaubt" @@ -21944,62 +21962,62 @@ msgstr "beim erneuten Prüfen des aktualisierten Tupels (%u,%u) in Relation »%s msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "beim Prüfen eines Exclusion-Constraints für Tupel (%u,%u) in Relation »%s«" -#: storage/lmgr/lmgr.c:1135 +#: storage/lmgr/lmgr.c:1173 #, c-format msgid "relation %u of database %u" msgstr "Relation %u der Datenbank %u" -#: storage/lmgr/lmgr.c:1141 +#: storage/lmgr/lmgr.c:1179 #, c-format msgid "extension of relation %u of database %u" msgstr "Erweiterung von Relation %u in Datenbank %u" -#: storage/lmgr/lmgr.c:1147 +#: storage/lmgr/lmgr.c:1185 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid der Datenbank %u" -#: storage/lmgr/lmgr.c:1152 +#: storage/lmgr/lmgr.c:1190 #, c-format msgid "page %u of relation %u of database %u" msgstr "Seite %u von Relation %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1159 +#: storage/lmgr/lmgr.c:1197 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "Tupel (%u, %u) von Relation %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1167 +#: storage/lmgr/lmgr.c:1205 #, c-format msgid "transaction %u" msgstr "Transaktion %u" -#: storage/lmgr/lmgr.c:1172 +#: storage/lmgr/lmgr.c:1210 #, c-format msgid "virtual transaction %d/%u" msgstr "virtuelle Transaktion %d/%u" -#: storage/lmgr/lmgr.c:1178 +#: storage/lmgr/lmgr.c:1216 #, c-format msgid "speculative token %u of transaction %u" msgstr "spekulatives Token %u von Transaktion %u" -#: storage/lmgr/lmgr.c:1184 +#: storage/lmgr/lmgr.c:1222 #, c-format msgid "object %u of class %u of database %u" msgstr "Objekt %u von Klasse %u von Datenbank %u" -#: storage/lmgr/lmgr.c:1192 +#: storage/lmgr/lmgr.c:1230 #, c-format msgid "user lock [%u,%u,%u]" msgstr "Benutzersperre [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1199 +#: storage/lmgr/lmgr.c:1237 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "Benutzersperre [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1207 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "unrecognized locktag type %d" msgstr "unbekannter Locktag-Typ %d" @@ -23017,7 +23035,7 @@ msgstr "Eingabedatentyp ist kein Array" #: utils/adt/int.c:1024 utils/adt/int.c:1057 utils/adt/int.c:1071 #: utils/adt/int.c:1085 utils/adt/int.c:1116 utils/adt/int.c:1198 #: utils/adt/int.c:1262 utils/adt/int.c:1330 utils/adt/int.c:1336 -#: utils/adt/int8.c:1257 utils/adt/numeric.c:1830 utils/adt/numeric.c:4293 +#: utils/adt/int8.c:1272 utils/adt/numeric.c:1830 utils/adt/numeric.c:4293 #: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1113 #: utils/adt/varlena.c:3391 #, c-format @@ -23368,7 +23386,7 @@ msgstr "Kodierungsumwandlung zwischen %s und ASCII wird nicht unterstützt" #: utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 #: utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 #: utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:346 +#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:354 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "ungültige Eingabesyntax für Typ %s: »%s«" @@ -23386,11 +23404,11 @@ msgstr "Wert »%s« ist außerhalb des gültigen Bereichs für Typ %s" #: utils/adt/float.c:105 utils/adt/int.c:842 utils/adt/int.c:958 #: utils/adt/int.c:1038 utils/adt/int.c:1100 utils/adt/int.c:1138 #: utils/adt/int.c:1166 utils/adt/int8.c:515 utils/adt/int8.c:573 -#: utils/adt/int8.c:943 utils/adt/int8.c:1023 utils/adt/int8.c:1085 -#: utils/adt/int8.c:1165 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116 +#: utils/adt/int8.c:958 utils/adt/int8.c:1038 utils/adt/int8.c:1100 +#: utils/adt/int8.c:1180 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116 #: utils/adt/numeric.c:3201 utils/adt/numeric.c:3219 utils/adt/numeric.c:3315 #: utils/adt/numeric.c:8481 utils/adt/numeric.c:8771 utils/adt/numeric.c:9096 -#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3361 +#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3373 #, c-format msgid "division by zero" msgstr "Division durch Null" @@ -23456,20 +23474,20 @@ msgid "date out of range for timestamp" msgstr "Datum ist außerhalb des gültigen Bereichs für Typ »timestamp«" #: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 -#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4078 -#: utils/adt/timestamp.c:4271 utils/adt/timestamp.c:4443 -#: utils/adt/timestamp.c:4696 utils/adt/timestamp.c:4897 -#: utils/adt/timestamp.c:4944 utils/adt/timestamp.c:5168 -#: utils/adt/timestamp.c:5215 utils/adt/timestamp.c:5345 +#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4107 +#: utils/adt/timestamp.c:4317 utils/adt/timestamp.c:4489 +#: utils/adt/timestamp.c:4742 utils/adt/timestamp.c:4943 +#: utils/adt/timestamp.c:4990 utils/adt/timestamp.c:5214 +#: utils/adt/timestamp.c:5261 utils/adt/timestamp.c:5391 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "Einheit »%s« nicht unterstützt für Typ %s" #: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 -#: utils/adt/timestamp.c:4092 utils/adt/timestamp.c:4288 -#: utils/adt/timestamp.c:4457 utils/adt/timestamp.c:4656 -#: utils/adt/timestamp.c:4953 utils/adt/timestamp.c:5224 -#: utils/adt/timestamp.c:5406 +#: utils/adt/timestamp.c:4121 utils/adt/timestamp.c:4334 +#: utils/adt/timestamp.c:4503 utils/adt/timestamp.c:4702 +#: utils/adt/timestamp.c:4999 utils/adt/timestamp.c:5270 +#: utils/adt/timestamp.c:5452 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "Einheit »%s« nicht erkannt für Typ %s" @@ -23482,22 +23500,25 @@ msgstr "Einheit »%s« nicht erkannt für Typ %s" #: utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257 #: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 #: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 -#: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937 -#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2961 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2975 -#: utils/adt/timestamp.c:3030 utils/adt/timestamp.c:3053 -#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3080 -#: utils/adt/timestamp.c:3088 utils/adt/timestamp.c:3096 -#: utils/adt/timestamp.c:3782 utils/adt/timestamp.c:3906 -#: utils/adt/timestamp.c:3996 utils/adt/timestamp.c:4086 -#: utils/adt/timestamp.c:4179 utils/adt/timestamp.c:4282 -#: utils/adt/timestamp.c:4761 utils/adt/timestamp.c:5035 -#: utils/adt/timestamp.c:5485 utils/adt/timestamp.c:5499 -#: utils/adt/timestamp.c:5504 utils/adt/timestamp.c:5518 -#: utils/adt/timestamp.c:5551 utils/adt/timestamp.c:5638 -#: utils/adt/timestamp.c:5679 utils/adt/timestamp.c:5683 -#: utils/adt/timestamp.c:5752 utils/adt/timestamp.c:5756 -#: utils/adt/timestamp.c:5770 utils/adt/timestamp.c:5804 utils/adt/xml.c:2241 +#: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2921 +#: utils/adt/timestamp.c:2940 utils/adt/timestamp.c:2953 +#: utils/adt/timestamp.c:2964 utils/adt/timestamp.c:2970 +#: utils/adt/timestamp.c:2976 utils/adt/timestamp.c:2981 +#: utils/adt/timestamp.c:3036 utils/adt/timestamp.c:3041 +#: utils/adt/timestamp.c:3062 utils/adt/timestamp.c:3075 +#: utils/adt/timestamp.c:3089 utils/adt/timestamp.c:3097 +#: utils/adt/timestamp.c:3103 utils/adt/timestamp.c:3108 +#: utils/adt/timestamp.c:3794 utils/adt/timestamp.c:3918 +#: utils/adt/timestamp.c:3989 utils/adt/timestamp.c:4025 +#: utils/adt/timestamp.c:4115 utils/adt/timestamp.c:4189 +#: utils/adt/timestamp.c:4225 utils/adt/timestamp.c:4328 +#: utils/adt/timestamp.c:4807 utils/adt/timestamp.c:5081 +#: utils/adt/timestamp.c:5531 utils/adt/timestamp.c:5545 +#: utils/adt/timestamp.c:5550 utils/adt/timestamp.c:5564 +#: utils/adt/timestamp.c:5597 utils/adt/timestamp.c:5684 +#: utils/adt/timestamp.c:5725 utils/adt/timestamp.c:5729 +#: utils/adt/timestamp.c:5798 utils/adt/timestamp.c:5802 +#: utils/adt/timestamp.c:5816 utils/adt/timestamp.c:5850 utils/adt/xml.c:2241 #: utils/adt/xml.c:2248 utils/adt/xml.c:2268 utils/adt/xml.c:2275 #, c-format msgid "timestamp out of range" @@ -23516,8 +23537,8 @@ msgstr "Zeit-Feldwert ist außerhalb des gültigen Bereichs: %d:%02d:%02g" #: utils/adt/date.c:2096 utils/adt/date.c:2630 utils/adt/float.c:1048 #: utils/adt/float.c:1124 utils/adt/int.c:634 utils/adt/int.c:681 #: utils/adt/int.c:716 utils/adt/int8.c:414 utils/adt/numeric.c:2497 -#: utils/adt/timestamp.c:3432 utils/adt/timestamp.c:3463 -#: utils/adt/timestamp.c:3494 +#: utils/adt/timestamp.c:3444 utils/adt/timestamp.c:3475 +#: utils/adt/timestamp.c:3506 #, c-format msgid "invalid preceding or following size in window function" msgstr "ungültige vorhergehende oder folgende Größe in Fensterfunktion" @@ -23529,13 +23550,13 @@ msgstr "Zeitzonenunterschied ist außerhalb des gültigen Bereichs" #: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 #: utils/adt/datetime.c:4898 utils/adt/timestamp.c:516 -#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4365 -#: utils/adt/timestamp.c:5510 utils/adt/timestamp.c:5762 +#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4411 +#: utils/adt/timestamp.c:5556 utils/adt/timestamp.c:5808 #, c-format msgid "time zone \"%s\" not recognized" msgstr "Zeitzone »%s« nicht erkannt" -#: utils/adt/date.c:3117 utils/adt/timestamp.c:5540 utils/adt/timestamp.c:5793 +#: utils/adt/date.c:3117 utils/adt/timestamp.c:5586 utils/adt/timestamp.c:5839 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "Intervall-Zeitzone »%s« darf keine Monate oder Tage enthalten" @@ -23690,7 +23711,7 @@ msgstr "»%s« ist außerhalb des gültigen Bereichs für Typ double precision" #: utils/adt/float.c:1259 utils/adt/float.c:1333 utils/adt/int.c:354 #: utils/adt/int.c:892 utils/adt/int.c:914 utils/adt/int.c:928 #: utils/adt/int.c:942 utils/adt/int.c:974 utils/adt/int.c:1212 -#: utils/adt/int8.c:1278 utils/adt/numeric.c:4405 utils/adt/numeric.c:4410 +#: utils/adt/int8.c:1293 utils/adt/numeric.c:4405 utils/adt/numeric.c:4410 #, c-format msgid "smallint out of range" msgstr "smallint ist außerhalb des gültigen Bereichs" @@ -24101,8 +24122,8 @@ msgstr "mindestens 2 Punkte müssen angefordert werden" msgid "invalid int2vector data" msgstr "ungültige int2vector-Daten" -#: utils/adt/int.c:1528 utils/adt/int8.c:1404 utils/adt/numeric.c:1678 -#: utils/adt/timestamp.c:5855 utils/adt/timestamp.c:5935 +#: utils/adt/int.c:1528 utils/adt/int8.c:1419 utils/adt/numeric.c:1678 +#: utils/adt/timestamp.c:5901 utils/adt/timestamp.c:5981 #, c-format msgid "step size cannot equal zero" msgstr "Schrittgröße kann nicht gleich null sein" @@ -24111,18 +24132,18 @@ msgstr "Schrittgröße kann nicht gleich null sein" #: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 #: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 #: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 -#: utils/adt/int8.c:788 utils/adt/int8.c:900 utils/adt/int8.c:914 -#: utils/adt/int8.c:928 utils/adt/int8.c:959 utils/adt/int8.c:981 -#: utils/adt/int8.c:995 utils/adt/int8.c:1009 utils/adt/int8.c:1042 -#: utils/adt/int8.c:1056 utils/adt/int8.c:1070 utils/adt/int8.c:1101 -#: utils/adt/int8.c:1123 utils/adt/int8.c:1137 utils/adt/int8.c:1151 -#: utils/adt/int8.c:1313 utils/adt/int8.c:1348 utils/adt/numeric.c:4364 +#: utils/adt/int8.c:788 utils/adt/int8.c:915 utils/adt/int8.c:929 +#: utils/adt/int8.c:943 utils/adt/int8.c:974 utils/adt/int8.c:996 +#: utils/adt/int8.c:1010 utils/adt/int8.c:1024 utils/adt/int8.c:1057 +#: utils/adt/int8.c:1071 utils/adt/int8.c:1085 utils/adt/int8.c:1116 +#: utils/adt/int8.c:1138 utils/adt/int8.c:1152 utils/adt/int8.c:1166 +#: utils/adt/int8.c:1328 utils/adt/int8.c:1363 utils/adt/numeric.c:4364 #: utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigint ist außerhalb des gültigen Bereichs" -#: utils/adt/int8.c:1361 +#: utils/adt/int8.c:1376 #, c-format msgid "OID out of range" msgstr "OID ist außerhalb des gültigen Bereichs" @@ -24132,7 +24153,7 @@ msgstr "OID ist außerhalb des gültigen Bereichs" msgid "key value must be scalar, not array, composite, or json" msgstr "Schlüsselwert muss skalar sein, nicht Array, zusammengesetzt oder json" -#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2104 +#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2112 #, c-format msgid "could not determine data type for argument %d" msgstr "konnte Datentyp von Argument %d nicht ermitteln" @@ -24568,67 +24589,67 @@ msgstr "Zeichenkettenargument der JSON-Path-Item-Methode .%s() ist nicht gültig msgid "jsonpath item method .%s() can only be applied to a string or numeric value" msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette oder einen numerischen Wert angewendet werden" -#: utils/adt/jsonpath_exec.c:1583 +#: utils/adt/jsonpath_exec.c:1586 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "linker Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert" -#: utils/adt/jsonpath_exec.c:1590 +#: utils/adt/jsonpath_exec.c:1593 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "rechter Operand des JSON-Path-Operators %s ist kein einzelner numerischer Wert" -#: utils/adt/jsonpath_exec.c:1658 +#: utils/adt/jsonpath_exec.c:1661 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "Operand des unären JSON-Path-Operators %s ist kein numerischer Wert" -#: utils/adt/jsonpath_exec.c:1756 +#: utils/adt/jsonpath_exec.c:1759 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "JSON-Path-Item-Methode .%s() kann nur auf einen numerischen Wert angewendet werden" -#: utils/adt/jsonpath_exec.c:1796 +#: utils/adt/jsonpath_exec.c:1799 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "JSON-Path-Item-Methode .%s() kann nur auf eine Zeichenkette angewendet werden" -#: utils/adt/jsonpath_exec.c:1899 +#: utils/adt/jsonpath_exec.c:1902 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "Datum-/Zeitformat nicht erkannt: »%s«" -#: utils/adt/jsonpath_exec.c:1901 +#: utils/adt/jsonpath_exec.c:1904 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "Verwenden Sie das Template-Argument für .datetime(), um das Eingabeformat anzugeben." -#: utils/adt/jsonpath_exec.c:1969 +#: utils/adt/jsonpath_exec.c:1972 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "JSON-Path-Item-Methode .%s() kann nur auf ein Objekt angewendet werden" -#: utils/adt/jsonpath_exec.c:2151 +#: utils/adt/jsonpath_exec.c:2154 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "konnte JSON-Path-Variable »%s« nicht finden" -#: utils/adt/jsonpath_exec.c:2415 +#: utils/adt/jsonpath_exec.c:2418 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "JSON-Path-Arrayindex ist kein einzelner numerischer Wert" -#: utils/adt/jsonpath_exec.c:2427 +#: utils/adt/jsonpath_exec.c:2430 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "JSON-Path-Arrayindex außerhalb des gültigen Bereichs für ganze Zahlen" -#: utils/adt/jsonpath_exec.c:2604 +#: utils/adt/jsonpath_exec.c:2607 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "Wert kann nicht von %s nach %s konvertiert werden ohne Verwendung von Zeitzonen" -#: utils/adt/jsonpath_exec.c:2606 +#: utils/adt/jsonpath_exec.c:2609 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Verwenden Sie die *_tz()-Funktion für Zeitzonenunterstützung." @@ -25278,7 +25299,7 @@ msgid "more than one operator named %s" msgstr "es gibt mehrere Operatoren namens %s" #: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 -#: utils/adt/ruleutils.c:10028 utils/adt/ruleutils.c:10197 +#: utils/adt/ruleutils.c:10029 utils/adt/ruleutils.c:10198 #, c-format msgid "too many arguments" msgstr "zu viele Argumente" @@ -25449,22 +25470,22 @@ msgstr "kann unterschiedliche Spaltentyp %s und %s in Record-Spalte %d nicht ver msgid "cannot compare record types with different numbers of columns" msgstr "kann Record-Typen mit unterschiedlicher Anzahl Spalten nicht vergleichen" -#: utils/adt/ruleutils.c:2725 +#: utils/adt/ruleutils.c:2710 #, c-format msgid "input is a query, not an expression" msgstr "Eingabe ist eine Anfrage, kein Ausdruck" -#: utils/adt/ruleutils.c:2737 +#: utils/adt/ruleutils.c:2722 #, c-format msgid "expression contains variables of more than one relation" msgstr "Ausdruck enthält Verweise auf Variablen von mehr als einer Relation" -#: utils/adt/ruleutils.c:2744 +#: utils/adt/ruleutils.c:2729 #, c-format msgid "expression contains variables" msgstr "Ausdruck enthält Variablen" -#: utils/adt/ruleutils.c:5267 +#: utils/adt/ruleutils.c:5268 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "Regel »%s« hat nicht unterstützten Ereignistyp %d" @@ -25518,13 +25539,15 @@ msgstr "timestamp ist außerhalb des gültigen Bereichs: »%g«" #: utils/adt/timestamp.c:938 utils/adt/timestamp.c:1509 #: utils/adt/timestamp.c:2761 utils/adt/timestamp.c:2778 #: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2870 -#: utils/adt/timestamp.c:3134 utils/adt/timestamp.c:3139 -#: utils/adt/timestamp.c:3144 utils/adt/timestamp.c:3194 -#: utils/adt/timestamp.c:3201 utils/adt/timestamp.c:3208 -#: utils/adt/timestamp.c:3228 utils/adt/timestamp.c:3235 -#: utils/adt/timestamp.c:3242 utils/adt/timestamp.c:3329 -#: utils/adt/timestamp.c:3404 utils/adt/timestamp.c:3777 -#: utils/adt/timestamp.c:3901 utils/adt/timestamp.c:4451 +#: utils/adt/timestamp.c:3146 utils/adt/timestamp.c:3151 +#: utils/adt/timestamp.c:3156 utils/adt/timestamp.c:3206 +#: utils/adt/timestamp.c:3213 utils/adt/timestamp.c:3220 +#: utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3247 +#: utils/adt/timestamp.c:3254 utils/adt/timestamp.c:3341 +#: utils/adt/timestamp.c:3416 utils/adt/timestamp.c:3789 +#: utils/adt/timestamp.c:3913 utils/adt/timestamp.c:3961 +#: utils/adt/timestamp.c:3971 utils/adt/timestamp.c:4161 +#: utils/adt/timestamp.c:4171 utils/adt/timestamp.c:4497 #, c-format msgid "interval out of range" msgstr "interval-Wert ist außerhalb des gültigen Bereichs" @@ -25554,22 +25577,22 @@ msgstr "Präzision von interval(%d) muss zwischen %d und %d sein" msgid "cannot subtract infinite timestamps" msgstr "kann unendliche timestamp-Werte nicht subtrahieren" -#: utils/adt/timestamp.c:3937 utils/adt/timestamp.c:4120 +#: utils/adt/timestamp.c:3950 utils/adt/timestamp.c:4150 #, c-format msgid "origin out of range" msgstr "Anfangspunkt ist außerhalb des gültigen Bereichs" -#: utils/adt/timestamp.c:3942 utils/adt/timestamp.c:4125 +#: utils/adt/timestamp.c:3955 utils/adt/timestamp.c:4155 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "timestamp-Werte können nicht in Intervalle, die Monate oder Jahre enthalten, einsortiert werden" -#: utils/adt/timestamp.c:3949 utils/adt/timestamp.c:4132 +#: utils/adt/timestamp.c:3966 utils/adt/timestamp.c:4166 #, c-format msgid "stride must be greater than zero" msgstr "Schrittgröße muss größer als null sein" -#: utils/adt/timestamp.c:4445 +#: utils/adt/timestamp.c:4491 #, c-format msgid "Months usually have fractional weeks." msgstr "Monate haben gewöhnlich partielle Wochen." @@ -25947,22 +25970,22 @@ msgstr "ungültiger Unicode-Codepunkt: %04X" msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Unicode-Escapes müssen \\XXXX, \\+XXXXXX, \\uXXXX oder \\UXXXXXXXX sein." -#: utils/adt/windowfuncs.c:306 +#: utils/adt/windowfuncs.c:307 #, c-format msgid "argument of ntile must be greater than zero" msgstr "Argument von ntile muss größer als null sein" -#: utils/adt/windowfuncs.c:528 +#: utils/adt/windowfuncs.c:529 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "Argument von nth_value muss größer als null sein" -#: utils/adt/xid8funcs.c:117 +#: utils/adt/xid8funcs.c:118 #, c-format msgid "transaction ID %llu is in the future" msgstr "Transaktions-ID %llu ist in der Zukunft" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:555 #, c-format msgid "invalid external pg_snapshot data" msgstr "ungültige externe pg_snapshot-Daten" @@ -26197,7 +26220,7 @@ msgstr "Relation-Mapping-Datei »%s« enthält ungültige Daten" msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "Relation-Mapping-Datei »%s« enthält falsche Prüfsumme" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:575 +#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:583 #, c-format msgid "record type has not been registered" msgstr "Record-Typ wurde nicht registriert" @@ -26217,92 +26240,92 @@ msgstr "TRAP: %s(»%s«, Datei: »%s«, Zeile: %d, PID: %d)\n" msgid "error occurred before error message processing is available\n" msgstr "Fehler geschah bevor Fehlermeldungsverarbeitung bereit war\n" -#: utils/error/elog.c:1943 +#: utils/error/elog.c:1947 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "konnte Datei »%s« nicht als stderr neu öffnen: %m" -#: utils/error/elog.c:1956 +#: utils/error/elog.c:1960 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "konnte Datei »%s« nicht als stdout neu öffnen: %m" -#: utils/error/elog.c:2521 utils/error/elog.c:2548 utils/error/elog.c:2564 +#: utils/error/elog.c:2525 utils/error/elog.c:2552 utils/error/elog.c:2568 msgid "[unknown]" msgstr "[unbekannt]" -#: utils/error/elog.c:2837 utils/error/elog.c:3158 utils/error/elog.c:3265 +#: utils/error/elog.c:2841 utils/error/elog.c:3162 utils/error/elog.c:3269 msgid "missing error text" msgstr "fehlender Fehlertext" -#: utils/error/elog.c:2840 utils/error/elog.c:2843 +#: utils/error/elog.c:2844 utils/error/elog.c:2847 #, c-format msgid " at character %d" msgstr " bei Zeichen %d" -#: utils/error/elog.c:2853 utils/error/elog.c:2860 +#: utils/error/elog.c:2857 utils/error/elog.c:2864 msgid "DETAIL: " msgstr "DETAIL: " -#: utils/error/elog.c:2867 +#: utils/error/elog.c:2871 msgid "HINT: " msgstr "TIPP: " -#: utils/error/elog.c:2874 +#: utils/error/elog.c:2878 msgid "QUERY: " msgstr "ANFRAGE: " -#: utils/error/elog.c:2881 +#: utils/error/elog.c:2885 msgid "CONTEXT: " msgstr "ZUSAMMENHANG: " -#: utils/error/elog.c:2891 +#: utils/error/elog.c:2895 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ORT: %s, %s:%d\n" -#: utils/error/elog.c:2898 +#: utils/error/elog.c:2902 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ORT: %s:%d\n" -#: utils/error/elog.c:2905 +#: utils/error/elog.c:2909 msgid "BACKTRACE: " msgstr "BACKTRACE: " -#: utils/error/elog.c:2917 +#: utils/error/elog.c:2921 msgid "STATEMENT: " msgstr "ANWEISUNG: " -#: utils/error/elog.c:3310 +#: utils/error/elog.c:3314 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3314 +#: utils/error/elog.c:3318 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3317 +#: utils/error/elog.c:3321 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3320 +#: utils/error/elog.c:3324 msgid "NOTICE" msgstr "HINWEIS" -#: utils/error/elog.c:3324 +#: utils/error/elog.c:3328 msgid "WARNING" msgstr "WARNUNG" -#: utils/error/elog.c:3327 +#: utils/error/elog.c:3331 msgid "ERROR" msgstr "FEHLER" -#: utils/error/elog.c:3330 +#: utils/error/elog.c:3334 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3333 +#: utils/error/elog.c:3337 msgid "PANIC" msgstr "PANIK" @@ -26425,32 +26448,32 @@ msgstr "Operatorklassenoptionsinformationen fehlen im Funktionsaufrufkontext" msgid "language validation function %u called for language %u instead of %u" msgstr "Sprachvalidierungsfunktion %u wurde für Sprache %u statt %u aufgerufen" -#: utils/fmgr/funcapi.c:498 +#: utils/fmgr/funcapi.c:505 #, c-format msgid "could not determine actual result type for function \"%s\" declared to return type %s" msgstr "konnte tatsächlichen Ergebnistyp von Funktion »%s« mit deklarierten Rückgabetyp %s nicht bestimmen" -#: utils/fmgr/funcapi.c:643 +#: utils/fmgr/funcapi.c:651 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "als %s deklariertes Argument enthält keinen Bereichstyp sondern Typ %s" -#: utils/fmgr/funcapi.c:726 +#: utils/fmgr/funcapi.c:734 #, c-format msgid "could not find multirange type for data type %s" msgstr "konnte Multirange-Typ für Datentyp %s nicht finden" -#: utils/fmgr/funcapi.c:1943 utils/fmgr/funcapi.c:1975 +#: utils/fmgr/funcapi.c:1951 utils/fmgr/funcapi.c:1983 #, c-format msgid "number of aliases does not match number of columns" msgstr "Anzahl der Aliasnamen stimmt nicht mit der Anzahl der Spalten überein" -#: utils/fmgr/funcapi.c:1969 +#: utils/fmgr/funcapi.c:1977 #, c-format msgid "no column alias was provided" msgstr "Spaltenalias fehlt" -#: utils/fmgr/funcapi.c:1993 +#: utils/fmgr/funcapi.c:2001 #, c-format msgid "could not determine row description for function returning record" msgstr "konnte Zeilenbeschreibung für Funktion, die »record« zurückgibt, nicht ermitteln" @@ -29140,7 +29163,7 @@ msgstr "@INCLUDE ohne Dateiname in Zeitzonendatei »%s«, Zeile %d" msgid "Failed while creating memory context \"%s\"." msgstr "Fehler während der Erzeugung des Speicherkontexts »%s«." -#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1334 +#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1338 #, c-format msgid "could not attach to dynamic shared area" msgstr "konnte nicht an dynamische Shared Area anbinden" diff --git a/src/backend/po/es.po b/src/backend/po/es.po index 7c7ae44..7eff62e 100644 --- a/src/backend/po/es.po +++ b/src/backend/po/es.po @@ -5104,7 +5104,7 @@ msgstr "tipo de objeto «%s» no reconocido" #: catalog/objectaddress.c:2978 #, c-format msgid "column %s of %s" -msgstr " columna %s de %s" +msgstr "columna %s de %s" #: catalog/objectaddress.c:2993 #, c-format diff --git a/src/backend/po/fr.po b/src/backend/po/fr.po index 9e606a3..c2a77c6 100644 --- a/src/backend/po/fr.po +++ b/src/backend/po/fr.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: PostgreSQL 15\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-10-29 11:57+0000\n" -"PO-Revision-Date: 2023-07-30 16:30+0200\n" +"POT-Creation-Date: 2024-05-02 07:16+0000\n" +"PO-Revision-Date: 2024-05-02 09:49+0200\n" "Last-Translator: Guillaume Lelarge <guillaume@lelarge.info>\n" "Language-Team: French <guillaume@lelarge.info>\n" "Language: fr\n" @@ -19,10 +19,9 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" -"X-Generator: Poedit 3.3.2\n" +"X-Generator: Poedit 3.4.2\n" -#: ../common/compression.c:130 ../common/compression.c:139 -#: ../common/compression.c:148 +#: ../common/compression.c:130 ../common/compression.c:139 ../common/compression.c:148 #, c-format msgid "this build does not support compression with %s" msgstr "cette construction ne supporte pas la compression avec %s" @@ -61,64 +60,28 @@ msgstr "l'algorithme de compression « %s » attend un niveau de compression com msgid "compression algorithm \"%s\" does not accept a worker count" msgstr "l'algorithme de compression « %s » n'accepte pas un nombre de workers" -#: ../common/config_info.c:134 ../common/config_info.c:142 -#: ../common/config_info.c:150 ../common/config_info.c:158 -#: ../common/config_info.c:166 ../common/config_info.c:174 -#: ../common/config_info.c:182 ../common/config_info.c:190 +#: ../common/config_info.c:134 ../common/config_info.c:142 ../common/config_info.c:150 ../common/config_info.c:158 ../common/config_info.c:166 ../common/config_info.c:174 ../common/config_info.c:182 ../common/config_info.c:190 msgid "not recorded" msgstr "non enregistré" -#: ../common/controldata_utils.c:79 ../common/controldata_utils.c:83 -#: commands/copyfrom.c:1521 commands/extension.c:3401 utils/adt/genfile.c:123 +#: ../common/controldata_utils.c:79 ../common/controldata_utils.c:83 commands/copyfrom.c:1525 commands/extension.c:3401 utils/adt/genfile.c:123 #, c-format msgid "could not open file \"%s\" for reading: %m" msgstr "n'a pas pu ouvrir le fichier « %s » pour une lecture : %m" -#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 -#: access/transam/timeline.c:143 access/transam/timeline.c:362 -#: access/transam/twophase.c:1349 access/transam/xlog.c:3207 -#: access/transam/xlog.c:4022 access/transam/xlogrecovery.c:1197 -#: access/transam/xlogrecovery.c:1289 access/transam/xlogrecovery.c:1326 -#: access/transam/xlogrecovery.c:1386 backup/basebackup.c:1844 -#: commands/extension.c:3411 libpq/hba.c:505 replication/logical/origin.c:729 -#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4958 -#: replication/logical/snapbuild.c:1870 replication/logical/snapbuild.c:1912 -#: replication/logical/snapbuild.c:1939 replication/slot.c:1807 -#: replication/slot.c:1848 replication/walsender.c:658 -#: storage/file/buffile.c:463 storage/file/copydir.c:195 -#: utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:813 +#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1349 access/transam/xlog.c:3209 access/transam/xlog.c:4024 access/transam/xlogrecovery.c:1223 access/transam/xlogrecovery.c:1315 access/transam/xlogrecovery.c:1352 access/transam/xlogrecovery.c:1412 backup/basebackup.c:1848 commands/extension.c:3411 libpq/hba.c:505 replication/logical/origin.c:729 replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4958 replication/logical/snapbuild.c:1870 replication/logical/snapbuild.c:1912 replication/logical/snapbuild.c:1939 replication/slot.c:1807 replication/slot.c:1848 +#: replication/walsender.c:658 storage/file/buffile.c:463 storage/file/copydir.c:195 utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:816 #, c-format msgid "could not read file \"%s\": %m" msgstr "n'a pas pu lire le fichier « %s » : %m" -#: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 -#: access/transam/xlog.c:3212 access/transam/xlog.c:4027 -#: backup/basebackup.c:1848 replication/logical/origin.c:734 -#: replication/logical/origin.c:773 replication/logical/snapbuild.c:1875 -#: replication/logical/snapbuild.c:1917 replication/logical/snapbuild.c:1944 -#: replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 -#: utils/cache/relmapper.c:817 +#: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 access/transam/xlog.c:3214 access/transam/xlog.c:4029 backup/basebackup.c:1852 replication/logical/origin.c:734 replication/logical/origin.c:773 replication/logical/snapbuild.c:1875 replication/logical/snapbuild.c:1917 replication/logical/snapbuild.c:1944 replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 utils/cache/relmapper.c:820 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "n'a pas pu lire le fichier « %s » : a lu %d sur %zu" -#: ../common/controldata_utils.c:114 ../common/controldata_utils.c:118 -#: ../common/controldata_utils.c:271 ../common/controldata_utils.c:274 -#: access/heap/rewriteheap.c:1178 access/heap/rewriteheap.c:1281 -#: access/transam/timeline.c:392 access/transam/timeline.c:438 -#: access/transam/timeline.c:516 access/transam/twophase.c:1361 -#: access/transam/twophase.c:1773 access/transam/xlog.c:3054 -#: access/transam/xlog.c:3247 access/transam/xlog.c:3252 -#: access/transam/xlog.c:3390 access/transam/xlog.c:3992 -#: access/transam/xlog.c:4738 commands/copyfrom.c:1581 commands/copyto.c:327 -#: libpq/be-fsstubs.c:455 libpq/be-fsstubs.c:525 -#: replication/logical/origin.c:667 replication/logical/origin.c:806 -#: replication/logical/reorderbuffer.c:5016 -#: replication/logical/snapbuild.c:1779 replication/logical/snapbuild.c:1952 -#: replication/slot.c:1698 replication/slot.c:1859 replication/walsender.c:673 -#: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:745 -#: storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:828 -#: utils/cache/relmapper.c:956 +#: ../common/controldata_utils.c:114 ../common/controldata_utils.c:118 ../common/controldata_utils.c:271 ../common/controldata_utils.c:274 access/heap/rewriteheap.c:1178 access/heap/rewriteheap.c:1281 access/transam/timeline.c:392 access/transam/timeline.c:438 access/transam/timeline.c:516 access/transam/twophase.c:1361 access/transam/twophase.c:1773 access/transam/xlog.c:3056 access/transam/xlog.c:3249 access/transam/xlog.c:3254 access/transam/xlog.c:3392 access/transam/xlog.c:3994 access/transam/xlog.c:4740 commands/copyfrom.c:1585 commands/copyto.c:327 libpq/be-fsstubs.c:455 libpq/be-fsstubs.c:525 replication/logical/origin.c:667 replication/logical/origin.c:806 +#: replication/logical/reorderbuffer.c:5016 replication/logical/snapbuild.c:1779 replication/logical/snapbuild.c:1952 replication/slot.c:1698 replication/slot.c:1859 replication/walsender.c:673 storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:745 storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:831 utils/cache/relmapper.c:968 #, c-format msgid "could not close file \"%s\": %m" msgstr "n'a pas pu fermer le fichier « %s » : %m" @@ -141,102 +104,35 @@ msgstr "" "résultats ci-dessous sont incorrects, et l'installation de PostgreSQL\n" "est incompatible avec ce répertoire des données." -#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 -#: ../common/file_utils.c:232 ../common/file_utils.c:291 -#: ../common/file_utils.c:365 access/heap/rewriteheap.c:1264 -#: access/transam/timeline.c:111 access/transam/timeline.c:251 -#: access/transam/timeline.c:348 access/transam/twophase.c:1305 -#: access/transam/xlog.c:2941 access/transam/xlog.c:3123 -#: access/transam/xlog.c:3162 access/transam/xlog.c:3357 -#: access/transam/xlog.c:4012 access/transam/xlogrecovery.c:4209 -#: access/transam/xlogrecovery.c:4312 access/transam/xlogutils.c:852 -#: backup/basebackup.c:522 backup/basebackup.c:1520 postmaster/syslogger.c:1560 -#: replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3611 -#: replication/logical/reorderbuffer.c:4162 -#: replication/logical/reorderbuffer.c:4938 -#: replication/logical/snapbuild.c:1734 replication/logical/snapbuild.c:1841 -#: replication/slot.c:1779 replication/walsender.c:631 -#: replication/walsender.c:2722 storage/file/copydir.c:161 -#: storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 -#: storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:792 -#: utils/cache/relmapper.c:900 utils/error/elog.c:1933 -#: utils/init/miscinit.c:1366 utils/init/miscinit.c:1500 -#: utils/init/miscinit.c:1577 utils/misc/guc.c:8991 utils/misc/guc.c:9040 +#: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 ../common/file_utils.c:232 ../common/file_utils.c:291 ../common/file_utils.c:365 access/heap/rewriteheap.c:1264 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1305 access/transam/xlog.c:2943 access/transam/xlog.c:3125 access/transam/xlog.c:3164 access/transam/xlog.c:3359 access/transam/xlog.c:4014 access/transam/xlogrecovery.c:4243 access/transam/xlogrecovery.c:4346 access/transam/xlogutils.c:852 backup/basebackup.c:522 backup/basebackup.c:1524 postmaster/syslogger.c:1560 replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3611 +#: replication/logical/reorderbuffer.c:4162 replication/logical/reorderbuffer.c:4938 replication/logical/snapbuild.c:1734 replication/logical/snapbuild.c:1841 replication/slot.c:1779 replication/walsender.c:631 replication/walsender.c:2722 storage/file/copydir.c:161 storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:795 utils/cache/relmapper.c:912 utils/error/elog.c:1937 utils/init/miscinit.c:1374 utils/init/miscinit.c:1508 utils/init/miscinit.c:1585 utils/misc/guc.c:8998 utils/misc/guc.c:9047 #, c-format msgid "could not open file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier « %s » : %m" -#: ../common/controldata_utils.c:240 ../common/controldata_utils.c:243 -#: access/transam/twophase.c:1746 access/transam/twophase.c:1755 -#: access/transam/xlog.c:8674 access/transam/xlogfuncs.c:600 -#: backup/basebackup_server.c:173 backup/basebackup_server.c:266 -#: postmaster/postmaster.c:5633 postmaster/syslogger.c:1571 -#: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:934 +#: ../common/controldata_utils.c:240 ../common/controldata_utils.c:243 access/transam/twophase.c:1746 access/transam/twophase.c:1755 access/transam/xlog.c:8676 access/transam/xlogfuncs.c:600 backup/basebackup_server.c:173 backup/basebackup_server.c:266 postmaster/postmaster.c:5633 postmaster/syslogger.c:1571 postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 utils/cache/relmapper.c:946 #, c-format msgid "could not write file \"%s\": %m" msgstr "impossible d'écrire le fichier « %s » : %m" -#: ../common/controldata_utils.c:257 ../common/controldata_utils.c:262 -#: ../common/file_utils.c:303 ../common/file_utils.c:373 -#: access/heap/rewriteheap.c:960 access/heap/rewriteheap.c:1172 -#: access/heap/rewriteheap.c:1275 access/transam/timeline.c:432 -#: access/transam/timeline.c:510 access/transam/twophase.c:1767 -#: access/transam/xlog.c:3047 access/transam/xlog.c:3241 -#: access/transam/xlog.c:3985 access/transam/xlog.c:7977 -#: access/transam/xlog.c:8020 backup/basebackup_server.c:207 -#: replication/logical/snapbuild.c:1772 replication/slot.c:1684 -#: replication/slot.c:1789 storage/file/fd.c:737 storage/file/fd.c:3741 -#: storage/smgr/md.c:992 storage/smgr/md.c:1033 storage/sync/sync.c:453 -#: utils/cache/relmapper.c:949 utils/misc/guc.c:8760 +#: ../common/controldata_utils.c:257 ../common/controldata_utils.c:262 ../common/file_utils.c:303 ../common/file_utils.c:373 access/heap/rewriteheap.c:960 access/heap/rewriteheap.c:1172 access/heap/rewriteheap.c:1275 access/transam/timeline.c:432 access/transam/timeline.c:510 access/transam/twophase.c:1767 access/transam/xlog.c:3049 access/transam/xlog.c:3243 access/transam/xlog.c:3987 access/transam/xlog.c:7979 access/transam/xlog.c:8022 backup/basebackup_server.c:207 commands/dbcommands.c:514 replication/logical/snapbuild.c:1772 replication/slot.c:1684 replication/slot.c:1789 storage/file/fd.c:737 storage/file/fd.c:3741 storage/smgr/md.c:992 storage/smgr/md.c:1033 +#: storage/sync/sync.c:453 utils/cache/relmapper.c:961 utils/misc/guc.c:8767 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier « %s » : %m" -#: ../common/cryptohash.c:266 ../common/cryptohash_openssl.c:133 -#: ../common/cryptohash_openssl.c:332 ../common/exec.c:560 ../common/exec.c:605 -#: ../common/exec.c:697 ../common/hmac.c:309 ../common/hmac.c:325 -#: ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327 -#: ../common/md5_common.c:155 ../common/psprintf.c:143 -#: ../common/scram-common.c:247 ../common/stringinfo.c:305 ../port/path.c:751 -#: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1414 -#: access/transam/xlogrecovery.c:587 lib/dshash.c:253 libpq/auth.c:1338 -#: libpq/auth.c:1406 libpq/auth.c:1964 libpq/be-secure-gssapi.c:520 -#: postmaster/bgworker.c:349 postmaster/bgworker.c:931 -#: postmaster/postmaster.c:2594 postmaster/postmaster.c:4180 -#: postmaster/postmaster.c:5558 postmaster/postmaster.c:5929 -#: replication/libpqwalreceiver/libpqwalreceiver.c:300 -#: replication/logical/logical.c:205 replication/walsender.c:701 -#: storage/buffer/localbuf.c:442 storage/file/fd.c:892 storage/file/fd.c:1434 -#: storage/file/fd.c:1595 storage/file/fd.c:2409 storage/ipc/procarray.c:1451 -#: storage/ipc/procarray.c:2281 storage/ipc/procarray.c:2288 -#: storage/ipc/procarray.c:2793 storage/ipc/procarray.c:3424 -#: utils/adt/formatting.c:1732 utils/adt/formatting.c:1854 -#: utils/adt/formatting.c:1977 utils/adt/pg_locale.c:453 -#: utils/adt/pg_locale.c:617 utils/adt/regexp.c:224 utils/fmgr/dfmgr.c:229 -#: utils/hash/dynahash.c:513 utils/hash/dynahash.c:613 -#: utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 -#: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5192 -#: utils/misc/guc.c:5208 utils/misc/guc.c:5221 utils/misc/guc.c:8738 -#: utils/misc/tzparser.c:476 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:702 -#: utils/mmgr/dsa.c:724 utils/mmgr/dsa.c:805 utils/mmgr/generation.c:266 -#: utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962 -#: utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1088 utils/mmgr/mcxt.c:1119 -#: utils/mmgr/mcxt.c:1155 utils/mmgr/mcxt.c:1207 utils/mmgr/mcxt.c:1242 -#: utils/mmgr/mcxt.c:1277 utils/mmgr/slab.c:238 +#: ../common/cryptohash.c:266 ../common/cryptohash_openssl.c:133 ../common/cryptohash_openssl.c:332 ../common/exec.c:560 ../common/exec.c:605 ../common/exec.c:697 ../common/hmac.c:309 ../common/hmac.c:325 ../common/hmac_openssl.c:132 ../common/hmac_openssl.c:327 ../common/md5_common.c:155 ../common/psprintf.c:143 ../common/scram-common.c:247 ../common/stringinfo.c:305 ../port/path.c:751 ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1414 access/transam/xlogrecovery.c:587 lib/dshash.c:253 libpq/auth.c:1336 libpq/auth.c:1404 libpq/auth.c:1962 libpq/be-secure-gssapi.c:520 postmaster/bgworker.c:349 postmaster/bgworker.c:931 postmaster/postmaster.c:2594 +#: postmaster/postmaster.c:4180 postmaster/postmaster.c:5558 postmaster/postmaster.c:5929 replication/libpqwalreceiver/libpqwalreceiver.c:300 replication/logical/logical.c:205 replication/walsender.c:701 storage/buffer/localbuf.c:442 storage/file/fd.c:892 storage/file/fd.c:1434 storage/file/fd.c:1595 storage/file/fd.c:2409 storage/ipc/procarray.c:1451 storage/ipc/procarray.c:2280 storage/ipc/procarray.c:2287 storage/ipc/procarray.c:2792 storage/ipc/procarray.c:3423 utils/adt/formatting.c:1732 utils/adt/formatting.c:1854 utils/adt/formatting.c:1977 utils/adt/pg_locale.c:453 utils/adt/pg_locale.c:617 utils/adt/regexp.c:224 utils/fmgr/dfmgr.c:229 utils/hash/dynahash.c:513 +#: utils/hash/dynahash.c:613 utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5192 utils/misc/guc.c:5208 utils/misc/guc.c:5221 utils/misc/guc.c:8745 utils/misc/tzparser.c:476 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:702 utils/mmgr/dsa.c:724 utils/mmgr/dsa.c:805 utils/mmgr/generation.c:266 utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962 utils/mmgr/mcxt.c:1000 utils/mmgr/mcxt.c:1088 utils/mmgr/mcxt.c:1119 utils/mmgr/mcxt.c:1155 utils/mmgr/mcxt.c:1207 utils/mmgr/mcxt.c:1242 utils/mmgr/mcxt.c:1277 utils/mmgr/slab.c:238 #, c-format msgid "out of memory" msgstr "mémoire épuisée" -#: ../common/cryptohash.c:271 ../common/cryptohash.c:277 -#: ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 -#: ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 -#: ../common/hmac_openssl.c:347 +#: ../common/cryptohash.c:271 ../common/cryptohash.c:277 ../common/cryptohash_openssl.c:344 ../common/cryptohash_openssl.c:352 ../common/hmac.c:321 ../common/hmac.c:329 ../common/hmac_openssl.c:339 ../common/hmac_openssl.c:347 msgid "success" msgstr "succès" -#: ../common/cryptohash.c:273 ../common/cryptohash_openssl.c:346 -#: ../common/hmac_openssl.c:341 +#: ../common/cryptohash.c:273 ../common/cryptohash_openssl.c:346 ../common/hmac_openssl.c:341 msgid "destination buffer too small" msgstr "tampon de destination trop petit" @@ -269,24 +165,17 @@ msgstr "n'a pas pu trouver un « %s » à exécuter" msgid "could not change directory to \"%s\": %m" msgstr "n'a pas pu modifier le répertoire par « %s » : %m" -#: ../common/exec.c:299 access/transam/xlog.c:8323 backup/basebackup.c:1340 -#: utils/adt/misc.c:342 +#: ../common/exec.c:299 access/transam/xlog.c:8325 backup/basebackup.c:1344 utils/adt/misc.c:342 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "n'a pas pu lire le lien symbolique « %s » : %m" -#: ../common/exec.c:422 libpq/pqcomm.c:746 storage/ipc/latch.c:1092 -#: storage/ipc/latch.c:1272 storage/ipc/latch.c:1501 storage/ipc/latch.c:1663 -#: storage/ipc/latch.c:1789 +#: ../common/exec.c:422 libpq/pqcomm.c:742 storage/ipc/latch.c:1098 storage/ipc/latch.c:1278 storage/ipc/latch.c:1507 storage/ipc/latch.c:1669 storage/ipc/latch.c:1795 #, c-format msgid "%s() failed: %m" msgstr "échec de %s() : %m" -#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 -#: ../common/fe_memutils.c:98 ../common/fe_memutils.c:162 -#: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791 -#: ../port/path.c:808 utils/misc/ps_status.c:181 utils/misc/ps_status.c:189 -#: utils/misc/ps_status.c:219 utils/misc/ps_status.c:227 +#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 ../common/fe_memutils.c:98 ../common/fe_memutils.c:162 ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791 ../port/path.c:808 utils/misc/ps_status.c:208 utils/misc/ps_status.c:216 utils/misc/ps_status.c:246 utils/misc/ps_status.c:254 #, c-format msgid "out of memory\n" msgstr "mémoire épuisée\n" @@ -296,25 +185,13 @@ msgstr "mémoire épuisée\n" msgid "cannot duplicate null pointer (internal error)\n" msgstr "ne peut pas dupliquer un pointeur nul (erreur interne)\n" -#: ../common/file_utils.c:87 ../common/file_utils.c:451 -#: ../common/file_utils.c:455 access/transam/twophase.c:1317 -#: access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:237 -#: backup/basebackup.c:338 backup/basebackup.c:528 backup/basebackup.c:599 -#: commands/copyfrom.c:1531 commands/copyto.c:725 commands/extension.c:3390 -#: commands/tablespace.c:826 commands/tablespace.c:917 guc-file.l:1061 -#: postmaster/pgarch.c:597 replication/logical/snapbuild.c:1651 -#: storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1951 -#: storage/file/fd.c:2037 storage/file/fd.c:3243 storage/file/fd.c:3450 -#: utils/adt/dbsize.c:92 utils/adt/dbsize.c:244 utils/adt/dbsize.c:324 -#: utils/adt/genfile.c:413 utils/adt/genfile.c:588 utils/adt/misc.c:327 +#: ../common/file_utils.c:87 ../common/file_utils.c:451 ../common/file_utils.c:455 access/transam/twophase.c:1317 access/transam/xlogarchive.c:111 access/transam/xlogarchive.c:237 backup/basebackup.c:338 backup/basebackup.c:528 backup/basebackup.c:599 commands/copyfrom.c:1535 commands/copyto.c:725 commands/extension.c:3390 commands/tablespace.c:826 commands/tablespace.c:917 guc-file.l:1061 postmaster/pgarch.c:597 replication/logical/snapbuild.c:1651 storage/file/copydir.c:68 storage/file/copydir.c:107 storage/file/fd.c:1951 storage/file/fd.c:2037 storage/file/fd.c:3243 storage/file/fd.c:3450 utils/adt/dbsize.c:92 utils/adt/dbsize.c:244 utils/adt/dbsize.c:324 utils/adt/genfile.c:413 +#: utils/adt/genfile.c:588 utils/adt/misc.c:327 #, c-format msgid "could not stat file \"%s\": %m" msgstr "n'a pas pu tester le fichier « %s » : %m" -#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:749 -#: commands/tablespace.c:759 postmaster/postmaster.c:1579 -#: storage/file/fd.c:2812 storage/file/reinit.c:126 utils/adt/misc.c:235 -#: utils/misc/tzparser.c:338 +#: ../common/file_utils.c:166 ../common/pgfnames.c:48 commands/tablespace.c:749 commands/tablespace.c:759 postmaster/postmaster.c:1579 storage/file/fd.c:2812 storage/file/reinit.c:126 utils/adt/misc.c:235 utils/misc/tzparser.c:338 #, c-format msgid "could not open directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" @@ -324,10 +201,7 @@ msgstr "n'a pas pu ouvrir le répertoire « %s » : %m" msgid "could not read directory \"%s\": %m" msgstr "n'a pas pu lire le répertoire « %s » : %m" -#: ../common/file_utils.c:383 access/transam/xlogarchive.c:426 -#: postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1791 -#: replication/slot.c:721 replication/slot.c:1570 replication/slot.c:1712 -#: storage/file/fd.c:755 storage/file/fd.c:853 utils/time/snapmgr.c:1282 +#: ../common/file_utils.c:383 access/transam/xlogarchive.c:426 postmaster/syslogger.c:1608 replication/logical/snapbuild.c:1791 replication/slot.c:721 replication/slot.c:1570 replication/slot.c:1712 storage/file/fd.c:755 storage/file/fd.c:853 utils/time/snapmgr.c:1282 #, c-format msgid "could not rename file \"%s\" to \"%s\": %m" msgstr "n'a pas pu renommer le fichier « %s » en « %s » : %m" @@ -413,8 +287,7 @@ msgstr "Les valeurs d'échappement Unicode ne peuvent pas être utilisées pour msgid "Unicode high surrogate must not follow a high surrogate." msgstr "Une substitution unicode haute ne doit pas suivre une substitution haute." -#: ../common/jsonapi.c:1136 jsonpath_scan.l:527 jsonpath_scan.l:537 -#: jsonpath_scan.l:579 +#: ../common/jsonapi.c:1136 jsonpath_scan.l:527 jsonpath_scan.l:537 jsonpath_scan.l:579 #, c-format msgid "Unicode low surrogate must follow a high surrogate." msgstr "Une substitution unicode basse ne doit pas suivre une substitution haute." @@ -454,7 +327,7 @@ msgstr "nom du fork invalide" msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"." msgstr "Les noms de fork valides sont « main », « fsm », « vm » et « init »." -#: ../common/restricted_token.c:64 libpq/auth.c:1368 libpq/auth.c:2400 +#: ../common/restricted_token.c:64 libpq/auth.c:1366 libpq/auth.c:2398 #, c-format msgid "could not load library \"%s\": error code %lu" msgstr "n'a pas pu charger la bibliothèque « %s » : code d'erreur %lu" @@ -494,7 +367,7 @@ msgstr "n'a pas pu ré-exécuter le jeton restreint : code d'erreur %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "n'a pas pu récupérer le code de statut du sous-processus : code d'erreur %lu" -#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1276 +#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1280 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "" @@ -539,7 +412,7 @@ msgstr "" msgid "could not look up effective user ID %ld: %s" msgstr "n'a pas pu trouver l'identifiant réel %ld de l'utilisateur : %s" -#: ../common/username.c:45 libpq/auth.c:1900 +#: ../common/username.c:45 libpq/auth.c:1898 msgid "user does not exist" msgstr "l'utilisateur n'existe pas" @@ -675,49 +548,42 @@ msgstr "n'a pas pu vérifier l'appartenance du jeton d'accès : code d'erreur %l msgid "request for BRIN range summarization for index \"%s\" page %u was not recorded" msgstr "requête de résumé d'intervalle BRIN pour la page « %s » de l'index « %u » n'a pas été enregistrée" -#: access/brin/brin.c:1036 access/brin/brin.c:1137 access/gin/ginfast.c:1043 -#: access/transam/xlogfuncs.c:165 access/transam/xlogfuncs.c:192 -#: access/transam/xlogfuncs.c:231 access/transam/xlogfuncs.c:252 -#: access/transam/xlogfuncs.c:273 access/transam/xlogfuncs.c:343 -#: access/transam/xlogfuncs.c:401 +#: access/brin/brin.c:1036 access/brin/brin.c:1143 access/gin/ginfast.c:1042 access/transam/xlogfuncs.c:165 access/transam/xlogfuncs.c:192 access/transam/xlogfuncs.c:231 access/transam/xlogfuncs.c:252 access/transam/xlogfuncs.c:273 access/transam/xlogfuncs.c:343 access/transam/xlogfuncs.c:401 #, c-format msgid "recovery is in progress" msgstr "restauration en cours" -#: access/brin/brin.c:1037 access/brin/brin.c:1138 +#: access/brin/brin.c:1037 access/brin/brin.c:1144 #, c-format msgid "BRIN control functions cannot be executed during recovery." msgstr "Les fonctions de contrôle BRIN ne peuvent pas être exécutées pendant la restauration." -#: access/brin/brin.c:1042 access/brin/brin.c:1143 +#: access/brin/brin.c:1042 access/brin/brin.c:1149 #, c-format msgid "block number out of range: %lld" msgstr "numéro de bloc en dehors des limites : %lld" -#: access/brin/brin.c:1086 access/brin/brin.c:1169 +#: access/brin/brin.c:1086 access/brin/brin.c:1175 #, c-format msgid "\"%s\" is not a BRIN index" msgstr "« %s » n'est pas un index BRIN" -#: access/brin/brin.c:1102 access/brin/brin.c:1185 +#: access/brin/brin.c:1102 access/brin/brin.c:1191 #, c-format msgid "could not open parent table of index \"%s\"" msgstr "n'a pas pu ouvrir la table parent de l'index « %s »" -#: access/brin/brin_bloom.c:750 access/brin/brin_bloom.c:792 -#: access/brin/brin_minmax_multi.c:2986 access/brin/brin_minmax_multi.c:3129 -#: statistics/dependencies.c:663 statistics/dependencies.c:716 -#: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 -#: statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 -#: utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252 +#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1087 parser/parse_utilcmd.c:2296 +#, c-format +msgid "index \"%s\" is not valid" +msgstr "l'index « %s » n'est pas valide" + +#: access/brin/brin_bloom.c:752 access/brin/brin_bloom.c:794 access/brin/brin_minmax_multi.c:2986 access/brin/brin_minmax_multi.c:3129 statistics/dependencies.c:663 statistics/dependencies.c:716 statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252 #, c-format msgid "cannot accept a value of type %s" msgstr "ne peut pas accepter une valeur de type %s" -#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 -#: access/brin/brin_pageops.c:848 access/gin/ginentrypage.c:110 -#: access/gist/gist.c:1462 access/spgist/spgdoinsert.c:2001 -#: access/spgist/spgdoinsert.c:2278 +#: access/brin/brin_pageops.c:76 access/brin/brin_pageops.c:362 access/brin/brin_pageops.c:848 access/gin/ginentrypage.c:110 access/gist/gist.c:1462 access/spgist/spgdoinsert.c:2001 access/spgist/spgdoinsert.c:2278 #, c-format msgid "index row size %zu exceeds maximum %zu for index \"%s\"" msgstr "la taille de la ligne index, %zu, dépasse le maximum, %zu, pour l'index « %s »" @@ -732,51 +598,40 @@ msgstr "index BRIN corrompu : carte d'intervalle incohérente" msgid "unexpected page type 0x%04X in BRIN index \"%s\" block %u" msgstr "type de page 0x%04X dans l'index BRIN « %s », bloc %u" -#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 -#: access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 -#: access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 +#: access/brin/brin_validate.c:118 access/gin/ginvalidate.c:151 access/gist/gistvalidate.c:153 access/hash/hashvalidate.c:139 access/nbtree/nbtvalidate.c:120 access/spgist/spgvalidate.c:189 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with invalid support number %d" msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s contient la fonction %s avec\n" "le numéro de support invalide %d" -#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 -#: access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 -#: access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 +#: access/brin/brin_validate.c:134 access/gin/ginvalidate.c:163 access/gist/gistvalidate.c:165 access/hash/hashvalidate.c:118 access/nbtree/nbtvalidate.c:132 access/spgist/spgvalidate.c:201 #, c-format msgid "operator family \"%s\" of access method %s contains function %s with wrong signature for support number %d" msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s contient la fonction %s avec une mauvaise\n" "signature pour le numéro de support %d" -#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 -#: access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 -#: access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 +#: access/brin/brin_validate.c:156 access/gin/ginvalidate.c:182 access/gist/gistvalidate.c:185 access/hash/hashvalidate.c:160 access/nbtree/nbtvalidate.c:152 access/spgist/spgvalidate.c:221 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with invalid strategy number %d" msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s contient l'opérateur %s avec le numéro\n" "de stratégie invalide %d" -#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 -#: access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 -#: access/spgist/spgvalidate.c:237 +#: access/brin/brin_validate.c:185 access/gin/ginvalidate.c:195 access/hash/hashvalidate.c:173 access/nbtree/nbtvalidate.c:165 access/spgist/spgvalidate.c:237 #, c-format msgid "operator family \"%s\" of access method %s contains invalid ORDER BY specification for operator %s" msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s contient la spécification ORDER BY\n" "invalide pour l'opérateur %s" -#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 -#: access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 -#: access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 +#: access/brin/brin_validate.c:198 access/gin/ginvalidate.c:208 access/gist/gistvalidate.c:233 access/hash/hashvalidate.c:186 access/nbtree/nbtvalidate.c:178 access/spgist/spgvalidate.c:253 #, c-format msgid "operator family \"%s\" of access method %s contains operator %s with wrong signature" msgstr "la famille d'opérateur « %s » de la méthode d'accès %s contient l'opérateur %s avec une mauvaise signature" -#: access/brin/brin_validate.c:236 access/hash/hashvalidate.c:226 -#: access/nbtree/nbtvalidate.c:236 access/spgist/spgvalidate.c:280 +#: access/brin/brin_validate.c:236 access/hash/hashvalidate.c:226 access/nbtree/nbtvalidate.c:236 access/spgist/spgvalidate.c:280 #, c-format msgid "operator family \"%s\" of access method %s is missing operator(s) for types %s and %s" msgstr "" @@ -790,14 +645,12 @@ msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s nécessite des fonctions de support\n" "manquantes pour les types %s et %s" -#: access/brin/brin_validate.c:259 access/hash/hashvalidate.c:240 -#: access/nbtree/nbtvalidate.c:260 access/spgist/spgvalidate.c:315 +#: access/brin/brin_validate.c:259 access/hash/hashvalidate.c:240 access/nbtree/nbtvalidate.c:260 access/spgist/spgvalidate.c:315 #, c-format msgid "operator class \"%s\" of access method %s is missing operator(s)" msgstr "il manque un ou des opérateurs à la classe d'opérateur « %s » de la méthode d'accès %s" -#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 -#: access/gist/gistvalidate.c:274 +#: access/brin/brin_validate.c:270 access/gin/ginvalidate.c:250 access/gist/gistvalidate.c:274 #, c-format msgid "operator class \"%s\" of access method %s is missing support function %d" msgstr "la classe d'opérateur « %s » de la méthode d'accès %s nécessite la fonction de support manquante %d" @@ -829,7 +682,7 @@ msgstr "L'attribut « %s » du type %s ne correspond pas à l'attribut correspon msgid "Attribute \"%s\" of type %s does not exist in type %s." msgstr "L'attribut « %s » du type %s n'existe pas dans le type %s." -#: access/common/heaptuple.c:1124 access/common/heaptuple.c:1459 +#: access/common/heaptuple.c:1133 access/common/heaptuple.c:1468 #, c-format msgid "number of columns (%d) exceeds limit (%d)" msgstr "le nombre de colonnes (%d) dépasse la limite (%d)" @@ -839,13 +692,12 @@ msgstr "le nombre de colonnes (%d) dépasse la limite (%d)" msgid "number of index columns (%d) exceeds limit (%d)" msgstr "le nombre de colonnes indexées (%d) dépasse la limite (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:958 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:965 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "la ligne index requiert %zu octets, la taille maximum est %zu" -#: access/common/printtup.c:292 tcop/fastpath.c:106 tcop/fastpath.c:453 -#: tcop/postgres.c:1921 +#: access/common/printtup.c:292 tcop/fastpath.c:106 tcop/fastpath.c:453 tcop/postgres.c:1921 #, c-format msgid "unsupported format code: %d" msgstr "code de format non supporté : %d" @@ -873,7 +725,7 @@ msgstr "RESET ne doit pas inclure de valeurs pour les paramètres" msgid "unrecognized parameter namespace \"%s\"" msgstr "espace de nom du paramètre « %s » non reconnu" -#: access/common/reloptions.c:1303 utils/misc/guc.c:12987 +#: access/common/reloptions.c:1303 utils/misc/guc.c:13002 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "les tables avec WITH OIDS ne sont pas supportées" @@ -933,8 +785,7 @@ msgstr "méthode de compression lz4 non supportée" msgid "This functionality requires the server to be built with lz4 support." msgstr "Cette fonctionnalité nécessite que le serveur dispose du support de lz4." -#: access/common/tupdesc.c:825 parser/parse_clause.c:773 -#: parser/parse_relation.c:1857 +#: access/common/tupdesc.c:825 parser/parse_clause.c:773 parser/parse_relation.c:1857 #, c-format msgid "column \"%s\" cannot be declared SETOF" msgstr "la colonne « %s » ne peut pas être déclarée SETOF" @@ -949,17 +800,17 @@ msgstr "la posting list est trop longue" msgid "Reduce maintenance_work_mem." msgstr "Réduisez le maintenance_work_mem." -#: access/gin/ginfast.c:1044 +#: access/gin/ginfast.c:1043 #, c-format msgid "GIN pending list cannot be cleaned up during recovery." msgstr "la pending list GIN ne peut pas être nettoyée lors de la restauration." -#: access/gin/ginfast.c:1051 +#: access/gin/ginfast.c:1050 #, c-format msgid "\"%s\" is not a GIN index" msgstr "« %s » n'est pas un index GIN" -#: access/gin/ginfast.c:1062 +#: access/gin/ginfast.c:1061 #, c-format msgid "cannot access temporary indexes of other sessions" msgstr "ne peut pas accéder aux index temporaires d'autres sessions" @@ -981,15 +832,12 @@ msgstr "" msgid "To fix this, do REINDEX INDEX \"%s\"." msgstr "Pour corriger ceci, faites un REINDEX INDEX « %s »." -#: access/gin/ginutil.c:145 executor/execExpr.c:2168 -#: utils/adt/arrayfuncs.c:3817 utils/adt/arrayfuncs.c:6486 -#: utils/adt/rowtypes.c:957 +#: access/gin/ginutil.c:145 executor/execExpr.c:2168 utils/adt/arrayfuncs.c:3866 utils/adt/arrayfuncs.c:6535 utils/adt/rowtypes.c:957 #, c-format msgid "could not identify a comparison function for type %s" msgstr "n'a pas pu identifier une fonction de comparaison pour le type %s" -#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 -#: access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 +#: access/gin/ginvalidate.c:92 access/gist/gistvalidate.c:93 access/hash/hashvalidate.c:102 access/spgist/spgvalidate.c:102 #, c-format msgid "operator family \"%s\" of access method %s contains support function %s with different left and right input types" msgstr "" @@ -1001,8 +849,7 @@ msgstr "" msgid "operator class \"%s\" of access method %s is missing support function %d or %d" msgstr "la classe d'opérateur « %s » de la méthode d'accès %s nécessite la fonction de support manquante %d ou %d" -#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 -#: access/spgist/spgvalidate.c:387 +#: access/gin/ginvalidate.c:333 access/gist/gistvalidate.c:350 access/spgist/spgvalidate.c:387 #, c-format msgid "support function number %d is invalid for access method %s" msgstr "le numéro de fonction d'appui %d est invalide pour la méthode d'accès %s" @@ -1019,11 +866,7 @@ msgstr "" "Ceci est dû à la division d'une page incomplète à la restauration suite à un\n" "crash avant la mise à jour en 9.1." -#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812 -#: access/gist/gistvacuum.c:429 access/hash/hashutil.c:227 -#: access/hash/hashutil.c:238 access/hash/hashutil.c:250 -#: access/hash/hashutil.c:271 access/nbtree/nbtpage.c:810 -#: access/nbtree/nbtpage.c:821 +#: access/gist/gist.c:762 access/gist/gistutil.c:801 access/gist/gistutil.c:812 access/gist/gistvacuum.c:429 access/hash/hashutil.c:227 access/hash/hashutil.c:238 access/hash/hashutil.c:250 access/hash/hashutil.c:271 access/nbtree/nbtpage.c:810 access/nbtree/nbtpage.c:821 #, c-format msgid "Please REINDEX it." msgstr "Merci d'exécuter REINDEX sur cet objet." @@ -1046,14 +889,12 @@ msgstr "" "ou essayez d'utiliser la colonne comme second dans la commande\n" "CREATE INDEX." -#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 -#: access/nbtree/nbtpage.c:807 +#: access/gist/gistutil.c:798 access/hash/hashutil.c:224 access/nbtree/nbtpage.c:807 #, c-format msgid "index \"%s\" contains unexpected zero page at block %u" msgstr "l'index « %s » contient une page zéro inattendue au bloc %u" -#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 -#: access/hash/hashutil.c:247 access/nbtree/nbtpage.c:818 +#: access/gist/gistutil.c:809 access/hash/hashutil.c:235 access/hash/hashutil.c:247 access/nbtree/nbtpage.c:818 #, c-format msgid "index \"%s\" contains corrupted page at block %u" msgstr "l'index « %s » contient une page corrompue au bloc %u" @@ -1072,19 +913,12 @@ msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s contient la spécification opfamily ORDER BY\n" "incorrecte pour l'opérateur %s" -#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:335 -#: utils/adt/varchar.c:1003 utils/adt/varchar.c:1064 +#: access/hash/hashfunc.c:278 access/hash/hashfunc.c:335 utils/adt/varchar.c:1003 utils/adt/varchar.c:1064 #, c-format msgid "could not determine which collation to use for string hashing" msgstr "n'a pas pu déterminer le collationnement à utiliser pour le hachage de chaîne" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:668 -#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:1979 commands/tablecmds.c:17503 commands/view.c:86 -#: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 -#: utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 -#: utils/adt/like_support.c:1025 utils/adt/varchar.c:733 -#: utils/adt/varchar.c:1004 utils/adt/varchar.c:1065 utils/adt/varlena.c:1499 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:671 catalog/heap.c:677 commands/createas.c:206 commands/createas.c:515 commands/indexcmds.c:1955 commands/tablecmds.c:17537 commands/view.c:86 regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 utils/adt/like_support.c:1025 utils/adt/varchar.c:733 utils/adt/varchar.c:1004 utils/adt/varchar.c:1065 utils/adt/varlena.c:1499 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." msgstr "Utilisez la clause COLLATE pour configurer explicitement le collationnement." @@ -1094,8 +928,7 @@ msgstr "Utilisez la clause COLLATE pour configurer explicitement le collationnem msgid "index row size %zu exceeds hash maximum %zu" msgstr "la taille de la ligne index, %zu, dépasse le hachage maximum, %zu" -#: access/hash/hashinsert.c:85 access/spgist/spgdoinsert.c:2005 -#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1019 +#: access/hash/hashinsert.c:85 access/spgist/spgdoinsert.c:2005 access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1026 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "Les valeurs plus larges qu'une page de tampon ne peuvent pas être indexées." @@ -1152,18 +985,17 @@ msgstr "ne peut pas supprimer les lignes lors d'une opération parallèle" msgid "attempted to delete invisible tuple" msgstr "tentative de supprimer une ligne invisible" -#: access/heap/heapam.c:3183 access/heap/heapam.c:6025 +#: access/heap/heapam.c:3188 access/heap/heapam.c:6032 #, c-format msgid "cannot update tuples during a parallel operation" msgstr "ne peut pas mettre à jour les lignes lors d'une opération parallèle" -#: access/heap/heapam.c:3307 +#: access/heap/heapam.c:3312 #, c-format msgid "attempted to update invisible tuple" msgstr "tentative de mettre à jour une ligne invisible" -#: access/heap/heapam.c:4669 access/heap/heapam.c:4707 -#: access/heap/heapam.c:4972 access/heap/heapam_handler.c:456 +#: access/heap/heapam.c:4676 access/heap/heapam.c:4714 access/heap/heapam.c:4979 access/heap/heapam_handler.c:456 #, c-format msgid "could not obtain lock on row in relation \"%s\"" msgstr "n'a pas pu obtenir un verrou sur la relation « %s »" @@ -1183,15 +1015,7 @@ msgstr "la ligne est trop grande : taille %zu, taille maximale %zu" msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "n'a pas pu écrire le fichier « %s », a écrit %d de %d : %m" -#: access/heap/rewriteheap.c:1013 access/heap/rewriteheap.c:1131 -#: access/transam/timeline.c:329 access/transam/timeline.c:485 -#: access/transam/xlog.c:2963 access/transam/xlog.c:3176 -#: access/transam/xlog.c:3964 access/transam/xlog.c:8657 -#: access/transam/xlogfuncs.c:594 backup/basebackup_server.c:149 -#: backup/basebackup_server.c:242 commands/dbcommands.c:517 -#: postmaster/postmaster.c:4607 postmaster/postmaster.c:5620 -#: replication/logical/origin.c:587 replication/slot.c:1631 -#: storage/file/copydir.c:167 storage/smgr/md.c:222 utils/time/snapmgr.c:1261 +#: access/heap/rewriteheap.c:1013 access/heap/rewriteheap.c:1131 access/transam/timeline.c:329 access/transam/timeline.c:485 access/transam/xlog.c:2965 access/transam/xlog.c:3178 access/transam/xlog.c:3966 access/transam/xlog.c:8659 access/transam/xlogfuncs.c:594 backup/basebackup_server.c:149 backup/basebackup_server.c:242 commands/dbcommands.c:494 postmaster/postmaster.c:4607 postmaster/postmaster.c:5620 replication/logical/origin.c:587 replication/slot.c:1631 storage/file/copydir.c:167 storage/smgr/md.c:222 utils/time/snapmgr.c:1261 #, c-format msgid "could not create file \"%s\": %m" msgstr "n'a pas pu créer le fichier « %s » : %m" @@ -1201,174 +1025,156 @@ msgstr "n'a pas pu créer le fichier « %s » : %m" msgid "could not truncate file \"%s\" to %u: %m" msgstr "n'a pas pu tronquer le fichier « %s » en %u : %m" -#: access/heap/rewriteheap.c:1159 access/transam/timeline.c:384 -#: access/transam/timeline.c:424 access/transam/timeline.c:502 -#: access/transam/xlog.c:3035 access/transam/xlog.c:3232 -#: access/transam/xlog.c:3976 commands/dbcommands.c:529 -#: postmaster/postmaster.c:4617 postmaster/postmaster.c:4627 -#: replication/logical/origin.c:599 replication/logical/origin.c:641 -#: replication/logical/origin.c:660 replication/logical/snapbuild.c:1748 -#: replication/slot.c:1666 storage/file/buffile.c:537 -#: storage/file/copydir.c:207 utils/init/miscinit.c:1441 -#: utils/init/miscinit.c:1452 utils/init/miscinit.c:1460 utils/misc/guc.c:8721 -#: utils/misc/guc.c:8752 utils/misc/guc.c:10742 utils/misc/guc.c:10756 +#: access/heap/rewriteheap.c:1159 access/transam/timeline.c:384 access/transam/timeline.c:424 access/transam/timeline.c:502 access/transam/xlog.c:3037 access/transam/xlog.c:3234 access/transam/xlog.c:3978 commands/dbcommands.c:506 postmaster/postmaster.c:4617 postmaster/postmaster.c:4627 replication/logical/origin.c:599 replication/logical/origin.c:641 replication/logical/origin.c:660 replication/logical/snapbuild.c:1748 replication/slot.c:1666 storage/file/buffile.c:537 storage/file/copydir.c:207 utils/init/miscinit.c:1449 utils/init/miscinit.c:1460 utils/init/miscinit.c:1468 utils/misc/guc.c:8728 utils/misc/guc.c:8759 utils/misc/guc.c:10757 utils/misc/guc.c:10771 #: utils/time/snapmgr.c:1266 utils/time/snapmgr.c:1273 #, c-format msgid "could not write to file \"%s\": %m" msgstr "n'a pas pu écrire dans le fichier « %s » : %m" -#: access/heap/rewriteheap.c:1249 access/transam/twophase.c:1706 -#: access/transam/xlogarchive.c:119 access/transam/xlogarchive.c:436 -#: postmaster/postmaster.c:1157 postmaster/syslogger.c:1537 -#: replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4431 -#: replication/logical/snapbuild.c:1693 replication/logical/snapbuild.c:2109 -#: replication/slot.c:1763 storage/file/fd.c:795 storage/file/fd.c:3263 -#: storage/file/fd.c:3325 storage/file/reinit.c:262 storage/ipc/dsm.c:317 -#: storage/smgr/md.c:373 storage/smgr/md.c:432 storage/sync/sync.c:250 -#: utils/time/snapmgr.c:1606 +#: access/heap/rewriteheap.c:1249 access/transam/twophase.c:1706 access/transam/xlogarchive.c:119 access/transam/xlogarchive.c:436 postmaster/postmaster.c:1157 postmaster/syslogger.c:1537 replication/logical/origin.c:575 replication/logical/reorderbuffer.c:4431 replication/logical/snapbuild.c:1693 replication/logical/snapbuild.c:2109 replication/slot.c:1763 storage/file/fd.c:795 storage/file/fd.c:3263 storage/file/fd.c:3325 storage/file/reinit.c:262 storage/ipc/dsm.c:317 storage/smgr/md.c:373 storage/smgr/md.c:432 storage/sync/sync.c:250 utils/time/snapmgr.c:1606 #, c-format msgid "could not remove file \"%s\": %m" msgstr "n'a pas pu supprimer le fichier « %s » : %m" -#: access/heap/vacuumlazy.c:407 +#: access/heap/vacuumlazy.c:405 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "exécution d'un VACUUM agressif sur « %s.%s.%s »" -#: access/heap/vacuumlazy.c:412 +#: access/heap/vacuumlazy.c:410 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "exécution du VACUUM sur « %s.%s.%s »" -#: access/heap/vacuumlazy.c:663 +#: access/heap/vacuumlazy.c:661 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "fin du VACUUM de « %s.%s.%s » : %d parcours d'index\n" -#: access/heap/vacuumlazy.c:674 +#: access/heap/vacuumlazy.c:672 #, c-format msgid "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "VACUUM automatique agressif pour éviter un rebouclage des identifiants de transaction dans la table « %s.%s.%s » : %d parcours d'index\n" -#: access/heap/vacuumlazy.c:676 +#: access/heap/vacuumlazy.c:674 #, c-format msgid "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: %d\n" msgstr "VACUUM automatique pour éviter un rebouclage des identifiants de transaction dans la table « %s.%s.%s » : parcours d'index : %d\n" -#: access/heap/vacuumlazy.c:681 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "VACUUM automatique agressif de la table « %s.%s.%s » : %d parcours d'index\n" -#: access/heap/vacuumlazy.c:683 +#: access/heap/vacuumlazy.c:681 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "VACUUM automatique de la table « %s.%s.%s » : %d parcours d'index\n" -#: access/heap/vacuumlazy.c:690 +#: access/heap/vacuumlazy.c:688 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "pages : %u supprimées, %u restantes, %u parcourues (%.2f%% au total)\n" -#: access/heap/vacuumlazy.c:697 +#: access/heap/vacuumlazy.c:695 #, c-format msgid "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" msgstr "lignes : %lld supprimées, %lld restantes, %lld sont mortes mais pas encore supprimables\n" -#: access/heap/vacuumlazy.c:703 +#: access/heap/vacuumlazy.c:701 #, c-format msgid "tuples missed: %lld dead from %u pages not removed due to cleanup lock contention\n" msgstr "enregistrements manquants: %lld morts à partir de %u blocs non supprimés à cause d'une contention du verrou de nettoyage\n" -#: access/heap/vacuumlazy.c:708 +#: access/heap/vacuumlazy.c:706 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "" -#: access/heap/vacuumlazy.c:714 +#: access/heap/vacuumlazy.c:712 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "nouveau relfrozenxid: %u, qui est %d XID devant la valeur précédente\n" -#: access/heap/vacuumlazy.c:721 +#: access/heap/vacuumlazy.c:719 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "nouveau relminmxid: %u, qui est %d MXID devant la valeur précédente\n" -#: access/heap/vacuumlazy.c:727 +#: access/heap/vacuumlazy.c:725 msgid "index scan not needed: " msgstr "parcours d'index non nécessaire : " -#: access/heap/vacuumlazy.c:729 +#: access/heap/vacuumlazy.c:727 msgid "index scan needed: " msgstr "parcours d'index nécessaire : " -#: access/heap/vacuumlazy.c:731 +#: access/heap/vacuumlazy.c:729 #, c-format msgid "%u pages from table (%.2f%% of total) had %lld dead item identifiers removed\n" msgstr "%u blocs de la table (%.2f%% au total) ont %lld versions mortes de lignes supprimées\n" -#: access/heap/vacuumlazy.c:736 +#: access/heap/vacuumlazy.c:734 msgid "index scan bypassed: " msgstr "parcours d'index contourné : " -#: access/heap/vacuumlazy.c:738 +#: access/heap/vacuumlazy.c:736 msgid "index scan bypassed by failsafe: " msgstr "parcours d'index contourné par failsafe : " -#: access/heap/vacuumlazy.c:740 +#: access/heap/vacuumlazy.c:738 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "%u pages de la table (%.2f%% au total) ont %lld identifiants d'élément mort\n" -#: access/heap/vacuumlazy.c:755 +#: access/heap/vacuumlazy.c:753 #, c-format msgid "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u reusable\n" msgstr "index \"%s\": blocs : %u au total, %u nouvellement supprimés, %u actuellement supprimés, %u réutilisables\n" -#: access/heap/vacuumlazy.c:767 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:765 commands/analyze.c:796 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "" "chronométrage I/O : lecture : %.3f ms, écriture : %.3f ms\n" "\n" -#: access/heap/vacuumlazy.c:777 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:775 commands/analyze.c:799 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "vitesse moyenne de lecture : %.3f Mo/s, vitesse moyenne d'écriture : %.3f Mo/s\n" -#: access/heap/vacuumlazy.c:780 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:778 commands/analyze.c:801 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "utilisation du cache : %lld récupérés, %lld ratés, %lld modifiés\n" -#: access/heap/vacuumlazy.c:785 +#: access/heap/vacuumlazy.c:783 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "utilisation des WAL : %lld enregistrements, %lld images complètes de blocs, %llu octets\n" -#: access/heap/vacuumlazy.c:789 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:787 commands/analyze.c:805 #, c-format msgid "system usage: %s" msgstr "utilisation du système : %s" -#: access/heap/vacuumlazy.c:2463 +#: access/heap/vacuumlazy.c:2461 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "table « %s »: %lld versions mortes de ligne supprimées dans %u blocs" -#: access/heap/vacuumlazy.c:2629 +#: access/heap/vacuumlazy.c:2627 #, c-format msgid "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after %d index scans" msgstr "ignore la maintenance non essentielle de la table \"%s.%s.%s\" comme mesure de sécurité après %d parcours d'index" -#: access/heap/vacuumlazy.c:2634 +#: access/heap/vacuumlazy.c:2632 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "le relfrozenxid ou le relminmxid de la table est trop loin dans le passé" -#: access/heap/vacuumlazy.c:2635 +#: access/heap/vacuumlazy.c:2633 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or \"autovacuum_work_mem\".\n" @@ -1377,67 +1183,67 @@ msgstr "" "Réfléchissez à augmenter la valeur du paramètre de configuration « maintenance_work_mem » ou « autovacuum_work_mem ».\n" "Vous pouvez aussi réfléchir à d'autres façons d'exécuter un VACUUM pour tenir sur l'allocation des identifiants de transaction." -#: access/heap/vacuumlazy.c:2878 +#: access/heap/vacuumlazy.c:2876 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "« %s » : arrêt du TRUNCATE à cause d'un conflit dans la demande de verrou" -#: access/heap/vacuumlazy.c:2948 +#: access/heap/vacuumlazy.c:2946 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "table « %s » : %u pages tronqués en %u" -#: access/heap/vacuumlazy.c:3010 +#: access/heap/vacuumlazy.c:3008 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "table « %s » : mis en suspens du TRUNCATE à cause d'un conflit dans la demande de verrou" -#: access/heap/vacuumlazy.c:3170 +#: access/heap/vacuumlazy.c:3168 #, c-format msgid "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary tables in parallel" msgstr "désactivation de l'option de parallélisation du VACUUM sur « %s » --- ne peut pas exécuter un VACUUM parallélisé sur des tables temporaires" -#: access/heap/vacuumlazy.c:3383 +#: access/heap/vacuumlazy.c:3381 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "lors du parcours du bloc %u au décalage %u de la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3386 +#: access/heap/vacuumlazy.c:3384 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "lors du parcours du bloc %u de la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3390 +#: access/heap/vacuumlazy.c:3388 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "lors du parcours de la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3398 +#: access/heap/vacuumlazy.c:3396 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "lors du traitement par VACUUM du bloc %u au décalage %u de la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3401 +#: access/heap/vacuumlazy.c:3399 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "lors du VACUUM du bloc %u de la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3405 +#: access/heap/vacuumlazy.c:3403 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "lors du vacuum de la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3410 commands/vacuumparallel.c:1058 +#: access/heap/vacuumlazy.c:3408 commands/vacuumparallel.c:1058 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "lors du nettoyage de l'index « %s » dans la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3415 commands/vacuumparallel.c:1064 +#: access/heap/vacuumlazy.c:3413 commands/vacuumparallel.c:1064 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "lors du nettoyage de l'index « %s » dans la relation « %s.%s »" -#: access/heap/vacuumlazy.c:3421 +#: access/heap/vacuumlazy.c:3419 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "lors du tronquage de la relation « %s.%s » à %u blocs" @@ -1457,14 +1263,17 @@ msgstr "la méthode d'accès « %s » n'a pas de handler" msgid "transaction aborted during system catalog scan" msgstr "transaction annulée lors du parcours du catalogue système" -#: access/index/indexam.c:142 catalog/objectaddress.c:1376 -#: commands/indexcmds.c:2807 commands/tablecmds.c:271 commands/tablecmds.c:295 -#: commands/tablecmds.c:17191 commands/tablecmds.c:18974 +#: access/index/genam.c:657 access/index/indexam.c:87 +#, c-format +msgid "cannot access index \"%s\" while it is being reindexed" +msgstr "ne peut pas accéder à l'index « %s » car il est en cours de réindexation" + +#: access/index/indexam.c:208 catalog/objectaddress.c:1376 commands/indexcmds.c:2783 commands/tablecmds.c:271 commands/tablecmds.c:295 commands/tablecmds.c:17223 commands/tablecmds.c:19008 #, c-format msgid "\"%s\" is not an index" msgstr "« %s » n'est pas un index" -#: access/index/indexam.c:973 +#: access/index/indexam.c:1015 #, c-format msgid "operator class %s has no options" msgstr "la classe d'opérateur %s n'a pas d'options" @@ -1484,8 +1293,7 @@ msgstr "La clé « %s » existe déjà ." msgid "This may be because of a non-immutable index expression." msgstr "Ceci peut être dû à une expression d'index immutable." -#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 -#: parser/parse_utilcmd.c:2333 +#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 parser/parse_utilcmd.c:2342 #, c-format msgid "index \"%s\" is not a btree" msgstr "l'index « %s » n'est pas un btree" @@ -1533,12 +1341,12 @@ msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s nécessite une fonction de support\n" "manquante pour les types %s et %s" -#: access/spgist/spgutils.c:244 +#: access/spgist/spgutils.c:242 #, c-format msgid "compress method must be defined when leaf type is different from input type" msgstr "la méthode de compression doit être définie quand le type feuille est différent du type d'entrée" -#: access/spgist/spgutils.c:1016 +#: access/spgist/spgutils.c:1023 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "la taille de la ligne interne SP-GiST, %zu, dépasse le maximum %zu" @@ -1555,15 +1363,12 @@ msgstr "" "la famille d'opérateur « %s » de la méthode d'accès %s nécessite la fonction de support %d\n" "pour le type %s" -#: access/table/table.c:49 access/table/table.c:83 access/table/table.c:112 -#: access/table/table.c:145 catalog/aclchk.c:1835 +#: access/table/table.c:49 access/table/table.c:83 access/table/table.c:112 access/table/table.c:145 catalog/aclchk.c:1835 #, c-format msgid "\"%s\" is an index" msgstr "« %s » est un index" -#: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 -#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13880 -#: commands/tablecmds.c:17200 +#: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13917 commands/tablecmds.c:17232 #, c-format msgid "\"%s\" is a composite type" msgstr "« %s » est un type composite" @@ -1578,7 +1383,7 @@ msgstr "le tid (%u, %u) n'est pas valide pour la relation « %s »" msgid "%s cannot be empty." msgstr "%s ne peut pas être vide." -#: access/table/tableamapi.c:122 utils/misc/guc.c:12911 +#: access/table/tableamapi.c:122 utils/misc/guc.c:12926 #, c-format msgid "%s is too long (maximum %d characters)." msgstr "%s est trop long (%d caractères maximum)." @@ -1623,8 +1428,7 @@ msgstr "Assurez-vous que le paramètre de configuration « %s » soit configuré msgid "database is not accepting commands that generate new MultiXactIds to avoid wraparound data loss in database \"%s\"" msgstr "la base de données n'accepte pas de commandes qui génèrent de nouveaux MultiXactId pour éviter les pertes de données suite à une réinitialisation de l'identifiant de transaction dans la base de données « %s »" -#: access/transam/multixact.c:1024 access/transam/multixact.c:1031 -#: access/transam/multixact.c:1055 access/transam/multixact.c:1064 +#: access/transam/multixact.c:1024 access/transam/multixact.c:1031 access/transam/multixact.c:1055 access/transam/multixact.c:1064 #, c-format msgid "" "Execute a database-wide VACUUM in that database.\n" @@ -1693,9 +1497,7 @@ msgstr "le MultiXactId %u n'existe plus : wraparound apparent" msgid "MultiXactId %u has not been created yet -- apparent wraparound" msgstr "le MultiXactId %u n'a pas encore été créé : wraparound apparent" -#: access/transam/multixact.c:2339 access/transam/multixact.c:2348 -#: access/transam/varsup.c:151 access/transam/varsup.c:158 -#: access/transam/varsup.c:466 access/transam/varsup.c:473 +#: access/transam/multixact.c:2339 access/transam/multixact.c:2348 access/transam/varsup.c:151 access/transam/varsup.c:158 access/transam/varsup.c:466 access/transam/varsup.c:473 #, c-format msgid "" "To avoid a database shutdown, execute a database-wide VACUUM in that database.\n" @@ -1794,8 +1596,7 @@ msgstr "l'identifiant du gestionnaire personnalisé de ressources %d est hors de msgid "Provide a custom resource manager ID between %d and %d." msgstr "Fournissez un identifiant de gestionnaire de ressources personnalisé compris entre %d et %d." -#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 -#: access/transam/rmgr.c:128 +#: access/transam/rmgr.c:111 access/transam/rmgr.c:116 access/transam/rmgr.c:128 #, c-format msgid "failed to register custom resource manager \"%s\" with ID %d" msgstr "échec de l'enregistrement du gestionnaire de ressources personnalisé « %s » d'identifiant %d" @@ -1825,10 +1626,7 @@ msgstr "enregistrement du gestionnaire personnalisé de ressources « %s » avec msgid "file \"%s\" doesn't exist, reading as zeroes" msgstr "le fichier « %s » n'existe pas, contenu lu comme des zéros" -#: access/transam/slru.c:946 access/transam/slru.c:952 -#: access/transam/slru.c:960 access/transam/slru.c:965 -#: access/transam/slru.c:972 access/transam/slru.c:977 -#: access/transam/slru.c:984 access/transam/slru.c:991 +#: access/transam/slru.c:946 access/transam/slru.c:952 access/transam/slru.c:960 access/transam/slru.c:965 access/transam/slru.c:972 access/transam/slru.c:977 access/transam/slru.c:984 access/transam/slru.c:991 #, c-format msgid "could not access status of transaction %u" msgstr "n'a pas pu accéder au statut de la transaction %u" @@ -2021,8 +1819,7 @@ msgstr "taille invalide stockée dans le fichier « %s »" msgid "calculated CRC checksum does not match value stored in file \"%s\"" msgstr "la somme de contrôle CRC calculée ne correspond par à la valeur enregistrée dans le fichier « %s »" -#: access/transam/twophase.c:1415 access/transam/xlogrecovery.c:588 -#: replication/logical/logical.c:206 replication/walsender.c:702 +#: access/transam/twophase.c:1415 access/transam/xlogrecovery.c:588 replication/logical/logical.c:206 replication/walsender.c:702 #, c-format msgid "Failed while allocating a WAL reading processor." msgstr "Échec lors de l'allocation d'un processeur de lecture de journaux de transactions." @@ -2101,8 +1898,7 @@ msgstr "n'a pas pu récupérer le fichier d'état de la validation en deux phase msgid "Two-phase state file has been found in WAL record %X/%X, but this transaction has already been restored from disk." msgstr "" -#: access/transam/twophase.c:2512 jit/jit.c:205 utils/fmgr/dfmgr.c:209 -#: utils/fmgr/dfmgr.c:415 +#: access/transam/twophase.c:2512 jit/jit.c:205 utils/fmgr/dfmgr.c:209 utils/fmgr/dfmgr.c:415 #, c-format msgid "could not access file \"%s\": %m" msgstr "n'a pas pu accéder au fichier « %s » : %m" @@ -2195,10 +1991,7 @@ msgid "%s cannot be executed from a function" msgstr "%s ne peut pas être exécuté à partir d'une fonction" #. translator: %s represents an SQL statement name -#: access/transam/xact.c:3580 access/transam/xact.c:3895 -#: access/transam/xact.c:3974 access/transam/xact.c:4097 -#: access/transam/xact.c:4248 access/transam/xact.c:4317 -#: access/transam/xact.c:4428 +#: access/transam/xact.c:3580 access/transam/xact.c:3895 access/transam/xact.c:3974 access/transam/xact.c:4097 access/transam/xact.c:4248 access/transam/xact.c:4317 access/transam/xact.c:4428 #, c-format msgid "%s can only be used in transaction blocks" msgstr "%s peut seulement être utilisé dans des blocs de transaction" @@ -2208,8 +2001,7 @@ msgstr "%s peut seulement être utilisé dans des blocs de transaction" msgid "there is already a transaction in progress" msgstr "une transaction est déjà en cours" -#: access/transam/xact.c:3900 access/transam/xact.c:3979 -#: access/transam/xact.c:4102 +#: access/transam/xact.c:3900 access/transam/xact.c:3979 access/transam/xact.c:4102 #, c-format msgid "there is no transaction in progress" msgstr "aucune transaction en cours" @@ -2234,8 +2026,7 @@ msgstr "ne peut pas définir de points de sauvegarde lors d'une opération paral msgid "cannot release savepoints during a parallel operation" msgstr "ne peut pas relâcher de points de sauvegarde pendant une opération parallèle" -#: access/transam/xact.c:4309 access/transam/xact.c:4360 -#: access/transam/xact.c:4420 access/transam/xact.c:4469 +#: access/transam/xact.c:4309 access/transam/xact.c:4360 access/transam/xact.c:4420 access/transam/xact.c:4469 #, c-format msgid "savepoint \"%s\" does not exist" msgstr "le point de sauvegarde « %s » n'existe pas" @@ -2265,60 +2056,52 @@ msgstr "ne peut pas valider de sous-transactions pendant une opération parallè msgid "cannot have more than 2^32-1 subtransactions in a transaction" msgstr "ne peut pas avoir plus de 2^32-1 sous-transactions dans une transaction" -#: access/transam/xlog.c:1463 +#: access/transam/xlog.c:1465 #, c-format msgid "request to flush past end of generated WAL; request %X/%X, current position %X/%X" msgstr "demande pour vider après la fin du WAL généré ; demande %X/%X, position actuelle %X/%X" -#: access/transam/xlog.c:2224 +#: access/transam/xlog.c:2226 #, c-format msgid "could not write to log file %s at offset %u, length %zu: %m" msgstr "n'a pas pu écrire le fichier de transactions %s au décalage %u, longueur %zu : %m" -#: access/transam/xlog.c:3471 access/transam/xlogutils.c:847 -#: replication/walsender.c:2716 +#: access/transam/xlog.c:3473 access/transam/xlogutils.c:847 replication/walsender.c:2716 #, c-format msgid "requested WAL segment %s has already been removed" msgstr "le segment demandé du journal de transaction, %s, a déjà été supprimé" -#: access/transam/xlog.c:3756 +#: access/transam/xlog.c:3758 #, c-format msgid "could not rename file \"%s\": %m" msgstr "n'a pas pu renommer le fichier « %s » : %m" -#: access/transam/xlog.c:3798 access/transam/xlog.c:3808 +#: access/transam/xlog.c:3800 access/transam/xlog.c:3810 #, c-format msgid "required WAL directory \"%s\" does not exist" msgstr "le répertoire « %s » requis pour les journaux de transactions n'existe pas" -#: access/transam/xlog.c:3814 +#: access/transam/xlog.c:3816 #, c-format msgid "creating missing WAL directory \"%s\"" msgstr "création du répertoire manquant pour les journaux de transactions « %s »" -#: access/transam/xlog.c:3817 commands/dbcommands.c:3115 +#: access/transam/xlog.c:3819 commands/dbcommands.c:3115 #, c-format msgid "could not create missing directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » manquant : %m" -#: access/transam/xlog.c:3884 +#: access/transam/xlog.c:3886 #, c-format msgid "could not generate secret authorization token" msgstr "n'a pas pu générer le jeton secret d'autorisation" -#: access/transam/xlog.c:4043 access/transam/xlog.c:4052 -#: access/transam/xlog.c:4076 access/transam/xlog.c:4083 -#: access/transam/xlog.c:4090 access/transam/xlog.c:4095 -#: access/transam/xlog.c:4102 access/transam/xlog.c:4109 -#: access/transam/xlog.c:4116 access/transam/xlog.c:4123 -#: access/transam/xlog.c:4130 access/transam/xlog.c:4137 -#: access/transam/xlog.c:4146 access/transam/xlog.c:4153 -#: utils/init/miscinit.c:1598 +#: access/transam/xlog.c:4045 access/transam/xlog.c:4054 access/transam/xlog.c:4078 access/transam/xlog.c:4085 access/transam/xlog.c:4092 access/transam/xlog.c:4097 access/transam/xlog.c:4104 access/transam/xlog.c:4111 access/transam/xlog.c:4118 access/transam/xlog.c:4125 access/transam/xlog.c:4132 access/transam/xlog.c:4139 access/transam/xlog.c:4148 access/transam/xlog.c:4155 utils/init/miscinit.c:1606 #, c-format msgid "database files are incompatible with server" msgstr "les fichiers de la base de données sont incompatibles avec le serveur" -#: access/transam/xlog.c:4044 +#: access/transam/xlog.c:4046 #, c-format msgid "The database cluster was initialized with PG_CONTROL_VERSION %d (0x%08x), but the server was compiled with PG_CONTROL_VERSION %d (0x%08x)." msgstr "" @@ -2326,309 +2109,304 @@ msgstr "" "%d (0x%08x) alors que le serveur a été compilé avec un PG_CONTROL_VERSION à \n" "%d (0x%08x)." -#: access/transam/xlog.c:4048 +#: access/transam/xlog.c:4050 #, c-format msgid "This could be a problem of mismatched byte ordering. It looks like you need to initdb." msgstr "" "Ceci peut être un problème d'incohérence dans l'ordre des octets.\n" "Il se peut que vous ayez besoin d'initdb." -#: access/transam/xlog.c:4053 +#: access/transam/xlog.c:4055 #, c-format msgid "The database cluster was initialized with PG_CONTROL_VERSION %d, but the server was compiled with PG_CONTROL_VERSION %d." msgstr "" "Le cluster de base de données a été initialisé avec un PG_CONTROL_VERSION à \n" "%d alors que le serveur a été compilé avec un PG_CONTROL_VERSION à %d." -#: access/transam/xlog.c:4056 access/transam/xlog.c:4080 -#: access/transam/xlog.c:4087 access/transam/xlog.c:4092 +#: access/transam/xlog.c:4058 access/transam/xlog.c:4082 access/transam/xlog.c:4089 access/transam/xlog.c:4094 #, c-format msgid "It looks like you need to initdb." msgstr "Il semble que vous avez besoin d'initdb." -#: access/transam/xlog.c:4067 +#: access/transam/xlog.c:4069 #, c-format msgid "incorrect checksum in control file" msgstr "somme de contrôle incorrecte dans le fichier de contrôle" -#: access/transam/xlog.c:4077 +#: access/transam/xlog.c:4079 #, c-format msgid "The database cluster was initialized with CATALOG_VERSION_NO %d, but the server was compiled with CATALOG_VERSION_NO %d." msgstr "" "Le cluster de base de données a été initialisé avec un CATALOG_VERSION_NO à \n" "%d alors que le serveur a été compilé avec un CATALOG_VERSION_NO à %d." -#: access/transam/xlog.c:4084 +#: access/transam/xlog.c:4086 #, c-format msgid "The database cluster was initialized with MAXALIGN %d, but the server was compiled with MAXALIGN %d." msgstr "" "Le cluster de bases de données a été initialisé avec un MAXALIGN à %d alors\n" "que le serveur a été compilé avec un MAXALIGN à %d." -#: access/transam/xlog.c:4091 +#: access/transam/xlog.c:4093 #, c-format msgid "The database cluster appears to use a different floating-point number format than the server executable." msgstr "" "Le cluster de bases de données semble utiliser un format différent pour les\n" "nombres à virgule flottante de celui de l'exécutable serveur." -#: access/transam/xlog.c:4096 +#: access/transam/xlog.c:4098 #, c-format msgid "The database cluster was initialized with BLCKSZ %d, but the server was compiled with BLCKSZ %d." msgstr "" "Le cluster de base de données a été initialisé avec un BLCKSZ à %d alors que\n" "le serveur a été compilé avec un BLCKSZ à %d." -#: access/transam/xlog.c:4099 access/transam/xlog.c:4106 -#: access/transam/xlog.c:4113 access/transam/xlog.c:4120 -#: access/transam/xlog.c:4127 access/transam/xlog.c:4134 -#: access/transam/xlog.c:4141 access/transam/xlog.c:4149 -#: access/transam/xlog.c:4156 +#: access/transam/xlog.c:4101 access/transam/xlog.c:4108 access/transam/xlog.c:4115 access/transam/xlog.c:4122 access/transam/xlog.c:4129 access/transam/xlog.c:4136 access/transam/xlog.c:4143 access/transam/xlog.c:4151 access/transam/xlog.c:4158 #, c-format msgid "It looks like you need to recompile or initdb." msgstr "Il semble que vous avez besoin de recompiler ou de relancer initdb." -#: access/transam/xlog.c:4103 +#: access/transam/xlog.c:4105 #, c-format msgid "The database cluster was initialized with RELSEG_SIZE %d, but the server was compiled with RELSEG_SIZE %d." msgstr "" "Le cluster de bases de données a été initialisé avec un RELSEG_SIZE à %d\n" "alors que le serveur a été compilé avec un RELSEG_SIZE à %d." -#: access/transam/xlog.c:4110 +#: access/transam/xlog.c:4112 #, c-format msgid "The database cluster was initialized with XLOG_BLCKSZ %d, but the server was compiled with XLOG_BLCKSZ %d." msgstr "" "Le cluster de base de données a été initialisé avec un XLOG_BLCKSZ à %d\n" "alors que le serveur a été compilé avec un XLOG_BLCKSZ à %d." -#: access/transam/xlog.c:4117 +#: access/transam/xlog.c:4119 #, c-format msgid "The database cluster was initialized with NAMEDATALEN %d, but the server was compiled with NAMEDATALEN %d." msgstr "" "Le cluster de bases de données a été initialisé avec un NAMEDATALEN à %d\n" "alors que le serveur a été compilé avec un NAMEDATALEN à %d." -#: access/transam/xlog.c:4124 +#: access/transam/xlog.c:4126 #, c-format msgid "The database cluster was initialized with INDEX_MAX_KEYS %d, but the server was compiled with INDEX_MAX_KEYS %d." msgstr "" "Le groupe de bases de données a été initialisé avec un INDEX_MAX_KEYS à %d\n" "alors que le serveur a été compilé avec un INDEX_MAX_KEYS à %d." -#: access/transam/xlog.c:4131 +#: access/transam/xlog.c:4133 #, c-format msgid "The database cluster was initialized with TOAST_MAX_CHUNK_SIZE %d, but the server was compiled with TOAST_MAX_CHUNK_SIZE %d." msgstr "" "Le cluster de bases de données a été initialisé avec un TOAST_MAX_CHUNK_SIZE\n" "à %d alors que le serveur a été compilé avec un TOAST_MAX_CHUNK_SIZE à %d." -#: access/transam/xlog.c:4138 +#: access/transam/xlog.c:4140 #, c-format msgid "The database cluster was initialized with LOBLKSIZE %d, but the server was compiled with LOBLKSIZE %d." msgstr "" "Le cluster de base de données a été initialisé avec un LOBLKSIZE à %d alors que\n" "le serveur a été compilé avec un LOBLKSIZE à %d." -#: access/transam/xlog.c:4147 +#: access/transam/xlog.c:4149 #, c-format msgid "The database cluster was initialized without USE_FLOAT8_BYVAL but the server was compiled with USE_FLOAT8_BYVAL." msgstr "" "Le cluster de base de données a été initialisé sans USE_FLOAT8_BYVAL\n" "alors que le serveur a été compilé avec USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4154 +#: access/transam/xlog.c:4156 #, c-format msgid "The database cluster was initialized with USE_FLOAT8_BYVAL but the server was compiled without USE_FLOAT8_BYVAL." msgstr "" "Le cluster de base de données a été initialisé avec USE_FLOAT8_BYVAL\n" "alors que le serveur a été compilé sans USE_FLOAT8_BYVAL." -#: access/transam/xlog.c:4163 +#: access/transam/xlog.c:4165 #, c-format msgid "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d byte" msgid_plural "WAL segment size must be a power of two between 1 MB and 1 GB, but the control file specifies %d bytes" msgstr[0] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octet" msgstr[1] "La taille du segment WAL doit être une puissance de deux comprise entre 1 Mo et 1 Go, mais le fichier de contrôle indique %d octets" -#: access/transam/xlog.c:4175 +#: access/transam/xlog.c:4177 #, c-format msgid "\"min_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "« min_wal_size » doit être au moins le double de « wal_segment_size »" -#: access/transam/xlog.c:4179 +#: access/transam/xlog.c:4181 #, c-format msgid "\"max_wal_size\" must be at least twice \"wal_segment_size\"" msgstr "« max_wal_size » doit être au moins le double de « wal_segment_size »" -#: access/transam/xlog.c:4620 +#: access/transam/xlog.c:4622 #, c-format msgid "could not write bootstrap write-ahead log file: %m" msgstr "n'a pas pu écrire le « bootstrap » du journal des transactions : %m" -#: access/transam/xlog.c:4628 +#: access/transam/xlog.c:4630 #, c-format msgid "could not fsync bootstrap write-ahead log file: %m" msgstr "" "n'a pas pu synchroniser sur disque (fsync) le « bootstrap » du journal des\n" "transactions : %m" -#: access/transam/xlog.c:4634 +#: access/transam/xlog.c:4636 #, c-format msgid "could not close bootstrap write-ahead log file: %m" msgstr "n'a pas pu fermer le « bootstrap » du journal des transactions : %m" -#: access/transam/xlog.c:4852 +#: access/transam/xlog.c:4854 #, c-format msgid "WAL was generated with wal_level=minimal, cannot continue recovering" msgstr "le journal de transactions a été généré avec le paramètre wal_level=minimal, ne peut pas continuer la restauration" -#: access/transam/xlog.c:4853 +#: access/transam/xlog.c:4855 #, c-format msgid "This happens if you temporarily set wal_level=minimal on the server." msgstr "Ceci peut arriver si vous configurez temporairement wal_level à minimal sur le serveur." -#: access/transam/xlog.c:4854 +#: access/transam/xlog.c:4856 #, c-format msgid "Use a backup taken after setting wal_level to higher than minimal." msgstr "Utilisez la sauvegarde prise lors que la configuration de wal_level était au-dessus du niveau minimal." -#: access/transam/xlog.c:4918 +#: access/transam/xlog.c:4920 #, c-format msgid "control file contains invalid checkpoint location" msgstr "le fichier de contrôle contient un emplacement de checkpoint invalide" -#: access/transam/xlog.c:4929 +#: access/transam/xlog.c:4931 #, c-format msgid "database system was shut down at %s" msgstr "le système de bases de données a été arrêté à %s" -#: access/transam/xlog.c:4935 +#: access/transam/xlog.c:4937 #, c-format msgid "database system was shut down in recovery at %s" msgstr "le système de bases de données a été arrêté pendant la restauration à %s" -#: access/transam/xlog.c:4941 +#: access/transam/xlog.c:4943 #, c-format msgid "database system shutdown was interrupted; last known up at %s" msgstr "le système de bases de données a été interrompu ; dernier lancement connu à %s" -#: access/transam/xlog.c:4947 +#: access/transam/xlog.c:4949 #, c-format msgid "database system was interrupted while in recovery at %s" msgstr "le système de bases de données a été interrompu lors d'une restauration à %s" -#: access/transam/xlog.c:4949 +#: access/transam/xlog.c:4951 #, c-format msgid "This probably means that some data is corrupted and you will have to use the last backup for recovery." msgstr "" "Ceci signifie probablement que des données ont été corrompues et que vous\n" "devrez utiliser la dernière sauvegarde pour la restauration." -#: access/transam/xlog.c:4955 +#: access/transam/xlog.c:4957 #, c-format msgid "database system was interrupted while in recovery at log time %s" msgstr "" "le système de bases de données a été interrompu lors d'une récupération à %s\n" "(moment de la journalisation)" -#: access/transam/xlog.c:4957 +#: access/transam/xlog.c:4959 #, c-format msgid "If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target." msgstr "" "Si c'est arrivé plus d'une fois, des données ont pu être corrompues et vous\n" "pourriez avoir besoin de choisir une cible de récupération antérieure." -#: access/transam/xlog.c:4963 +#: access/transam/xlog.c:4965 #, c-format msgid "database system was interrupted; last known up at %s" msgstr "le système de bases de données a été interrompu ; dernier lancement connu à %s" -#: access/transam/xlog.c:4969 +#: access/transam/xlog.c:4971 #, c-format msgid "control file contains invalid database cluster state" msgstr "le fichier de contrôle contient un état invalide de l'instance" -#: access/transam/xlog.c:5353 +#: access/transam/xlog.c:5355 #, c-format msgid "WAL ends before end of online backup" msgstr "le journal de transactions se termine avant la fin de la sauvegarde de base" -#: access/transam/xlog.c:5354 +#: access/transam/xlog.c:5356 #, c-format msgid "All WAL generated while online backup was taken must be available at recovery." msgstr "Tous les journaux de transactions générés pendant la sauvegarde en ligne doivent être disponibles pour la restauration." -#: access/transam/xlog.c:5357 +#: access/transam/xlog.c:5359 #, c-format msgid "WAL ends before consistent recovery point" msgstr "Le journal de transaction se termine avant un point de restauration cohérent" -#: access/transam/xlog.c:5405 +#: access/transam/xlog.c:5407 #, c-format msgid "selected new timeline ID: %u" msgstr "identifiant d'un timeline nouvellement sélectionné : %u" -#: access/transam/xlog.c:5438 +#: access/transam/xlog.c:5440 #, c-format msgid "archive recovery complete" msgstr "restauration de l'archive terminée" -#: access/transam/xlog.c:6044 +#: access/transam/xlog.c:6046 #, c-format msgid "shutting down" msgstr "arrêt en cours" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6083 +#: access/transam/xlog.c:6085 #, c-format msgid "restartpoint starting:%s%s%s%s%s%s%s%s" msgstr "début du restartpoint :%s%s%s%s%s%s%s%s" #. translator: the placeholders show checkpoint options -#: access/transam/xlog.c:6095 +#: access/transam/xlog.c:6097 #, c-format msgid "checkpoint starting:%s%s%s%s%s%s%s%s" msgstr "début du checkpoint :%s%s%s%s%s%s%s%s" -#: access/transam/xlog.c:6155 +#: access/transam/xlog.c:6157 #, c-format msgid "restartpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB" msgstr "restartpoint terminé : a écrit %d tampons (%.1f%%); %d fichiers WAL ajoutés, %d supprimés, %d recyclés ; écriture=%ld.%03d s, synchronisation=%ld.%03d s, total=%ld.%03d s; fichiers synchronisés=%d, plus long=%ld.%03d s, moyenne=%ld.%03d s; distance=%d kB, estimation=%d kB" -#: access/transam/xlog.c:6175 +#: access/transam/xlog.c:6177 #, c-format msgid "checkpoint complete: wrote %d buffers (%.1f%%); %d WAL file(s) added, %d removed, %d recycled; write=%ld.%03d s, sync=%ld.%03d s, total=%ld.%03d s; sync files=%d, longest=%ld.%03d s, average=%ld.%03d s; distance=%d kB, estimate=%d kB" msgstr "checkpoint terminé : a écrit %d tampons (%.1f%%); %d fichiers WAL ajoutés, %d supprimés, %d recyclés ; écriture=%ld.%03d s, synchronisation=%ld.%03d s, total=%ld.%03d s; fichiers synchronisés=%d, plus long=%ld.%03d s, moyenne=%ld.%03d s; distance=%d kB, estimation=%d kB" -#: access/transam/xlog.c:6610 +#: access/transam/xlog.c:6612 #, c-format msgid "concurrent write-ahead log activity while database system is shutting down" msgstr "" "activité en cours du journal de transactions alors que le système de bases\n" "de données est en cours d'arrêt" -#: access/transam/xlog.c:7167 +#: access/transam/xlog.c:7169 #, c-format msgid "recovery restart point at %X/%X" msgstr "la ré-exécution en restauration commence à %X/%X" -#: access/transam/xlog.c:7169 +#: access/transam/xlog.c:7171 #, c-format msgid "Last completed transaction was at log time %s." msgstr "La dernière transaction a eu lieu à %s (moment de la journalisation)." -#: access/transam/xlog.c:7416 +#: access/transam/xlog.c:7418 #, c-format msgid "restore point \"%s\" created at %X/%X" msgstr "point de restauration « %s » créé à %X/%X" -#: access/transam/xlog.c:7623 +#: access/transam/xlog.c:7625 #, c-format msgid "online backup was canceled, recovery cannot continue" msgstr "la sauvegarde en ligne a été annulée, la restauration ne peut pas continuer" -#: access/transam/xlog.c:7680 +#: access/transam/xlog.c:7682 #, fuzzy, c-format #| msgid "unexpected timeline ID %u (should be %u) in checkpoint record" msgid "unexpected timeline ID %u (should be %u) in shutdown checkpoint record" @@ -2636,7 +2414,7 @@ msgstr "" "identifiant timeline %u inattendu (devrait être %u) dans l'enregistrement du\n" "point de vérification" -#: access/transam/xlog.c:7738 +#: access/transam/xlog.c:7740 #, fuzzy, c-format #| msgid "unexpected timeline ID %u (should be %u) in checkpoint record" msgid "unexpected timeline ID %u (should be %u) in online checkpoint record" @@ -2644,7 +2422,7 @@ msgstr "" "identifiant timeline %u inattendu (devrait être %u) dans l'enregistrement du\n" "point de vérification" -#: access/transam/xlog.c:7767 +#: access/transam/xlog.c:7769 #, fuzzy, c-format #| msgid "unexpected timeline ID %u (should be %u) in checkpoint record" msgid "unexpected timeline ID %u (should be %u) in end-of-recovery record" @@ -2652,30 +2430,29 @@ msgstr "" "identifiant timeline %u inattendu (devrait être %u) dans l'enregistrement du\n" "point de vérification" -#: access/transam/xlog.c:8025 +#: access/transam/xlog.c:8027 #, c-format msgid "could not fsync write-through file \"%s\": %m" msgstr "n'a pas pu synchroniser sur disque (fsync) le fichier %s : %m" -#: access/transam/xlog.c:8031 +#: access/transam/xlog.c:8033 #, c-format msgid "could not fdatasync file \"%s\": %m" msgstr "n'a pas pu synchroniser sur disque (fdatasync) le fichier « %s » : %m" -#: access/transam/xlog.c:8126 access/transam/xlog.c:8493 +#: access/transam/xlog.c:8128 access/transam/xlog.c:8495 #, c-format msgid "WAL level not sufficient for making an online backup" msgstr "Le niveau de journalisation n'est pas suffisant pour faire une sauvegarde en ligne" -#: access/transam/xlog.c:8127 access/transam/xlog.c:8494 -#: access/transam/xlogfuncs.c:199 +#: access/transam/xlog.c:8129 access/transam/xlog.c:8496 access/transam/xlogfuncs.c:199 #, c-format msgid "wal_level must be set to \"replica\" or \"logical\" at server start." msgstr "" "wal_level doit être configuré à « replica » ou « logical »\n" "au démarrage du serveur." -#: access/transam/xlog.c:8132 +#: access/transam/xlog.c:8134 #, c-format msgid "backup label too long (max %d bytes)" msgstr "label de sauvegarde trop long (%d octets maximum)" @@ -2685,78 +2462,74 @@ msgstr "label de sauvegarde trop long (%d octets maximum)" # * (i.e., since last restartpoint used as backup starting # * checkpoint) contain full-page writes. # */ -#: access/transam/xlog.c:8248 +#: access/transam/xlog.c:8250 #, c-format msgid "WAL generated with full_page_writes=off was replayed since last restartpoint" msgstr "Un journal de transaction généré avec full_page_writes=off a été rejoué depuis le dernier point de reprise (restartpoint)" -#: access/transam/xlog.c:8250 access/transam/xlog.c:8606 +#: access/transam/xlog.c:8252 access/transam/xlog.c:8608 #, c-format msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again." msgstr "Cela signifie que la sauvegarde en cours de réalisation sur le secondaire est corrompue et ne devrait pas être utilisée. Activez full_page_writes et lancez CHECKPOINT sur le primaire, puis recommencez la sauvegarde." -#: access/transam/xlog.c:8330 backup/basebackup.c:1345 utils/adt/misc.c:347 +#: access/transam/xlog.c:8332 backup/basebackup.c:1349 utils/adt/misc.c:347 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "la cible du lien symbolique « %s » est trop longue" -#: access/transam/xlog.c:8380 backup/basebackup.c:1360 -#: commands/tablespace.c:399 commands/tablespace.c:581 utils/adt/misc.c:355 +#: access/transam/xlog.c:8382 backup/basebackup.c:1364 commands/tablespace.c:399 commands/tablespace.c:581 utils/adt/misc.c:355 #, c-format msgid "tablespaces are not supported on this platform" msgstr "les tablespaces ne sont pas supportés sur cette plateforme" -#: access/transam/xlog.c:8539 access/transam/xlog.c:8552 -#: access/transam/xlogrecovery.c:1211 access/transam/xlogrecovery.c:1218 -#: access/transam/xlogrecovery.c:1277 access/transam/xlogrecovery.c:1357 -#: access/transam/xlogrecovery.c:1381 +#: access/transam/xlog.c:8541 access/transam/xlog.c:8554 access/transam/xlogrecovery.c:1237 access/transam/xlogrecovery.c:1244 access/transam/xlogrecovery.c:1303 access/transam/xlogrecovery.c:1383 access/transam/xlogrecovery.c:1407 #, c-format msgid "invalid data in file \"%s\"" msgstr "données invalides dans le fichier « %s »" -#: access/transam/xlog.c:8556 backup/basebackup.c:1200 +#: access/transam/xlog.c:8558 backup/basebackup.c:1204 #, c-format msgid "the standby was promoted during online backup" msgstr "le standby a été promu lors de la sauvegarde en ligne" -#: access/transam/xlog.c:8557 backup/basebackup.c:1201 +#: access/transam/xlog.c:8559 backup/basebackup.c:1205 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "" "Cela signifie que la sauvegarde en cours de réalisation est corrompue et ne\n" "doit pas être utilisée. Recommencez la sauvegarde." -#: access/transam/xlog.c:8604 +#: access/transam/xlog.c:8606 #, c-format msgid "WAL generated with full_page_writes=off was replayed during online backup" msgstr "Un journal de transaction généré avec full_page_writes=off a été rejoué pendant la sauvegarde en ligne" -#: access/transam/xlog.c:8729 +#: access/transam/xlog.c:8731 #, c-format msgid "base backup done, waiting for required WAL segments to be archived" msgstr "backup de base terminé, en attente de l'archivage des journaux de transactions nécessaires" -#: access/transam/xlog.c:8743 +#: access/transam/xlog.c:8745 #, c-format msgid "still waiting for all required WAL segments to be archived (%d seconds elapsed)" msgstr "toujours en attente de la fin de l'archivage de tous les segments de journaux de transactions requis (%d secondes passées)" -#: access/transam/xlog.c:8745 +#: access/transam/xlog.c:8747 #, c-format msgid "Check that your archive_command is executing properly. You can safely cancel this backup, but the database backup will not be usable without all the WAL segments." msgstr "Vérifiez que votre archive_command s'exécute correctement. Vous pouvez annuler cette sauvegarde sans souci, mais elle ne sera pas utilisable sans tous les segments WAL." -#: access/transam/xlog.c:8752 +#: access/transam/xlog.c:8754 #, c-format msgid "all required WAL segments have been archived" msgstr "tous les journaux de transactions requis ont été archivés" -#: access/transam/xlog.c:8756 +#: access/transam/xlog.c:8758 #, c-format msgid "WAL archiving is not enabled; you must ensure that all required WAL segments are copied through other means to complete the backup" msgstr "L'archivage des journaux de transactions n'est pas activé ; vous devez vous assurer que tous les des journaux de transactions requis sont copiés par d'autres moyens pour terminer la sauvegarde" -#: access/transam/xlog.c:8805 +#: access/transam/xlog.c:8807 #, fuzzy, c-format #| msgid "aborting backup due to backend exiting before pg_stop_backup was called" msgid "aborting backup due to backend exiting before pg_backup_stop was called" @@ -2815,9 +2588,7 @@ msgstr "la sauvegarde n'est pas en cours" msgid "Did you call pg_backup_start()?" msgstr "Avez-vous appelé pg_backup_start() ?" -#: access/transam/xlogfuncs.c:166 access/transam/xlogfuncs.c:193 -#: access/transam/xlogfuncs.c:232 access/transam/xlogfuncs.c:253 -#: access/transam/xlogfuncs.c:274 +#: access/transam/xlogfuncs.c:166 access/transam/xlogfuncs.c:193 access/transam/xlogfuncs.c:232 access/transam/xlogfuncs.c:253 access/transam/xlogfuncs.c:274 #, c-format msgid "WAL control functions cannot be executed during recovery." msgstr "les fonctions de contrôle des journaux de transactions ne peuvent pas être exécutées lors de la restauration." @@ -2837,16 +2608,12 @@ msgstr "valeur trop longue pour le point de restauration (%d caractères maximum msgid "%s cannot be executed during recovery." msgstr "%s ne peut pas être exécuté lors de la restauration." -#: access/transam/xlogfuncs.c:424 access/transam/xlogfuncs.c:454 -#: access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:501 -#: access/transam/xlogfuncs.c:581 +#: access/transam/xlogfuncs.c:424 access/transam/xlogfuncs.c:454 access/transam/xlogfuncs.c:478 access/transam/xlogfuncs.c:501 access/transam/xlogfuncs.c:581 #, c-format msgid "recovery is not in progress" msgstr "la restauration n'est pas en cours" -#: access/transam/xlogfuncs.c:425 access/transam/xlogfuncs.c:455 -#: access/transam/xlogfuncs.c:479 access/transam/xlogfuncs.c:502 -#: access/transam/xlogfuncs.c:582 +#: access/transam/xlogfuncs.c:425 access/transam/xlogfuncs.c:455 access/transam/xlogfuncs.c:479 access/transam/xlogfuncs.c:502 access/transam/xlogfuncs.c:582 #, c-format msgid "Recovery control functions can only be executed during recovery." msgstr "" @@ -2868,7 +2635,7 @@ msgstr "%s ne peut pas être exécuté une fois la promotion en cours d'exécuti msgid "\"wait_seconds\" must not be negative or zero" msgstr "« wait_seconds » ne doit pas être négatif ou nul" -#: access/transam/xlogfuncs.c:607 storage/ipc/signalfuncs.c:252 +#: access/transam/xlogfuncs.c:607 storage/ipc/signalfuncs.c:257 #, c-format msgid "failed to send signal to postmaster: %m" msgstr "n'a pas pu envoyer le signal au postmaster : %m" @@ -2886,159 +2653,159 @@ msgstr[1] "le serveur ne s'est pas promu dans les %d secondes" msgid "recovery_prefetch is not supported on platforms that lack posix_fadvise()." msgstr "effective_io_concurrency doit être positionné à 0 sur les plateformes où manque posix_fadvise()" -#: access/transam/xlogreader.c:592 +#: access/transam/xlogreader.c:620 #, c-format msgid "invalid record offset at %X/%X" msgstr "décalage invalide de l'enregistrement %X/%X" -#: access/transam/xlogreader.c:600 +#: access/transam/xlogreader.c:628 #, c-format msgid "contrecord is requested by %X/%X" msgstr "« contrecord » est requis par %X/%X" -#: access/transam/xlogreader.c:641 access/transam/xlogreader.c:1106 +#: access/transam/xlogreader.c:669 access/transam/xlogreader.c:1134 #, c-format msgid "invalid record length at %X/%X: wanted %u, got %u" msgstr "longueur invalide de l'enregistrement à %X/%X : voulait %u, a eu %u" -#: access/transam/xlogreader.c:730 +#: access/transam/xlogreader.c:758 #, c-format msgid "there is no contrecord flag at %X/%X" msgstr "il n'existe pas de drapeau contrecord à %X/%X" -#: access/transam/xlogreader.c:743 +#: access/transam/xlogreader.c:771 #, c-format msgid "invalid contrecord length %u (expected %lld) at %X/%X" msgstr "longueur %u invalide du contrecord (%lld attendu) à %X/%X" -#: access/transam/xlogreader.c:1114 +#: access/transam/xlogreader.c:1142 #, c-format msgid "invalid resource manager ID %u at %X/%X" msgstr "identifiant du gestionnaire de ressources invalide %u à %X/%X" -#: access/transam/xlogreader.c:1127 access/transam/xlogreader.c:1143 +#: access/transam/xlogreader.c:1155 access/transam/xlogreader.c:1171 #, c-format msgid "record with incorrect prev-link %X/%X at %X/%X" msgstr "enregistrement avec prev-link %X/%X incorrect à %X/%X" -#: access/transam/xlogreader.c:1181 +#: access/transam/xlogreader.c:1209 #, c-format msgid "incorrect resource manager data checksum in record at %X/%X" msgstr "" "somme de contrôle des données du gestionnaire de ressources incorrecte à \n" "l'enregistrement %X/%X" -#: access/transam/xlogreader.c:1218 +#: access/transam/xlogreader.c:1246 #, c-format msgid "invalid magic number %04X in log segment %s, offset %u" msgstr "numéro magique invalide %04X dans le segment %s, décalage %u" -#: access/transam/xlogreader.c:1232 access/transam/xlogreader.c:1273 +#: access/transam/xlogreader.c:1260 access/transam/xlogreader.c:1301 #, c-format msgid "invalid info bits %04X in log segment %s, offset %u" msgstr "bits d'information %04X invalides dans le segment %s, décalage %u" -#: access/transam/xlogreader.c:1247 +#: access/transam/xlogreader.c:1275 #, c-format msgid "WAL file is from different database system: WAL file database system identifier is %llu, pg_control database system identifier is %llu" msgstr "Le fichier WAL provient d'une instance différente : l'identifiant système de la base dans le fichier WAL est %llu, alors que l'identifiant système de la base dans pg_control est %llu" -#: access/transam/xlogreader.c:1255 +#: access/transam/xlogreader.c:1283 #, c-format msgid "WAL file is from different database system: incorrect segment size in page header" msgstr "Le fichier WAL provient d'une instance différente : taille invalide du segment dans l'en-tête de page" -#: access/transam/xlogreader.c:1261 +#: access/transam/xlogreader.c:1289 #, c-format msgid "WAL file is from different database system: incorrect XLOG_BLCKSZ in page header" msgstr "Le fichier WAL provient d'une instance différente : XLOG_BLCKSZ incorrect dans l'en-tête de page" -#: access/transam/xlogreader.c:1292 +#: access/transam/xlogreader.c:1320 #, c-format msgid "unexpected pageaddr %X/%X in log segment %s, offset %u" msgstr "pageaddr %X/%X inattendue dans le journal de transactions %s, segment %u" -#: access/transam/xlogreader.c:1317 +#: access/transam/xlogreader.c:1345 #, c-format msgid "out-of-sequence timeline ID %u (after %u) in log segment %s, offset %u" msgstr "identifiant timeline %u hors de la séquence (après %u) dans le segment %s, décalage %u" -#: access/transam/xlogreader.c:1722 +#: access/transam/xlogreader.c:1750 #, c-format msgid "out-of-order block_id %u at %X/%X" msgstr "block_id %u désordonné à %X/%X" -#: access/transam/xlogreader.c:1746 +#: access/transam/xlogreader.c:1774 #, c-format msgid "BKPBLOCK_HAS_DATA set, but no data included at %X/%X" msgstr "BKPBLOCK_HAS_DATA configuré, mais aucune donnée inclus à %X/%X" -#: access/transam/xlogreader.c:1753 +#: access/transam/xlogreader.c:1781 #, c-format msgid "BKPBLOCK_HAS_DATA not set, but data length is %u at %X/%X" msgstr "BKPBLOCK_HAS_DATA non configuré, mais la longueur des données est %u à %X/%X" -#: access/transam/xlogreader.c:1789 +#: access/transam/xlogreader.c:1817 #, c-format msgid "BKPIMAGE_HAS_HOLE set, but hole offset %u length %u block image length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE activé, mais décalage trou %u longueur %u longueur image bloc %u à %X/%X" -#: access/transam/xlogreader.c:1805 +#: access/transam/xlogreader.c:1833 #, c-format msgid "BKPIMAGE_HAS_HOLE not set, but hole offset %u length %u at %X/%X" msgstr "BKPIMAGE_HAS_HOLE désactivé, mais décalage trou %u longueur %u à %X/%X" -#: access/transam/xlogreader.c:1819 +#: access/transam/xlogreader.c:1847 #, c-format msgid "BKPIMAGE_COMPRESSED set, but block image length %u at %X/%X" msgstr "BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: access/transam/xlogreader.c:1834 +#: access/transam/xlogreader.c:1862 #, c-format msgid "neither BKPIMAGE_HAS_HOLE nor BKPIMAGE_COMPRESSED set, but block image length is %u at %X/%X" msgstr "ni BKPIMAGE_HAS_HOLE ni BKPIMAGE_COMPRESSED configuré, mais la longueur de l'image du bloc est %u à %X/%X" -#: access/transam/xlogreader.c:1850 +#: access/transam/xlogreader.c:1878 #, c-format msgid "BKPBLOCK_SAME_REL set but no previous rel at %X/%X" msgstr "BKPBLOCK_SAME_REL configuré, mais pas de relation précédente à %X/%X" -#: access/transam/xlogreader.c:1862 +#: access/transam/xlogreader.c:1890 #, c-format msgid "invalid block_id %u at %X/%X" msgstr "block_id %u invalide à %X/%X" -#: access/transam/xlogreader.c:1929 +#: access/transam/xlogreader.c:1957 #, c-format msgid "record with invalid length at %X/%X" msgstr "enregistrement de longueur invalide à %X/%X" -#: access/transam/xlogreader.c:1954 +#: access/transam/xlogreader.c:1982 #, c-format msgid "could not locate backup block with ID %d in WAL record" msgstr "n'a pas pu localiser le bloc de sauvegarde d'ID %d dans l'enregistrement WAL" -#: access/transam/xlogreader.c:2038 +#: access/transam/xlogreader.c:2066 #, c-format msgid "could not restore image at %X/%X with invalid block %d specified" msgstr "n'a pas pu restaurer l'image à %X/%X avec le bloc invalide %d indiqué" -#: access/transam/xlogreader.c:2045 +#: access/transam/xlogreader.c:2073 #, c-format msgid "could not restore image at %X/%X with invalid state, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X avec un état invalide, bloc %d" -#: access/transam/xlogreader.c:2072 access/transam/xlogreader.c:2089 +#: access/transam/xlogreader.c:2100 access/transam/xlogreader.c:2117 #, c-format msgid "could not restore image at %X/%X compressed with %s not supported by build, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec %s, qui est non supporté par le serveur, bloc %d" -#: access/transam/xlogreader.c:2098 +#: access/transam/xlogreader.c:2126 #, c-format msgid "could not restore image at %X/%X compressed with unknown method, block %d" msgstr "n'a pas pu restaurer l'image à %X/%X compressé avec une méthode inconnue, bloc %d" -#: access/transam/xlogreader.c:2106 +#: access/transam/xlogreader.c:2134 #, c-format msgid "could not decompress image at %X/%X, block %d" msgstr "n'a pas pu décompresser l'image à %X/%X, bloc %d" @@ -3078,12 +2845,18 @@ msgstr "début de la restauration de l'archive jusqu'au point de cohérence le p msgid "starting archive recovery" msgstr "début de la restauration de l'archive" -#: access/transam/xlogrecovery.c:651 +#: access/transam/xlogrecovery.c:635 +#, fuzzy, c-format +#| msgid "updated min recovery point to %X/%X on timeline %u" +msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u" +msgstr "mise à jour du point minimum de restauration sur %X/%X pour la timeline %u" + +#: access/transam/xlogrecovery.c:667 #, c-format msgid "could not find redo location referenced by checkpoint record" msgstr "n'a pas pu localiser l'enregistrement redo référencé par le point de vérification" -#: access/transam/xlogrecovery.c:652 access/transam/xlogrecovery.c:662 +#: access/transam/xlogrecovery.c:668 access/transam/xlogrecovery.c:678 #, c-format msgid "" "If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" @@ -3094,84 +2867,90 @@ msgstr "" "Si vous ne restaurez pas depuis une sauvegarde, essayez de supprimer « %s/backup_label ».\n" "Attention : supprimer « %s/backup_label » lors d'une restauration de sauvegarde entraînera la corruption de l'instance." -#: access/transam/xlogrecovery.c:661 +#: access/transam/xlogrecovery.c:677 #, c-format msgid "could not locate required checkpoint record" msgstr "n'a pas pu localiser l'enregistrement d'un point de vérification requis" -#: access/transam/xlogrecovery.c:690 commands/tablespace.c:685 +#: access/transam/xlogrecovery.c:706 commands/tablespace.c:685 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "n'a pas pu créer le lien symbolique « %s » : %m" -#: access/transam/xlogrecovery.c:722 access/transam/xlogrecovery.c:728 +#: access/transam/xlogrecovery.c:738 access/transam/xlogrecovery.c:744 #, c-format msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "ignore le fichier « %s » car le fichier « %s » n'existe pas" -#: access/transam/xlogrecovery.c:724 +#: access/transam/xlogrecovery.c:740 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "Le fichier « %s » a été renommé en « %s »." -#: access/transam/xlogrecovery.c:730 +#: access/transam/xlogrecovery.c:746 #, c-format msgid "Could not rename file \"%s\" to \"%s\": %m." msgstr "N'a pas pu renommer le fichier « %s » en « %s » : %m." -#: access/transam/xlogrecovery.c:784 +#: access/transam/xlogrecovery.c:785 +#, fuzzy, c-format +#| msgid "starting point-in-time recovery to WAL location (LSN) \"%X/%X\"" +msgid "restarting backup recovery with redo LSN %X/%X" +msgstr "début de la restauration PITR à l'emplacement WAL (LSN) « %X/%X »" + +#: access/transam/xlogrecovery.c:810 #, c-format msgid "could not locate a valid checkpoint record" msgstr "n'a pas pu localiser un enregistrement d'un point de vérification valide" -#: access/transam/xlogrecovery.c:808 +#: access/transam/xlogrecovery.c:834 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "la timeline requise %u n'est pas un fils de l'historique de ce serveur" -#: access/transam/xlogrecovery.c:810 +#: access/transam/xlogrecovery.c:836 #, c-format msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X." msgstr "Le dernier checkpoint est à %X/%X sur la timeline %u, mais dans l'historique de la timeline demandée, le serveur est sorti de cette timeline à %X/%X." -#: access/transam/xlogrecovery.c:824 +#: access/transam/xlogrecovery.c:850 #, c-format msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u" msgstr "la timeline requise, %u, ne contient pas le point de restauration minimum (%X/%X) sur la timeline %u" -#: access/transam/xlogrecovery.c:852 +#: access/transam/xlogrecovery.c:878 #, c-format msgid "invalid next transaction ID" msgstr "prochain ID de transaction invalide" -#: access/transam/xlogrecovery.c:857 +#: access/transam/xlogrecovery.c:883 #, c-format msgid "invalid redo in checkpoint record" msgstr "ré-exécution invalide dans l'enregistrement du point de vérification" -#: access/transam/xlogrecovery.c:868 +#: access/transam/xlogrecovery.c:894 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "enregistrement de ré-exécution invalide dans le point de vérification d'arrêt" -#: access/transam/xlogrecovery.c:897 +#: access/transam/xlogrecovery.c:923 #, c-format msgid "database system was not properly shut down; automatic recovery in progress" msgstr "" "le système de bases de données n'a pas été arrêté proprement ; restauration\n" "automatique en cours" -#: access/transam/xlogrecovery.c:901 +#: access/transam/xlogrecovery.c:927 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "la restauration après crash commence par la timeline %u et a la timeline %u en cible" -#: access/transam/xlogrecovery.c:944 +#: access/transam/xlogrecovery.c:970 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label contient des données incohérentes avec le fichier de contrôle" -#: access/transam/xlogrecovery.c:945 +#: access/transam/xlogrecovery.c:971 #, c-format msgid "This means that the backup is corrupted and you will have to use another backup for recovery." msgstr "" @@ -3181,328 +2960,332 @@ msgstr "" # /* # * Check for old recovery API file: recovery.conf # */ -#: access/transam/xlogrecovery.c:999 +#: access/transam/xlogrecovery.c:1025 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "utiliser le fichier de commande de la restauration « %s » n'est plus supporté" -#: access/transam/xlogrecovery.c:1064 +#: access/transam/xlogrecovery.c:1090 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "le mode de restauration n'est pas supporté pour les serveurs mono-utilisateur" -#: access/transam/xlogrecovery.c:1081 +#: access/transam/xlogrecovery.c:1107 #, c-format msgid "specified neither primary_conninfo nor restore_command" msgstr "ni primary_conninfo ni restore_command n'est spécifié" -#: access/transam/xlogrecovery.c:1082 +#: access/transam/xlogrecovery.c:1108 #, c-format msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there." msgstr "" "Le serveur de la base de données va régulièrement interroger le sous-répertoire\n" "pg_wal pour vérifier les fichiers placés ici." -#: access/transam/xlogrecovery.c:1090 +#: access/transam/xlogrecovery.c:1116 #, c-format msgid "must specify restore_command when standby mode is not enabled" msgstr "doit spécifier une restore_command quand le mode standby n'est pas activé" -#: access/transam/xlogrecovery.c:1128 +#: access/transam/xlogrecovery.c:1154 #, c-format msgid "recovery target timeline %u does not exist" msgstr "le timeline cible, %u, de la restauration n'existe pas" -#: access/transam/xlogrecovery.c:1278 +#: access/transam/xlogrecovery.c:1304 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "L'identifiant de timeline parsé est %u, mais %u était attendu." -#: access/transam/xlogrecovery.c:1660 +#: access/transam/xlogrecovery.c:1686 #, c-format msgid "redo starts at %X/%X" msgstr "la ré-exécution commence à %X/%X" -#: access/transam/xlogrecovery.c:1673 +#: access/transam/xlogrecovery.c:1699 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "redo en cours, temps écoulé : %ld.%02d s, LSN actuel : %X/%X" -#: access/transam/xlogrecovery.c:1765 +#: access/transam/xlogrecovery.c:1791 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "" "le point d'arrêt de la restauration demandée se trouve avant le point\n" "cohérent de restauration" -#: access/transam/xlogrecovery.c:1797 +#: access/transam/xlogrecovery.c:1823 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "rejeu exécuté à %X/%X utilisation système : %s" -#: access/transam/xlogrecovery.c:1803 +#: access/transam/xlogrecovery.c:1829 #, c-format msgid "last completed transaction was at log time %s" msgstr "la dernière transaction a eu lieu à %s (moment de la journalisation)" -#: access/transam/xlogrecovery.c:1812 +#: access/transam/xlogrecovery.c:1838 #, c-format msgid "redo is not required" msgstr "la ré-exécution n'est pas nécessaire" -#: access/transam/xlogrecovery.c:1823 +#: access/transam/xlogrecovery.c:1849 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "la restauration s'est terminée avant d'avoir atteint la cible configurée pour la restauration" -#: access/transam/xlogrecovery.c:1998 +#: access/transam/xlogrecovery.c:2024 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "ignore avec succès le contrecord manquant à %X/%X, surchargé à %s" -#: access/transam/xlogrecovery.c:2065 +#: access/transam/xlogrecovery.c:2091 #, fuzzy, c-format #| msgid "Expected array element or \"]\", but found \"%s\"." msgid "unexpected directory entry \"%s\" found in %s" msgstr "Élément de tableau ou « ] » attendu, mais « %s » trouvé." -#: access/transam/xlogrecovery.c:2067 +#: access/transam/xlogrecovery.c:2093 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "Toutes les entrées de répertoire dans pg_tblspc/ devraient être des liens symboliques." -#: access/transam/xlogrecovery.c:2068 +#: access/transam/xlogrecovery.c:2094 #, c-format msgid "Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete." msgstr "Supprimez ces répertoires, ou configurez allow_in_place_tablespaces à on pour laisser la récupération terminer" -#: access/transam/xlogrecovery.c:2142 +#: access/transam/xlogrecovery.c:2146 +#, c-format +msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" +msgstr "" + +#: access/transam/xlogrecovery.c:2176 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "état de restauration cohérent atteint à %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2180 +#: access/transam/xlogrecovery.c:2214 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "rejeu des WAL à %X/%X pour %s" -#: access/transam/xlogrecovery.c:2276 +#: access/transam/xlogrecovery.c:2310 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "identifiant de timeline précédent %u inattendu (identifiant de la timeline courante %u) dans l'enregistrement du point de vérification" -#: access/transam/xlogrecovery.c:2285 +#: access/transam/xlogrecovery.c:2319 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "" "identifiant timeline %u inattendu (après %u) dans l'enregistrement du point\n" "de vérification" -#: access/transam/xlogrecovery.c:2301 +#: access/transam/xlogrecovery.c:2335 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "identifiant timeline %u inattendu dans l'enregistrement du checkpoint, avant d'atteindre le point de restauration minimum %X/%X sur la timeline %u" -#: access/transam/xlogrecovery.c:2485 access/transam/xlogrecovery.c:2761 +#: access/transam/xlogrecovery.c:2519 access/transam/xlogrecovery.c:2795 #, c-format msgid "recovery stopping after reaching consistency" msgstr "arrêt de la restauration après avoir atteint le point de cohérence" -#: access/transam/xlogrecovery.c:2506 +#: access/transam/xlogrecovery.c:2540 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "arrêt de la restauration avant l'emplacement WAL (LSN) « %X/%X »" -#: access/transam/xlogrecovery.c:2596 +#: access/transam/xlogrecovery.c:2630 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "arrêt de la restauration avant validation de la transaction %u, %s" -#: access/transam/xlogrecovery.c:2603 +#: access/transam/xlogrecovery.c:2637 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "arrêt de la restauration avant annulation de la transaction %u, %s" -#: access/transam/xlogrecovery.c:2656 +#: access/transam/xlogrecovery.c:2690 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "restauration en arrêt au point de restauration « %s », heure %s" -#: access/transam/xlogrecovery.c:2674 +#: access/transam/xlogrecovery.c:2708 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "arrêt de la restauration après l'emplacement WAL (LSN) « %X/%X »" -#: access/transam/xlogrecovery.c:2741 +#: access/transam/xlogrecovery.c:2775 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "arrêt de la restauration après validation de la transaction %u, %s" -#: access/transam/xlogrecovery.c:2749 +#: access/transam/xlogrecovery.c:2783 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "arrêt de la restauration après annulation de la transaction %u, %s" -#: access/transam/xlogrecovery.c:2830 +#: access/transam/xlogrecovery.c:2864 #, c-format msgid "pausing at the end of recovery" msgstr "pause à la fin de la restauration" -#: access/transam/xlogrecovery.c:2831 +#: access/transam/xlogrecovery.c:2865 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Exécuter pg_wal_replay_resume() pour promouvoir." -#: access/transam/xlogrecovery.c:2834 access/transam/xlogrecovery.c:4644 +#: access/transam/xlogrecovery.c:2868 access/transam/xlogrecovery.c:4678 #, c-format msgid "recovery has paused" msgstr "restauration en pause" -#: access/transam/xlogrecovery.c:2835 +#: access/transam/xlogrecovery.c:2869 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Exécuter pg_wal_replay_resume() pour continuer." -#: access/transam/xlogrecovery.c:3101 +#: access/transam/xlogrecovery.c:3135 #, c-format msgid "unexpected timeline ID %u in log segment %s, offset %u" msgstr "identifiant timeline %u inattendu dans le journal de transactions %s, décalage %u" -#: access/transam/xlogrecovery.c:3306 +#: access/transam/xlogrecovery.c:3340 #, c-format msgid "could not read from log segment %s, offset %u: %m" msgstr "n'a pas pu lire le journal de transactions %s, décalage %u : %m" -#: access/transam/xlogrecovery.c:3312 +#: access/transam/xlogrecovery.c:3346 #, c-format msgid "could not read from log segment %s, offset %u: read %d of %zu" msgstr "n'a pas pu lire à partir du segment %s du journal de transactions, décalage %u: lu %d sur %zu" -#: access/transam/xlogrecovery.c:3961 +#: access/transam/xlogrecovery.c:3995 #, c-format msgid "invalid primary checkpoint link in control file" msgstr "lien du point de vérification primaire invalide dans le fichier de contrôle" -#: access/transam/xlogrecovery.c:3965 +#: access/transam/xlogrecovery.c:3999 #, c-format msgid "invalid checkpoint link in backup_label file" msgstr "lien du point de vérification invalide dans le fichier backup_label" -#: access/transam/xlogrecovery.c:3983 +#: access/transam/xlogrecovery.c:4017 #, c-format msgid "invalid primary checkpoint record" msgstr "enregistrement du point de vérification primaire invalide" -#: access/transam/xlogrecovery.c:3987 +#: access/transam/xlogrecovery.c:4021 #, c-format msgid "invalid checkpoint record" msgstr "enregistrement du point de vérification invalide" -#: access/transam/xlogrecovery.c:3998 +#: access/transam/xlogrecovery.c:4032 #, c-format msgid "invalid resource manager ID in primary checkpoint record" msgstr "identifiant du gestionnaire de ressource invalide dans l'enregistrement primaire du point de vérification" -#: access/transam/xlogrecovery.c:4002 +#: access/transam/xlogrecovery.c:4036 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "identifiant du gestionnaire de ressource invalide dans l'enregistrement du point de vérification" -#: access/transam/xlogrecovery.c:4015 +#: access/transam/xlogrecovery.c:4049 #, c-format msgid "invalid xl_info in primary checkpoint record" msgstr "xl_info invalide dans l'enregistrement du point de vérification primaire" -#: access/transam/xlogrecovery.c:4019 +#: access/transam/xlogrecovery.c:4053 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "xl_info invalide dans l'enregistrement du point de vérification" -#: access/transam/xlogrecovery.c:4030 +#: access/transam/xlogrecovery.c:4064 #, c-format msgid "invalid length of primary checkpoint record" msgstr "longueur invalide de l'enregistrement primaire du point de vérification" -#: access/transam/xlogrecovery.c:4034 +#: access/transam/xlogrecovery.c:4068 #, c-format msgid "invalid length of checkpoint record" msgstr "longueur invalide de l'enregistrement du point de vérification" -#: access/transam/xlogrecovery.c:4090 +#: access/transam/xlogrecovery.c:4124 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "la nouvelle timeline %u n'est pas une enfant de la timeline %u du système" -#: access/transam/xlogrecovery.c:4104 +#: access/transam/xlogrecovery.c:4138 #, c-format msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X" msgstr "" "la nouvelle timeline %u a été créée à partir de la timeline de la base de données système %u\n" "avant le point de restauration courant %X/%X" -#: access/transam/xlogrecovery.c:4123 +#: access/transam/xlogrecovery.c:4157 #, c-format msgid "new target timeline is %u" msgstr "la nouvelle timeline cible est %u" -#: access/transam/xlogrecovery.c:4326 +#: access/transam/xlogrecovery.c:4360 #, c-format msgid "WAL receiver process shutdown requested" msgstr "le processus wal receiver a reçu une demande d'arrêt" -#: access/transam/xlogrecovery.c:4389 +#: access/transam/xlogrecovery.c:4423 #, c-format msgid "received promote request" msgstr "a reçu une demande de promotion" -#: access/transam/xlogrecovery.c:4402 +#: access/transam/xlogrecovery.c:4436 #, c-format msgid "promote trigger file found: %s" msgstr "fichier trigger de promotion trouvé : %s" -#: access/transam/xlogrecovery.c:4410 +#: access/transam/xlogrecovery.c:4444 #, c-format msgid "could not stat promote trigger file \"%s\": %m" msgstr "n'a pas pu récupérer les propriétés du fichier trigger pour la promotion « %s » : %m" -#: access/transam/xlogrecovery.c:4635 +#: access/transam/xlogrecovery.c:4669 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "le hot standby n'est pas possible à cause d'un paramétrage insuffisant" -#: access/transam/xlogrecovery.c:4636 access/transam/xlogrecovery.c:4663 -#: access/transam/xlogrecovery.c:4693 +#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697 access/transam/xlogrecovery.c:4727 #, c-format msgid "%s = %d is a lower setting than on the primary server, where its value was %d." msgstr "%s = %d est un paramétrage plus bas que celui du serveur primaire, où sa valeur était %d." -#: access/transam/xlogrecovery.c:4645 +#: access/transam/xlogrecovery.c:4679 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "Si la restauration sort de la pause, le serveur sera arrêté." -#: access/transam/xlogrecovery.c:4646 +#: access/transam/xlogrecovery.c:4680 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "Vous pouvez alors redémarrer le serveur après avoir réaliser les modifications nécessaires sur la configuration." -#: access/transam/xlogrecovery.c:4657 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "la promotion n'est pas possible à cause d'une configuration insuffisante des paramètres" -#: access/transam/xlogrecovery.c:4667 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "Redémarre le serveur après avoir effectuer les changements nécessaires de configuration." -#: access/transam/xlogrecovery.c:4691 +#: access/transam/xlogrecovery.c:4725 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "restauration annulée à cause d'un paramétrage insuffisant" -#: access/transam/xlogrecovery.c:4697 +#: access/transam/xlogrecovery.c:4731 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "Vous pouvez redémarrer le serveur après avoir réalisé les modifications nécessaires sur la configuration." @@ -3572,11 +3355,7 @@ msgstr[1] "%lld erreurs de vérifications des sommes de contrôle au total" msgid "checksum verification failure during base backup" msgstr "échec de la véffication de somme de controle durant la sauvegarde de base" -#: backup/basebackup.c:706 backup/basebackup.c:715 backup/basebackup.c:726 -#: backup/basebackup.c:743 backup/basebackup.c:752 backup/basebackup.c:763 -#: backup/basebackup.c:780 backup/basebackup.c:789 backup/basebackup.c:801 -#: backup/basebackup.c:825 backup/basebackup.c:839 backup/basebackup.c:850 -#: backup/basebackup.c:861 backup/basebackup.c:874 +#: backup/basebackup.c:706 backup/basebackup.c:715 backup/basebackup.c:726 backup/basebackup.c:743 backup/basebackup.c:752 backup/basebackup.c:763 backup/basebackup.c:780 backup/basebackup.c:789 backup/basebackup.c:801 backup/basebackup.c:825 backup/basebackup.c:839 backup/basebackup.c:850 backup/basebackup.c:861 backup/basebackup.c:874 #, c-format msgid "duplicate option \"%s\"" msgstr "option « %s » dupliquée" @@ -3636,44 +3415,44 @@ msgstr "le détail de compression ne peut pas être spécifié sauf si la compre msgid "invalid compression specification: %s" msgstr "spécification de compression invalide : %s" -#: backup/basebackup.c:1431 +#: backup/basebackup.c:1435 #, c-format msgid "skipping special file \"%s\"" msgstr "ignore le fichier spécial « %s »" -#: backup/basebackup.c:1550 +#: backup/basebackup.c:1554 #, c-format msgid "invalid segment number %d in file \"%s\"" msgstr "numéro de segment %d invalide dans le fichier « %s »" -#: backup/basebackup.c:1582 +#: backup/basebackup.c:1586 #, c-format msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" msgstr "n'a pas pu vérifier la somme de contrôle dans le fichier « %s », bloc %u : la taille de tampon de lecture %d et la taille de bloc %d diffèrent" -#: backup/basebackup.c:1656 +#: backup/basebackup.c:1660 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" msgstr "échec de la vérification de la somme de contrôle dans le fichier « %s », bloc %u : calculé %X, mais attendu %X" -#: backup/basebackup.c:1663 +#: backup/basebackup.c:1667 #, c-format msgid "further checksum verification failures in file \"%s\" will not be reported" msgstr "les prochains échec de vérification de somme de contrôle dans le fichier « %s » ne seront pas reportés" -#: backup/basebackup.c:1719 +#: backup/basebackup.c:1723 #, c-format msgid "file \"%s\" has a total of %d checksum verification failure" msgid_plural "file \"%s\" has a total of %d checksum verification failures" msgstr[0] "le fichier « %s » a un total de %d échec de vérification de somme de contrôle" msgstr[1] "le fichier « %s » a un total de %d échecs de vérification de somme de contrôle" -#: backup/basebackup.c:1765 +#: backup/basebackup.c:1769 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "nom du fichier trop long pour le format tar : « %s »" -#: backup/basebackup.c:1770 +#: backup/basebackup.c:1774 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "cible du lien symbolique trop longue pour le format tar : nom de fichier « %s », cible « %s »" @@ -3704,10 +3483,7 @@ msgstr "doit être super-utilisateur ou membre de pg_read_all_settings pour util msgid "relative path not allowed for backup stored on server" msgstr "chemin relatif non autorisé pour une sauvegarde conservée sur le serveur" -#: backup/basebackup_server.c:102 commands/dbcommands.c:500 -#: commands/tablespace.c:163 commands/tablespace.c:179 -#: commands/tablespace.c:614 commands/tablespace.c:659 replication/slot.c:1558 -#: storage/file/copydir.c:47 +#: backup/basebackup_server.c:102 commands/dbcommands.c:477 commands/tablespace.c:163 commands/tablespace.c:179 commands/tablespace.c:614 commands/tablespace.c:659 replication/slot.c:1558 storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "n'a pas pu créer le répertoire « %s » : %m" @@ -3722,9 +3498,7 @@ msgstr "le répertoire « %s » existe mais n'est pas vide" msgid "could not access directory \"%s\": %m" msgstr "n'a pas pu accéder au répertoire « %s » : %m" -#: backup/basebackup_server.c:175 backup/basebackup_server.c:182 -#: backup/basebackup_server.c:268 backup/basebackup_server.c:275 -#: storage/smgr/md.c:490 storage/smgr/md.c:497 storage/smgr/md.c:788 +#: backup/basebackup_server.c:175 backup/basebackup_server.c:182 backup/basebackup_server.c:268 backup/basebackup_server.c:275 storage/smgr/md.c:490 storage/smgr/md.c:497 storage/smgr/md.c:788 #, c-format msgid "Check free disk space." msgstr "Vérifiez l'espace disque disponible." @@ -3769,8 +3543,7 @@ msgstr "--%s requiert une valeur" msgid "-c %s requires a value" msgstr "-c %s requiert une valeur" -#: bootstrap/bootstrap.c:296 postmaster/postmaster.c:863 -#: postmaster/postmaster.c:876 +#: bootstrap/bootstrap.c:296 postmaster/postmaster.c:863 postmaster/postmaster.c:876 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Essayez « %s --help » pour plus d'informations.\n" @@ -3910,9 +3683,7 @@ msgstr "type de droit %s invalide pour le paramètre" msgid "column privileges are only valid for relations" msgstr "les droits sur la colonne sont seulement valides pour les relations" -#: catalog/aclchk.c:712 catalog/aclchk.c:4486 catalog/aclchk.c:5333 -#: catalog/objectaddress.c:1072 catalog/pg_largeobject.c:116 -#: storage/large_object/inv_api.c:287 +#: catalog/aclchk.c:712 catalog/aclchk.c:4486 catalog/aclchk.c:5333 catalog/objectaddress.c:1072 catalog/pg_largeobject.c:116 storage/large_object/inv_api.c:287 #, c-format msgid "large object %u does not exist" msgstr "le « Large Object » %u n'existe pas" @@ -3927,30 +3698,13 @@ msgstr "les droits par défaut ne peuvent pas être configurés pour les colonne msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "ne peut pas utiliser la clause IN SCHEMA lors de l'utilisation de GRANT/REVOKE ON SCHEMAS" -#: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 -#: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:779 -#: commands/sequence.c:1663 commands/tablecmds.c:7271 commands/tablecmds.c:7427 -#: commands/tablecmds.c:7477 commands/tablecmds.c:7551 -#: commands/tablecmds.c:7621 commands/tablecmds.c:7733 -#: commands/tablecmds.c:7827 commands/tablecmds.c:7886 -#: commands/tablecmds.c:7975 commands/tablecmds.c:8005 -#: commands/tablecmds.c:8133 commands/tablecmds.c:8215 -#: commands/tablecmds.c:8371 commands/tablecmds.c:8489 -#: commands/tablecmds.c:12218 commands/tablecmds.c:12399 -#: commands/tablecmds.c:12559 commands/tablecmds.c:13723 -#: commands/tablecmds.c:16292 commands/trigger.c:954 parser/analyze.c:2506 -#: parser/parse_relation.c:725 parser/parse_target.c:1063 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3435 -#: parser/parse_utilcmd.c:3471 parser/parse_utilcmd.c:3513 utils/adt/acl.c:2869 -#: utils/adt/ruleutils.c:2830 +#: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:779 commands/sequence.c:1663 commands/tablecmds.c:7274 commands/tablecmds.c:7430 commands/tablecmds.c:7480 commands/tablecmds.c:7554 commands/tablecmds.c:7624 commands/tablecmds.c:7736 commands/tablecmds.c:7830 commands/tablecmds.c:7889 commands/tablecmds.c:7978 commands/tablecmds.c:8008 commands/tablecmds.c:8136 commands/tablecmds.c:8218 commands/tablecmds.c:8374 commands/tablecmds.c:8496 commands/tablecmds.c:12235 commands/tablecmds.c:12416 commands/tablecmds.c:12576 commands/tablecmds.c:13760 commands/tablecmds.c:16329 +#: commands/trigger.c:954 parser/analyze.c:2517 parser/parse_relation.c:725 parser/parse_target.c:1077 parser/parse_type.c:144 parser/parse_utilcmd.c:3444 parser/parse_utilcmd.c:3480 parser/parse_utilcmd.c:3522 utils/adt/acl.c:2869 utils/adt/ruleutils.c:2828 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "la colonne « %s » de la relation « %s » n'existe pas" -#: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 -#: commands/tablecmds.c:253 commands/tablecmds.c:17164 utils/adt/acl.c:2077 -#: utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 -#: utils/adt/acl.c:2199 utils/adt/acl.c:2229 +#: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 commands/tablecmds.c:253 commands/tablecmds.c:17196 utils/adt/acl.c:2077 utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 utils/adt/acl.c:2199 utils/adt/acl.c:2229 #, c-format msgid "\"%s\" is not a sequence" msgstr "« %s » n'est pas une séquence" @@ -4130,9 +3884,7 @@ msgstr "droit refusé pour la routine %s" msgid "permission denied for schema %s" msgstr "droit refusé pour le schéma %s" -#: catalog/aclchk.c:3602 commands/sequence.c:660 commands/sequence.c:886 -#: commands/sequence.c:928 commands/sequence.c:969 commands/sequence.c:1761 -#: commands/sequence.c:1825 +#: catalog/aclchk.c:3602 commands/sequence.c:660 commands/sequence.c:886 commands/sequence.c:928 commands/sequence.c:969 commands/sequence.c:1761 commands/sequence.c:1825 #, c-format msgid "permission denied for sequence %s" msgstr "droit refusé pour la séquence %s" @@ -4362,8 +4114,7 @@ msgstr "la base de données d'OID %u n'existe pas" msgid "parameter ACL with OID %u does not exist" msgstr "les droits du paramètre d'OID %u n'existe pas" -#: catalog/aclchk.c:4353 catalog/aclchk.c:5262 tcop/fastpath.c:141 -#: utils/fmgr/fmgr.c:2037 +#: catalog/aclchk.c:4353 catalog/aclchk.c:5262 tcop/fastpath.c:141 utils/fmgr/fmgr.c:2037 #, c-format msgid "function with OID %u does not exist" msgstr "la fonction d'OID %u n'existe pas" @@ -4373,8 +4124,7 @@ msgstr "la fonction d'OID %u n'existe pas" msgid "language with OID %u does not exist" msgstr "le langage d'OID %u n'existe pas" -#: catalog/aclchk.c:4571 catalog/aclchk.c:5360 commands/collationcmds.c:595 -#: commands/publicationcmds.c:1745 +#: catalog/aclchk.c:4571 catalog/aclchk.c:5360 commands/collationcmds.c:595 commands/publicationcmds.c:1745 #, c-format msgid "schema with OID %u does not exist" msgstr "le schéma d'OID %u n'existe pas" @@ -4394,8 +4144,7 @@ msgstr "le wrapper de données distantes d'OID %u n'existe pas" msgid "foreign server with OID %u does not exist" msgstr "le serveur distant d'OID %u n'existe pas" -#: catalog/aclchk.c:4816 catalog/aclchk.c:5210 utils/cache/typcache.c:390 -#: utils/cache/typcache.c:445 +#: catalog/aclchk.c:4816 catalog/aclchk.c:5210 utils/cache/typcache.c:390 utils/cache/typcache.c:445 #, c-format msgid "type with OID %u does not exist" msgstr "le type d'OID %u n'existe pas" @@ -4489,7 +4238,7 @@ msgstr "doit être super-utilisateur pour appeler %s()" msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() ne peut être utilisé que pour les catalogues système" -#: catalog/catalog.c:619 parser/parse_utilcmd.c:2280 +#: catalog/catalog.c:619 parser/parse_utilcmd.c:2289 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "l'index « %s » n'appartient pas à la table « %s »" @@ -4504,32 +4253,32 @@ msgstr "la colonne « %s » n'est pas de type oid" msgid "index \"%s\" is not the index for column \"%s\"" msgstr "l'index « %s » n'est pas un index de la colonne « %s »" -#: catalog/dependency.c:538 catalog/pg_shdepend.c:657 +#: catalog/dependency.c:545 catalog/pg_shdepend.c:657 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "n'a pas pu supprimer %s car il est requis par le système de bases de données" -#: catalog/dependency.c:830 catalog/dependency.c:1057 +#: catalog/dependency.c:837 catalog/dependency.c:1064 #, c-format msgid "cannot drop %s because %s requires it" msgstr "n'a pas pu supprimer %s car il est requis par %s" -#: catalog/dependency.c:832 catalog/dependency.c:1059 +#: catalog/dependency.c:839 catalog/dependency.c:1066 #, c-format msgid "You can drop %s instead." msgstr "Vous pouvez supprimer %s à la place." -#: catalog/dependency.c:1138 catalog/dependency.c:1147 +#: catalog/dependency.c:1145 catalog/dependency.c:1154 #, c-format msgid "%s depends on %s" msgstr "%s dépend de %s" -#: catalog/dependency.c:1162 catalog/dependency.c:1171 +#: catalog/dependency.c:1169 catalog/dependency.c:1178 #, c-format msgid "drop cascades to %s" msgstr "DROP cascade sur %s" -#: catalog/dependency.c:1179 catalog/pg_shdepend.c:822 +#: catalog/dependency.c:1186 catalog/pg_shdepend.c:822 #, c-format msgid "" "\n" @@ -4544,47 +4293,39 @@ msgstr[1] "" "\n" "et %d autres objets (voir le journal applicatif du serveur pour une liste)" -#: catalog/dependency.c:1191 +#: catalog/dependency.c:1198 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "n'a pas pu supprimer %s car d'autres objets en dépendent" -#: catalog/dependency.c:1194 catalog/dependency.c:1201 -#: catalog/dependency.c:1212 commands/tablecmds.c:1328 -#: commands/tablecmds.c:14365 commands/tablespace.c:476 commands/user.c:1008 -#: commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 -#: storage/lmgr/deadlock.c:1151 storage/lmgr/proc.c:1421 utils/misc/guc.c:7402 -#: utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11865 -#: utils/misc/guc.c:11899 utils/misc/guc.c:11933 utils/misc/guc.c:11976 -#: utils/misc/guc.c:12018 +#: catalog/dependency.c:1201 catalog/dependency.c:1208 catalog/dependency.c:1219 commands/tablecmds.c:1324 commands/tablecmds.c:14402 commands/tablespace.c:476 commands/user.c:1008 commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 storage/lmgr/deadlock.c:1151 storage/lmgr/proc.c:1421 utils/misc/guc.c:7402 utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11880 utils/misc/guc.c:11914 utils/misc/guc.c:11948 utils/misc/guc.c:11991 utils/misc/guc.c:12033 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1195 catalog/dependency.c:1202 +#: catalog/dependency.c:1202 catalog/dependency.c:1209 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Utilisez DROP ... CASCADE pour supprimer aussi les objets dépendants." -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1206 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "ne peut pas supprimer les objets désirés car d'autres objets en dépendent" -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1214 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "DROP cascade sur %d autre objet" msgstr[1] "DROP cascade sur %d autres objets" -#: catalog/dependency.c:1889 +#: catalog/dependency.c:1896 #, c-format msgid "constant of the type %s cannot be used here" msgstr "la constante de type %s ne peut pas être utilisée ici" -#: catalog/dependency.c:2410 parser/parse_relation.c:3374 -#: parser/parse_relation.c:3384 +#: catalog/dependency.c:2421 parser/parse_relation.c:3383 parser/parse_relation.c:3393 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "la colonne %d de la relation « %s » n'existe pas" @@ -4599,13 +4340,12 @@ msgstr "droit refusé pour créer « %s.%s »" msgid "System catalog modifications are currently disallowed." msgstr "Les modifications du catalogue système sont actuellement interdites." -#: catalog/heap.c:466 commands/tablecmds.c:2348 commands/tablecmds.c:2985 -#: commands/tablecmds.c:6861 +#: catalog/heap.c:466 commands/tablecmds.c:2344 commands/tablecmds.c:2981 commands/tablecmds.c:6864 #, c-format msgid "tables can have at most %d columns" msgstr "les tables peuvent avoir au plus %d colonnes" -#: catalog/heap.c:484 commands/tablecmds.c:7161 +#: catalog/heap.c:484 commands/tablecmds.c:7164 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "le nom de la colonne « %s » entre en conflit avec le nom d'une colonne système" @@ -4616,172 +4356,165 @@ msgid "column name \"%s\" specified more than once" msgstr "colonne « %s » spécifiée plus d'une fois" #. translator: first %s is an integer not a name -#: catalog/heap.c:575 +#: catalog/heap.c:578 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "la colonne de clé de partitionnement %s a le pseudo type %s" -#: catalog/heap.c:580 +#: catalog/heap.c:583 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "la colonne « %s » a le pseudo type %s" -#: catalog/heap.c:611 +#: catalog/heap.c:614 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "le type composite %s ne peut pas être membre de lui-même" #. translator: first %s is an integer not a name -#: catalog/heap.c:666 +#: catalog/heap.c:669 #, c-format msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "aucun collationnement n'a été dérivé pour la colonne « %s » sur la clé de partitionnement et de type collationnable %s" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:675 commands/createas.c:203 commands/createas.c:512 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "aucun collationnement n'a été dérivé pour la colonne « %s » de type collationnable %s" -#: catalog/heap.c:1148 catalog/index.c:875 commands/createas.c:408 -#: commands/tablecmds.c:3890 +#: catalog/heap.c:1151 catalog/index.c:875 commands/createas.c:408 commands/tablecmds.c:3886 #, c-format msgid "relation \"%s\" already exists" msgstr "la relation « %s » existe déjà " -#: catalog/heap.c:1164 catalog/pg_type.c:436 catalog/pg_type.c:784 -#: catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 -#: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 -#: commands/typecmds.c:1575 commands/typecmds.c:2547 +#: catalog/heap.c:1167 catalog/pg_type.c:436 catalog/pg_type.c:784 catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 commands/typecmds.c:1575 commands/typecmds.c:2547 #, c-format msgid "type \"%s\" already exists" msgstr "le type « %s » existe déjà " -#: catalog/heap.c:1165 +#: catalog/heap.c:1168 #, c-format msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type." msgstr "Une relation a un type associé du même nom, donc vous devez utiliser un nom qui n'entre pas en conflit avec un type existant." -#: catalog/heap.c:1205 +#: catalog/heap.c:1208 #, c-format msgid "toast relfilenode value not set when in binary upgrade mode" msgstr "valeur relfilenode du TOAST non configurée en mode de mise à jour binaire" -#: catalog/heap.c:1216 +#: catalog/heap.c:1219 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "OID du heap de pg_class non configuré en mode de mise à jour binaire" -#: catalog/heap.c:1226 +#: catalog/heap.c:1229 #, c-format msgid "relfilenode value not set when in binary upgrade mode" msgstr "valeur relfilenode non configurée en mode de mise à jour binaire" -#: catalog/heap.c:2127 +#: catalog/heap.c:2130 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "ne peut pas ajouter une contrainte NO INHERIT pour la table partitionnée « %s »" -#: catalog/heap.c:2401 +#: catalog/heap.c:2405 #, c-format msgid "check constraint \"%s\" already exists" msgstr "la contrainte de vérification « %s » existe déjà " -#: catalog/heap.c:2571 catalog/index.c:889 catalog/pg_constraint.c:689 -#: commands/tablecmds.c:8863 +#: catalog/heap.c:2575 catalog/index.c:889 catalog/pg_constraint.c:689 commands/tablecmds.c:8870 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "la contrainte « %s » de la relation « %s » existe déjà " -#: catalog/heap.c:2578 +#: catalog/heap.c:2582 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "la contrainte « %s » entre en conflit avec la constrainte non héritée sur la relation « %s »" -#: catalog/heap.c:2589 +#: catalog/heap.c:2593 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "la contrainte « %s » entre en conflit avec une contrainte héritée sur la relation « %s »" -#: catalog/heap.c:2599 +#: catalog/heap.c:2603 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "la contrainte « %s » entre en conflit avec une contrainte NOT VALID sur la relation « %s »" -#: catalog/heap.c:2604 +#: catalog/heap.c:2608 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "assemblage de la contrainte « %s » avec une définition héritée" -#: catalog/heap.c:2709 +#: catalog/heap.c:2713 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "ne peut pas utiliser la colonne générée « %s » dans une expression de génération de colonne" -#: catalog/heap.c:2711 +#: catalog/heap.c:2715 #, c-format msgid "A generated column cannot reference another generated column." msgstr "Une colonne générée ne peut référencer une autre colonne générée." -#: catalog/heap.c:2717 +#: catalog/heap.c:2721 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "ne peut pas utiliser une variable de ligne dans l'expression de génération d'une colonne" -#: catalog/heap.c:2718 +#: catalog/heap.c:2722 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "Ceci ferait que la colonne générée dépendrait de sa propre valeur." -#: catalog/heap.c:2771 +#: catalog/heap.c:2777 #, c-format msgid "generation expression is not immutable" msgstr "l'expression de génération n'est pas immuable" -#: catalog/heap.c:2799 rewrite/rewriteHandler.c:1290 +#: catalog/heap.c:2805 rewrite/rewriteHandler.c:1290 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "la colonne « %s » est de type %s alors que l'expression par défaut est de type %s" -#: catalog/heap.c:2804 commands/prepare.c:334 parser/analyze.c:2730 -#: parser/parse_target.c:594 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1295 +#: catalog/heap.c:2810 commands/prepare.c:334 parser/analyze.c:2741 parser/parse_target.c:594 parser/parse_target.c:891 parser/parse_target.c:901 rewrite/rewriteHandler.c:1295 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Vous devez réécrire l'expression ou lui appliquer une transformation de type." -#: catalog/heap.c:2851 +#: catalog/heap.c:2857 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "seule la table « %s » peut être référencée dans la contrainte de vérification" -#: catalog/heap.c:3149 +#: catalog/heap.c:3155 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "combinaison ON COMMIT et clé étrangère non supportée" -#: catalog/heap.c:3150 +#: catalog/heap.c:3156 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "" "La table « %s » référence « %s » mais elles n'ont pas la même valeur pour le\n" "paramètre ON COMMIT." -#: catalog/heap.c:3155 +#: catalog/heap.c:3161 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "ne peut pas tronquer une table référencée dans une contrainte de clé étrangère" -#: catalog/heap.c:3156 +#: catalog/heap.c:3162 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "La table « %s » référence « %s »." -#: catalog/heap.c:3158 +#: catalog/heap.c:3164 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Tronquez la table « %s » en même temps, ou utilisez TRUNCATE ... CASCADE." -#: catalog/index.c:224 parser/parse_utilcmd.c:2185 +#: catalog/index.c:224 parser/parse_utilcmd.c:2194 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "les clés primaires multiples ne sont pas autorisées pour la table « %s »" @@ -4823,8 +4556,7 @@ msgstr "la création de manière concurrente d'un index pour les contraintes d'e msgid "shared indexes cannot be created after initdb" msgstr "les index partagés ne peuvent pas être créés après initdb" -#: catalog/index.c:867 commands/createas.c:423 commands/sequence.c:158 -#: parser/parse_utilcmd.c:209 +#: catalog/index.c:867 commands/createas.c:423 commands/sequence.c:158 parser/parse_utilcmd.c:209 #, c-format msgid "relation \"%s\" already exists, skipping" msgstr "la relation « %s » existe déjà , poursuite du traitement" @@ -4844,34 +4576,32 @@ msgstr "valeur relfilenode de l'index non configurée en mode de mise à jour bi msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY doit être la première action dans une transaction" -#: catalog/index.c:3646 +#: catalog/index.c:3663 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "ne peut pas ré-indexer les tables temporaires des autres sessions" -#: catalog/index.c:3657 commands/indexcmds.c:3560 +#: catalog/index.c:3674 commands/indexcmds.c:3536 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "ne peut pas réindexer un index invalide sur une table TOAST" -#: catalog/index.c:3673 commands/indexcmds.c:3440 commands/indexcmds.c:3584 -#: commands/tablecmds.c:3305 +#: catalog/index.c:3690 commands/indexcmds.c:3416 commands/indexcmds.c:3560 commands/tablecmds.c:3301 #, c-format msgid "cannot move system relation \"%s\"" msgstr "ne peut pas déplacer la colonne système « %s »" -#: catalog/index.c:3817 +#: catalog/index.c:3834 #, c-format msgid "index \"%s\" was reindexed" msgstr "l'index « %s » a été réindexée" -#: catalog/index.c:3954 +#: catalog/index.c:3971 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "ne peut pas réindexer l'index invalide « %s.%s » sur une table TOAST, ignoré" -#: catalog/namespace.c:259 catalog/namespace.c:463 catalog/namespace.c:555 -#: commands/trigger.c:5812 +#: catalog/namespace.c:259 catalog/namespace.c:463 catalog/namespace.c:555 commands/trigger.c:5830 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "les références entre bases de données ne sont pas implémentées : « %s.%s.%s »" @@ -4896,14 +4626,12 @@ msgstr "n'a pas pu obtenir un verrou sur la relation « %s »" msgid "relation \"%s.%s\" does not exist" msgstr "la relation « %s.%s » n'existe pas" -#: catalog/namespace.c:435 parser/parse_relation.c:1386 -#: parser/parse_relation.c:1394 +#: catalog/namespace.c:435 parser/parse_relation.c:1386 parser/parse_relation.c:1394 #, c-format msgid "relation \"%s\" does not exist" msgstr "la relation « %s » n'existe pas" -#: catalog/namespace.c:501 catalog/namespace.c:3076 commands/extension.c:1556 -#: commands/extension.c:1562 +#: catalog/namespace.c:501 catalog/namespace.c:3076 commands/extension.c:1556 commands/extension.c:1562 #, c-format msgid "no schema has been selected to create in" msgstr "aucun schéma n'a été sélectionné pour cette création" @@ -4943,19 +4671,17 @@ msgstr "le dictionnaire de recherche plein texte « %s » n'existe pas" msgid "text search template \"%s\" does not exist" msgstr "le modèle de recherche plein texte « %s » n'existe pas" -#: catalog/namespace.c:2770 commands/tsearchcmds.c:1121 -#: utils/cache/ts_cache.c:613 +#: catalog/namespace.c:2770 commands/tsearchcmds.c:1127 utils/cache/ts_cache.c:613 #, c-format msgid "text search configuration \"%s\" does not exist" msgstr "la configuration de recherche plein texte « %s » n'existe pas" -#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1255 +#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1269 #, c-format msgid "cross-database references are not implemented: %s" msgstr "les références entre bases de données ne sont pas implémentées : %s" -#: catalog/namespace.c:2889 gram.y:18258 gram.y:18298 parser/parse_expr.c:813 -#: parser/parse_target.c:1262 +#: catalog/namespace.c:2889 gram.y:18258 gram.y:18298 parser/parse_expr.c:813 parser/parse_target.c:1276 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "mauvaise qualification du nom (trop de points entre les noms) : %s" @@ -4970,8 +4696,7 @@ msgstr "ne peut pas déplacer les objets dans ou à partir des schémas temporai msgid "cannot move objects into or out of TOAST schema" msgstr "ne peut pas déplacer les objets dans ou à partir des schémas TOAST" -#: catalog/namespace.c:3098 commands/schemacmds.c:263 commands/schemacmds.c:343 -#: commands/tablecmds.c:1273 +#: catalog/namespace.c:3098 commands/schemacmds.c:263 commands/schemacmds.c:343 commands/tablecmds.c:1269 #, c-format msgid "schema \"%s\" does not exist" msgstr "le schéma « %s » n'existe pas" @@ -5006,33 +4731,27 @@ msgstr "ne peut pas créer des tables temporaires lors de la restauration" msgid "cannot create temporary tables during a parallel operation" msgstr "ne peut pas créer de tables temporaires pendant une opération parallèle" -#: catalog/namespace.c:4338 commands/tablespace.c:1236 commands/variable.c:64 -#: utils/misc/guc.c:12050 utils/misc/guc.c:12152 +#: catalog/namespace.c:4338 commands/tablespace.c:1236 commands/variable.c:64 utils/misc/guc.c:12065 utils/misc/guc.c:12167 #, c-format msgid "List syntax is invalid." msgstr "La syntaxe de la liste est invalide." -#: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2184 -#: commands/tablecmds.c:12335 +#: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2180 commands/tablecmds.c:12352 #, c-format msgid "\"%s\" is not a table" msgstr "« %s » n'est pas une table" -#: catalog/objectaddress.c:1398 commands/tablecmds.c:259 -#: commands/tablecmds.c:17169 commands/view.c:119 +#: catalog/objectaddress.c:1398 commands/tablecmds.c:259 commands/tablecmds.c:17201 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "« %s » n'est pas une vue" -#: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 -#: commands/tablecmds.c:17174 +#: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 commands/tablecmds.c:17206 #, c-format msgid "\"%s\" is not a materialized view" msgstr "« %s » n'est pas une vue matérialisée" -#: catalog/objectaddress.c:1412 commands/tablecmds.c:283 -#: commands/tablecmds.c:17179 +#: catalog/objectaddress.c:1412 commands/tablecmds.c:283 commands/tablecmds.c:17211 #, c-format msgid "\"%s\" is not a foreign table" msgstr "« %s » n'est pas une table distante" @@ -5052,10 +4771,7 @@ msgstr "le nom de la colonne doit être qualifié" msgid "default value for column \"%s\" of relation \"%s\" does not exist" msgstr "la valeur par défaut de la colonne « %s » de la relation « %s » n'existe pas" -#: catalog/objectaddress.c:1638 commands/functioncmds.c:138 -#: commands/tablecmds.c:275 commands/typecmds.c:274 commands/typecmds.c:3700 -#: parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:795 -#: utils/adt/acl.c:4434 +#: catalog/objectaddress.c:1638 commands/functioncmds.c:138 commands/tablecmds.c:275 commands/typecmds.c:274 commands/typecmds.c:3700 parser/parse_type.c:243 parser/parse_type.c:272 parser/parse_type.c:795 utils/adt/acl.c:4434 #, c-format msgid "type \"%s\" does not exist" msgstr "le type « %s » n'existe pas" @@ -5075,8 +4791,7 @@ msgstr "la fonction %d (%s, %s) de %s n'existe pas" msgid "user mapping for user \"%s\" on server \"%s\" does not exist" msgstr "la correspondance pour l'utilisateur « %s » sur le serveur « %s » n'existe pas" -#: catalog/objectaddress.c:1854 commands/foreigncmds.c:430 -#: commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:691 +#: catalog/objectaddress.c:1854 commands/foreigncmds.c:430 commands/foreigncmds.c:993 commands/foreigncmds.c:1356 foreign/foreign.c:691 #, c-format msgid "server \"%s\" does not exist" msgstr "le serveur « %s » n'existe pas" @@ -5111,8 +4826,7 @@ msgstr "le droit par défaut pour l'utilisateur « %s » dans le schéma « %s  msgid "default ACL for user \"%s\" on %s does not exist" msgstr "le droit par défaut pour l'utilisateur « %s » sur %s n'existe pas" -#: catalog/objectaddress.c:2110 catalog/objectaddress.c:2168 -#: catalog/objectaddress.c:2225 +#: catalog/objectaddress.c:2110 catalog/objectaddress.c:2168 catalog/objectaddress.c:2225 #, c-format msgid "name or argument lists may not contain nulls" msgstr "le nom ou les listes d'arguments ne peuvent pas contenir de valeurs NULL" @@ -5122,8 +4836,7 @@ msgstr "le nom ou les listes d'arguments ne peuvent pas contenir de valeurs NULL msgid "unsupported object type \"%s\"" msgstr "type d'objet « %s » non supporté" -#: catalog/objectaddress.c:2164 catalog/objectaddress.c:2182 -#: catalog/objectaddress.c:2247 catalog/objectaddress.c:2331 +#: catalog/objectaddress.c:2164 catalog/objectaddress.c:2182 catalog/objectaddress.c:2247 catalog/objectaddress.c:2331 #, c-format msgid "name list length must be exactly %d" msgstr "la liste de nom doit être exactement de longueur %d" @@ -5133,8 +4846,7 @@ msgstr "la liste de nom doit être exactement de longueur %d" msgid "large object OID may not be null" msgstr "l'OID du Large Object peut ne pas être NULL" -#: catalog/objectaddress.c:2195 catalog/objectaddress.c:2265 -#: catalog/objectaddress.c:2272 +#: catalog/objectaddress.c:2195 catalog/objectaddress.c:2265 catalog/objectaddress.c:2272 #, c-format msgid "name list length must be at least %d" msgstr "la longueur de la liste de nom doit au moins être %d" @@ -5599,13 +5311,7 @@ msgstr "« %s » est un agrégat d'ensemble hypothétique." msgid "cannot change number of direct arguments of an aggregate function" msgstr "ne peut pas changer le nombre d'arguments directs d'une fonction d'agrégation" -#: catalog/pg_aggregate.c:858 commands/functioncmds.c:695 -#: commands/typecmds.c:1976 commands/typecmds.c:2022 commands/typecmds.c:2074 -#: commands/typecmds.c:2111 commands/typecmds.c:2145 commands/typecmds.c:2179 -#: commands/typecmds.c:2213 commands/typecmds.c:2242 commands/typecmds.c:2329 -#: commands/typecmds.c:2371 parser/parse_func.c:417 parser/parse_func.c:448 -#: parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611 -#: parser/parse_func.c:631 parser/parse_func.c:2173 parser/parse_func.c:2446 +#: catalog/pg_aggregate.c:858 commands/functioncmds.c:695 commands/typecmds.c:1976 commands/typecmds.c:2022 commands/typecmds.c:2074 commands/typecmds.c:2111 commands/typecmds.c:2145 commands/typecmds.c:2179 commands/typecmds.c:2213 commands/typecmds.c:2242 commands/typecmds.c:2329 commands/typecmds.c:2371 parser/parse_func.c:417 parser/parse_func.c:448 parser/parse_func.c:475 parser/parse_func.c:489 parser/parse_func.c:611 parser/parse_func.c:631 parser/parse_func.c:2173 parser/parse_func.c:2446 #, c-format msgid "function %s does not exist" msgstr "la fonction %s n'existe pas" @@ -5795,8 +5501,7 @@ msgstr "ne peut pas détacher la partition « %s »" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "La partition est en cours de détachement ou à un détachement non terminé." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4488 -#: commands/tablecmds.c:15481 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4484 commands/tablecmds.c:15518 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "Utiliser ALTER TABLE ... DETACH PARTITION ... FINALIZE pour terminer l'opération de détachement en attente." @@ -5932,8 +5637,7 @@ msgstr "ne peut pas modifier le type de retour d'une fonction existante" #. AGGREGATE #. #. translator: first %s is DROP FUNCTION or DROP PROCEDURE -#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 -#: catalog/pg_proc.c:519 catalog/pg_proc.c:545 +#: catalog/pg_proc.c:421 catalog/pg_proc.c:448 catalog/pg_proc.c:493 catalog/pg_proc.c:519 catalog/pg_proc.c:545 #, c-format msgid "Use %s %s first." msgstr "Utilisez tout d'abord %s %s." @@ -5977,13 +5681,12 @@ msgstr "les fonctions SQL ne peuvent pas renvoyer un type %s" msgid "SQL functions cannot have arguments of type %s" msgstr "les fonctions SQL ne peuvent avoir d'arguments du type %s" -#: catalog/pg_proc.c:1000 executor/functions.c:1473 +#: catalog/pg_proc.c:1001 executor/functions.c:1474 #, c-format msgid "SQL function \"%s\"" msgstr "Fonction SQL « %s »" -#: catalog/pg_publication.c:63 catalog/pg_publication.c:71 -#: catalog/pg_publication.c:79 catalog/pg_publication.c:85 +#: catalog/pg_publication.c:63 catalog/pg_publication.c:71 catalog/pg_publication.c:79 catalog/pg_publication.c:85 #, c-format msgid "cannot add relation \"%s\" to publication" msgstr "ne peut pas ajouter la relation « %s » à la publication" @@ -6043,8 +5746,7 @@ msgstr "colonne « %s » dans la liste de colonnes de la publication" msgid "schema \"%s\" is already member of publication \"%s\"" msgstr "le schéma « %s » est déjà un membre de la publication « %s »" -#: catalog/pg_publication.c:1045 commands/publicationcmds.c:1391 -#: commands/publicationcmds.c:1430 commands/publicationcmds.c:1967 +#: catalog/pg_publication.c:1045 commands/publicationcmds.c:1391 commands/publicationcmds.c:1430 commands/publicationcmds.c:1967 #, c-format msgid "publication \"%s\" does not exist" msgstr "la publication « %s » n'existe pas" @@ -6119,8 +5821,7 @@ msgstr "" "ne peut pas réaffecter les objets appartenant à %s car ils sont nécessaires au\n" "système de bases de données" -#: catalog/pg_subscription.c:216 commands/subscriptioncmds.c:989 -#: commands/subscriptioncmds.c:1359 commands/subscriptioncmds.c:1710 +#: catalog/pg_subscription.c:216 commands/subscriptioncmds.c:989 commands/subscriptioncmds.c:1359 commands/subscriptioncmds.c:1710 #, c-format msgid "subscription \"%s\" does not exist" msgstr "la souscription « %s » n'existe pas" @@ -6153,8 +5854,7 @@ msgstr "OID de pg_type non configuré en mode de mise à jour binaire" msgid "invalid type internal size %d" msgstr "taille interne de type invalide %d" -#: catalog/pg_type.c:272 catalog/pg_type.c:280 catalog/pg_type.c:288 -#: catalog/pg_type.c:297 +#: catalog/pg_type.c:272 catalog/pg_type.c:280 catalog/pg_type.c:288 catalog/pg_type.c:297 #, c-format msgid "alignment \"%c\" is invalid for passed-by-value type of size %d" msgstr "l'alignement « %c » est invalide pour le type passé par valeur de taille %d" @@ -6369,8 +6069,7 @@ msgstr "Doit être super-utilisateur pour créer une méthode d'accès." msgid "access method \"%s\" already exists" msgstr "la méthode d'accès « %s » existe déjà " -#: commands/amcmds.c:154 commands/indexcmds.c:213 commands/indexcmds.c:833 -#: commands/opclasscmds.c:375 commands/opclasscmds.c:833 +#: commands/amcmds.c:154 commands/indexcmds.c:213 commands/indexcmds.c:833 commands/opclasscmds.c:375 commands/opclasscmds.c:833 #, c-format msgid "access method \"%s\" does not exist" msgstr "la méthode d'accès « %s » n'existe pas" @@ -6380,9 +6079,7 @@ msgstr "la méthode d'accès « %s » n'existe pas" msgid "handler function is not specified" msgstr "la fonction handler n'est pas spécifiée" -#: commands/amcmds.c:264 commands/event_trigger.c:183 -#: commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:714 -#: parser/parse_clause.c:942 +#: commands/amcmds.c:264 commands/event_trigger.c:183 commands/foreigncmds.c:489 commands/proclang.c:80 commands/trigger.c:714 parser/parse_clause.c:942 #, c-format msgid "function %s must return type %s" msgstr "la fonction %s doit renvoyer le type %s" @@ -6495,7 +6192,7 @@ msgstr "ne peut pas exécuter CLUSTER sur les tables temporaires des autres sess msgid "there is no previously clustered index for table \"%s\"" msgstr "il n'y a pas d'index CLUSTER précédent pour la table « %s »" -#: commands/cluster.c:190 commands/tablecmds.c:14179 commands/tablecmds.c:16060 +#: commands/cluster.c:190 commands/tablecmds.c:14216 commands/tablecmds.c:16097 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "l'index « %s » pour la table « %s » n'existe pas" @@ -6510,7 +6207,7 @@ msgstr "ne peut pas exécuter CLUSTER sur un catalogue partagé" msgid "cannot vacuum temporary tables of other sessions" msgstr "ne peut pas exécuter VACUUM sur les tables temporaires des autres sessions" -#: commands/cluster.c:511 commands/tablecmds.c:16070 +#: commands/cluster.c:511 commands/tablecmds.c:16107 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "« %s » n'est pas un index de la table « %s »" @@ -6571,13 +6268,7 @@ msgstr "" msgid "collation attribute \"%s\" not recognized" msgstr "attribut de collationnement « %s » non reconnu" -#: commands/collationcmds.c:119 commands/collationcmds.c:125 -#: commands/define.c:389 commands/tablecmds.c:7808 -#: replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 -#: replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 -#: replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 -#: replication/walsender.c:1001 replication/walsender.c:1023 -#: replication/walsender.c:1033 +#: commands/collationcmds.c:119 commands/collationcmds.c:125 commands/define.c:389 commands/tablecmds.c:7811 replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 replication/walsender.c:1001 replication/walsender.c:1023 replication/walsender.c:1033 #, c-format msgid "conflicting or redundant options" msgstr "options en conflit ou redondantes" @@ -6657,8 +6348,7 @@ msgstr "n'a pas pu convertir le nom de locale « %s » en balise de langage : %s msgid "must be superuser to import system collations" msgstr "doit être super-utilisateur pour importer les collationnements systèmes" -#: commands/collationcmds.c:618 commands/copyfrom.c:1505 commands/copyto.c:679 -#: libpq/be-secure-common.c:81 +#: commands/collationcmds.c:618 commands/copyfrom.c:1509 commands/copyto.c:679 libpq/be-secure-common.c:81 #, c-format msgid "could not execute command \"%s\": %m" msgstr "n'a pas pu exécuter la commande « %s » : %m" @@ -6668,12 +6358,7 @@ msgstr "n'a pas pu exécuter la commande « %s » : %m" msgid "no usable system locales were found" msgstr "aucune locale système utilisable n'a été trouvée" -#: commands/comment.c:61 commands/dbcommands.c:1549 commands/dbcommands.c:1761 -#: commands/dbcommands.c:1874 commands/dbcommands.c:2068 -#: commands/dbcommands.c:2310 commands/dbcommands.c:2405 -#: commands/dbcommands.c:2515 commands/dbcommands.c:3014 -#: utils/init/postinit.c:947 utils/init/postinit.c:1011 -#: utils/init/postinit.c:1083 +#: commands/comment.c:61 commands/dbcommands.c:1549 commands/dbcommands.c:1761 commands/dbcommands.c:1874 commands/dbcommands.c:2068 commands/dbcommands.c:2310 commands/dbcommands.c:2405 commands/dbcommands.c:2515 commands/dbcommands.c:3014 utils/init/postinit.c:947 utils/init/postinit.c:1011 utils/init/postinit.c:1083 #, c-format msgid "database \"%s\" does not exist" msgstr "la base de données « %s » n'existe pas" @@ -6773,8 +6458,7 @@ msgstr "%s requiert une valeur booléenne ou « match »" msgid "COPY format \"%s\" not recognized" msgstr "format COPY « %s » non reconnu" -#: commands/copy.c:496 commands/copy.c:509 commands/copy.c:522 -#: commands/copy.c:541 +#: commands/copy.c:496 commands/copy.c:509 commands/copy.c:522 commands/copy.c:541 #, c-format msgid "argument to option \"%s\" must be a list of column names" msgstr "l'argument de l'option « %s » doit être une liste de noms de colonnes" @@ -6899,16 +6583,12 @@ msgstr "la colonne « %s » est une colonne générée" msgid "Generated columns cannot be used in COPY." msgstr "Les colonnes générées ne peuvent pas être utilisées dans COPY." -#: commands/copy.c:784 commands/indexcmds.c:1850 commands/statscmds.c:243 -#: commands/tablecmds.c:2379 commands/tablecmds.c:3035 -#: commands/tablecmds.c:3529 parser/parse_relation.c:3660 -#: parser/parse_relation.c:3680 utils/adt/tsvector_op.c:2688 +#: commands/copy.c:784 commands/indexcmds.c:1826 commands/statscmds.c:243 commands/tablecmds.c:2375 commands/tablecmds.c:3031 commands/tablecmds.c:3525 parser/parse_relation.c:3669 parser/parse_relation.c:3689 utils/adt/tsvector_op.c:2688 #, c-format msgid "column \"%s\" does not exist" msgstr "la colonne « %s » n'existe pas" -#: commands/copy.c:791 commands/tablecmds.c:2405 commands/trigger.c:963 -#: parser/parse_target.c:1079 parser/parse_target.c:1090 +#: commands/copy.c:791 commands/tablecmds.c:2401 commands/trigger.c:963 parser/parse_target.c:1093 parser/parse_target.c:1104 #, c-format msgid "column \"%s\" specified more than once" msgstr "la colonne « %s » est spécifiée plus d'une fois" @@ -6978,39 +6658,39 @@ msgstr "n'a pas pu exécuter un COPY FREEZE à cause d'une activité transaction msgid "cannot perform COPY FREEZE because the table was not created or truncated in the current subtransaction" msgstr "n'a pas pu exécuter un COPY FREEZE parce que la table n'a pas été créée ou tronquée dans la transaction en cours" -#: commands/copyfrom.c:1267 commands/copyto.c:611 +#: commands/copyfrom.c:1270 commands/copyto.c:611 #, c-format msgid "FORCE_NOT_NULL column \"%s\" not referenced by COPY" msgstr "la colonne « %s » FORCE_NOT_NULL n'est pas référencée par COPY" -#: commands/copyfrom.c:1290 commands/copyto.c:634 +#: commands/copyfrom.c:1293 commands/copyto.c:634 #, c-format msgid "FORCE_NULL column \"%s\" not referenced by COPY" msgstr "la colonne « %s » FORCE_NULL n'est pas référencée par COPY" -#: commands/copyfrom.c:1343 utils/mb/mbutils.c:385 +#: commands/copyfrom.c:1346 utils/mb/mbutils.c:385 #, c-format msgid "default conversion function for encoding \"%s\" to \"%s\" does not exist" msgstr "" "la fonction de conversion par défaut pour l'encodage de « %s » en « %s »\n" "n'existe pas" -#: commands/copyfrom.c:1524 +#: commands/copyfrom.c:1528 #, c-format msgid "COPY FROM instructs the PostgreSQL server process to read a file. You may want a client-side facility such as psql's \\copy." msgstr "COPY TO indique au serveur PostgreSQL de lire un fichier. Vous pourriez vouloir utiliser la fonctionnalité \\copy de psql pour lire en local." -#: commands/copyfrom.c:1537 commands/copyto.c:731 +#: commands/copyfrom.c:1541 commands/copyto.c:731 #, c-format msgid "\"%s\" is a directory" msgstr "« %s » est un répertoire" -#: commands/copyfrom.c:1605 commands/copyto.c:301 libpq/be-secure-common.c:105 +#: commands/copyfrom.c:1609 commands/copyto.c:301 libpq/be-secure-common.c:105 #, c-format msgid "could not close pipe to external command: %m" msgstr "n'a pas pu fermer le fichier pipe vers la commande externe : %m" -#: commands/copyfrom.c:1620 commands/copyto.c:306 +#: commands/copyfrom.c:1624 commands/copyto.c:306 #, c-format msgid "program \"%s\" failed" msgstr "le programme « %s » a échoué" @@ -7050,8 +6730,7 @@ msgstr "en-tête du fichier COPY invalide (mauvaise longueur)" msgid "could not read from COPY file: %m" msgstr "n'a pas pu lire le fichier COPY : %m" -#: commands/copyfromparse.c:278 commands/copyfromparse.c:303 -#: tcop/postgres.c:358 +#: commands/copyfromparse.c:278 commands/copyfromparse.c:303 tcop/postgres.c:358 #, c-format msgid "unexpected EOF on client connection with an open transaction" msgstr "" @@ -7083,8 +6762,7 @@ msgstr "différence de nom de colonne dans le champ d'entête %d de la ligne : a msgid "column name mismatch in header line field %d: got \"%s\", expected \"%s\"" msgstr "différence de nom de colonne dans le champ d'entête %d de la ligne : a obtenu « %s », attendait « %s »" -#: commands/copyfromparse.c:890 commands/copyfromparse.c:1495 -#: commands/copyfromparse.c:1725 +#: commands/copyfromparse.c:890 commands/copyfromparse.c:1495 commands/copyfromparse.c:1725 #, c-format msgid "extra data after last expected column" msgstr "données supplémentaires après la dernière colonne attendue" @@ -7189,8 +6867,7 @@ msgstr "n'a pas pu écrire dans le fichier COPY : %m" msgid "cannot copy from view \"%s\"" msgstr "ne peut pas copier à partir de la vue « %s »" -#: commands/copyto.c:371 commands/copyto.c:377 commands/copyto.c:383 -#: commands/copyto.c:394 +#: commands/copyto.c:371 commands/copyto.c:377 commands/copyto.c:383 commands/copyto.c:394 #, c-format msgid "Try the COPY (SELECT ...) TO variant." msgstr "Tentez la variante COPY (SELECT ...) TO." @@ -7315,8 +6992,7 @@ msgstr "%s n'est pas un nom d'encodage valide" msgid "unrecognized locale provider: %s" msgstr "fournisseur de locale non reconnu : %s" -#: commands/dbcommands.c:920 commands/dbcommands.c:2291 commands/user.c:237 -#: commands/user.c:611 +#: commands/dbcommands.c:920 commands/dbcommands.c:2291 commands/user.c:237 commands/user.c:611 #, c-format msgid "invalid connection limit: %d" msgstr "limite de connexion invalide : %d" @@ -7336,8 +7012,7 @@ msgstr "la base de données modèle « %s » n'existe pas" msgid "cannot use invalid database \"%s\" as template" msgstr "ne peut pas utiliser la base de données invalide « %s » comme modèle" -#: commands/dbcommands.c:976 commands/dbcommands.c:2320 -#: utils/init/postinit.c:1026 +#: commands/dbcommands.c:976 commands/dbcommands.c:2320 utils/init/postinit.c:1026 #, c-format msgid "Use DROP DATABASE to drop invalid databases." msgstr "Utilisez DROP DATABASE pour les bases invalides." @@ -7353,8 +7028,9 @@ msgid "invalid create database strategy \"%s\"" msgstr "stratégie de création de base « %s » invalide" #: commands/dbcommands.c:1005 -#, c-format -msgid "Valid strategies are \"wal_log\", and \"file_copy\"." +#, fuzzy, c-format +#| msgid "Valid strategies are \"wal_log\", and \"file_copy\"." +msgid "Valid strategies are \"wal_log\" and \"file_copy\"." msgstr "Les stratégies valides sont « wal_log » et « file_copy »" #: commands/dbcommands.c:1024 @@ -7570,8 +7246,7 @@ msgid_plural "There are %d subscriptions." msgstr[0] "Il existe %d souscription." msgstr[1] "Il existe %d souscriptions." -#: commands/dbcommands.c:1638 commands/dbcommands.c:1812 -#: commands/dbcommands.c:1942 +#: commands/dbcommands.c:1638 commands/dbcommands.c:1812 commands/dbcommands.c:1942 #, c-format msgid "database \"%s\" is being accessed by other users" msgstr "la base de données « %s » est en cours d'utilisation par d'autres utilisateurs" @@ -7605,8 +7280,7 @@ msgstr "" "Vous devez d'abord les déplacer dans le tablespace par défaut de la base\n" "de données avant d'utiliser cette commande." -#: commands/dbcommands.c:2133 commands/dbcommands.c:2852 -#: commands/dbcommands.c:3152 commands/dbcommands.c:3266 +#: commands/dbcommands.c:2133 commands/dbcommands.c:2852 commands/dbcommands.c:3152 commands/dbcommands.c:3266 #, c-format msgid "some useless files may be left behind in old database directory \"%s\"" msgstr "" @@ -7650,7 +7324,7 @@ msgid_plural "There are %d other sessions using the database." msgstr[0] "%d autre session utilise la base de données." msgstr[1] "%d autres sessions utilisent la base de données." -#: commands/dbcommands.c:2966 storage/ipc/procarray.c:3848 +#: commands/dbcommands.c:2966 storage/ipc/procarray.c:3847 #, c-format msgid "There is %d prepared transaction using the database." msgid_plural "There are %d prepared transactions using the database." @@ -7662,20 +7336,17 @@ msgstr[1] "%d transactions préparées utilisent la base de données." msgid "missing directory \"%s\"" msgstr "répertoire « %s » manquant" -#: commands/dbcommands.c:3168 commands/tablespace.c:190 -#: commands/tablespace.c:654 +#: commands/dbcommands.c:3168 commands/tablespace.c:190 commands/tablespace.c:654 #, c-format msgid "could not stat directory \"%s\": %m" msgstr "n'a pas pu lire les informations sur le répertoire « %s » : %m" -#: commands/define.c:54 commands/define.c:258 commands/define.c:290 -#: commands/define.c:318 commands/define.c:364 +#: commands/define.c:54 commands/define.c:258 commands/define.c:290 commands/define.c:318 commands/define.c:364 #, c-format msgid "%s requires a parameter" msgstr "%s requiert un paramètre" -#: commands/define.c:87 commands/define.c:98 commands/define.c:192 -#: commands/define.c:210 commands/define.c:225 commands/define.c:243 +#: commands/define.c:87 commands/define.c:98 commands/define.c:192 commands/define.c:210 commands/define.c:225 commands/define.c:243 #, c-format msgid "%s requires a numeric value" msgstr "%s requiert une valeur numérique" @@ -7705,8 +7376,7 @@ msgstr "l'argument de %s doit être un nom de type" msgid "invalid argument for %s: \"%s\"" msgstr "argument invalide pour %s : « %s »" -#: commands/dropcmds.c:100 commands/functioncmds.c:1394 -#: utils/adt/ruleutils.c:2928 +#: commands/dropcmds.c:100 commands/functioncmds.c:1394 utils/adt/ruleutils.c:2926 #, c-format msgid "\"%s\" is an aggregate function" msgstr "« %s » est une fonction d'agrégat" @@ -7716,14 +7386,12 @@ msgstr "« %s » est une fonction d'agrégat" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "Utiliser DROP AGGREGATE pour supprimer les fonctions d'agrégat." -#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3613 -#: commands/tablecmds.c:3771 commands/tablecmds.c:3823 -#: commands/tablecmds.c:16487 tcop/utility.c:1332 +#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3609 commands/tablecmds.c:3767 commands/tablecmds.c:3819 commands/tablecmds.c:16524 tcop/utility.c:1332 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "la relation « %s » n'existe pas, poursuite du traitement" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1278 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1274 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "le schéma « %s » n'existe pas, poursuite du traitement" @@ -7905,8 +7573,7 @@ msgstr "les triggers sur événement ne sont pas supportés pour %s" msgid "filter variable \"%s\" specified more than once" msgstr "variable « %s » du filtre spécifiée plus d'une fois" -#: commands/event_trigger.c:377 commands/event_trigger.c:421 -#: commands/event_trigger.c:515 +#: commands/event_trigger.c:377 commands/event_trigger.c:421 commands/event_trigger.c:515 #, c-format msgid "event trigger \"%s\" does not exist" msgstr "le trigger sur événement « %s » n'existe pas" @@ -7961,8 +7628,7 @@ msgstr "l'option TIMING d'EXPLAIN nécessite ANALYZE" msgid "extension \"%s\" does not exist" msgstr "l'extension « %s » n'existe pas" -#: commands/extension.c:272 commands/extension.c:281 commands/extension.c:293 -#: commands/extension.c:303 +#: commands/extension.c:272 commands/extension.c:281 commands/extension.c:293 commands/extension.c:303 #, c-format msgid "invalid extension name: \"%s\"" msgstr "nom d'extension invalide : « %s »" @@ -7987,8 +7653,7 @@ msgstr "Les noms des extensions ne doivent pas commencer ou finir avec un tiret msgid "Extension names must not contain directory separator characters." msgstr "Les noms des extensions ne doivent pas contenir des caractères séparateurs de répertoire." -#: commands/extension.c:319 commands/extension.c:328 commands/extension.c:337 -#: commands/extension.c:347 +#: commands/extension.c:319 commands/extension.c:328 commands/extension.c:337 commands/extension.c:347 #, c-format msgid "invalid extension version name: \"%s\"" msgstr "nom de version de l'extension invalide : « %s »" @@ -8042,8 +7707,7 @@ msgstr "" "le paramètre « %s » ne peut pas être configuré dans un fichier de contrôle\n" "secondaire de l'extension" -#: commands/extension.c:563 commands/extension.c:571 commands/extension.c:579 -#: utils/misc/guc.c:7380 +#: commands/extension.c:563 commands/extension.c:571 commands/extension.c:579 utils/misc/guc.c:7380 #, c-format msgid "parameter \"%s\" requires a Boolean value" msgstr "le paramètre « %s » requiert une valeur booléenne" @@ -8504,8 +8168,7 @@ msgstr "seul un élément AS est nécessaire pour le langage « %s »" msgid "no language specified" msgstr "aucun langage spécifié" -#: commands/functioncmds.c:1108 commands/functioncmds.c:2109 -#: commands/proclang.c:237 +#: commands/functioncmds.c:1108 commands/functioncmds.c:2109 commands/proclang.c:237 #, c-format msgid "language \"%s\" does not exist" msgstr "le langage « %s » n'existe pas" @@ -8744,7 +8407,7 @@ msgstr "ne peut pas créer les index sur les tables temporaires des autres sessi msgid "cannot specify default tablespace for partitioned relations" msgstr "ne peut pas spécifier un tablespace par défaut pour les relations partitionnées" -#: commands/indexcmds.c:792 commands/tablecmds.c:816 commands/tablecmds.c:3312 +#: commands/indexcmds.c:792 commands/tablecmds.c:812 commands/tablecmds.c:3308 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "seules les relations partagées peuvent être placées dans le tablespace pg_global" @@ -8789,228 +8452,222 @@ msgstr "contrainte %s non supportée avec la définition de clé de partitionnem msgid "%s constraints cannot be used when partition keys include expressions." msgstr "les contraintes %s ne peuvent pas être utilisées quand les clés de partitionnement incluent des expressions." -#: commands/indexcmds.c:1037 +#: commands/indexcmds.c:1040 #, c-format msgid "unique constraint on partitioned table must include all partitioning columns" msgstr "la contrainte unique sur la table partitionnée doit inclure toutes les colonnes de partitionnement" -#: commands/indexcmds.c:1038 +#: commands/indexcmds.c:1041 #, c-format msgid "%s constraint on table \"%s\" lacks column \"%s\" which is part of the partition key." msgstr "la contrainte %s sur la table « %s » ne contient pas la colonne « %s » qui fait partie de la clé de partitionnement." -#: commands/indexcmds.c:1057 commands/indexcmds.c:1076 +#: commands/indexcmds.c:1060 commands/indexcmds.c:1079 #, c-format msgid "index creation on system columns is not supported" msgstr "la création d'un index sur les tables du catalogue système n'est pas supportée" -#: commands/indexcmds.c:1276 tcop/utility.c:1518 +#: commands/indexcmds.c:1279 tcop/utility.c:1518 #, c-format msgid "cannot create unique index on partitioned table \"%s\"" msgstr "ne peut pas créer un index unique sur la table partitionnée « %s »" -#: commands/indexcmds.c:1278 tcop/utility.c:1520 +#: commands/indexcmds.c:1281 tcop/utility.c:1520 #, c-format msgid "Table \"%s\" contains partitions that are foreign tables." msgstr "La table « %s » contient des partitions qui ne sont pas des tables distantes." -#: commands/indexcmds.c:1767 +#: commands/indexcmds.c:1743 #, c-format msgid "functions in index predicate must be marked IMMUTABLE" msgstr "les fonctions dans un prédicat d'index doivent être marquées comme IMMUTABLE" -#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:2529 -#: parser/parse_utilcmd.c:2664 +#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2538 parser/parse_utilcmd.c:2673 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "la colonne « %s » nommée dans la clé n'existe pas" -#: commands/indexcmds.c:1869 parser/parse_utilcmd.c:1826 +#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1835 #, c-format msgid "expressions are not supported in included columns" msgstr "les expressions ne sont pas supportées dans les colonnes incluses" -#: commands/indexcmds.c:1910 +#: commands/indexcmds.c:1886 #, c-format msgid "functions in index expression must be marked IMMUTABLE" msgstr "" "les fonctions dans l'expression de l'index doivent être marquées comme\n" "IMMUTABLE" -#: commands/indexcmds.c:1925 +#: commands/indexcmds.c:1901 #, c-format msgid "including column does not support a collation" msgstr "une colonne incluse ne supporte pas de collationnement" -#: commands/indexcmds.c:1929 +#: commands/indexcmds.c:1905 #, c-format msgid "including column does not support an operator class" msgstr "une colonne incluse ne supporte pas de classe d'opérateur" -#: commands/indexcmds.c:1933 +#: commands/indexcmds.c:1909 #, c-format msgid "including column does not support ASC/DESC options" msgstr "une colonne incluse ne supporte pas d'options ASC/DESC" -#: commands/indexcmds.c:1937 +#: commands/indexcmds.c:1913 #, c-format msgid "including column does not support NULLS FIRST/LAST options" msgstr "une colonne incluse ne supporte pas d'options NULLS FIRST/LAST" -#: commands/indexcmds.c:1978 +#: commands/indexcmds.c:1954 #, c-format msgid "could not determine which collation to use for index expression" msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression d'index" -#: commands/indexcmds.c:1986 commands/tablecmds.c:17510 commands/typecmds.c:807 -#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3796 -#: utils/adt/misc.c:601 +#: commands/indexcmds.c:1962 commands/tablecmds.c:17544 commands/typecmds.c:807 parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3805 utils/adt/misc.c:601 #, c-format msgid "collations are not supported by type %s" msgstr "les collationnements ne sont pas supportés par le type %s" -#: commands/indexcmds.c:2051 +#: commands/indexcmds.c:2027 #, c-format msgid "operator %s is not commutative" msgstr "l'opérateur %s n'est pas commutatif" -#: commands/indexcmds.c:2053 +#: commands/indexcmds.c:2029 #, c-format msgid "Only commutative operators can be used in exclusion constraints." msgstr "Seuls les opérateurs commutatifs peuvent être utilisés dans les contraintes d'exclusion." -#: commands/indexcmds.c:2079 +#: commands/indexcmds.c:2055 #, c-format msgid "operator %s is not a member of operator family \"%s\"" msgstr "l'opérateur %s n'est pas un membre de la famille d'opérateur « %s »" -#: commands/indexcmds.c:2082 +#: commands/indexcmds.c:2058 #, c-format msgid "The exclusion operator must be related to the index operator class for the constraint." msgstr "" "L'opérateur d'exclusion doit être en relation avec la classe d'opérateur de\n" "l'index pour la contrainte." -#: commands/indexcmds.c:2117 +#: commands/indexcmds.c:2093 #, c-format msgid "access method \"%s\" does not support ASC/DESC options" msgstr "la méthode d'accès « %s » ne supporte pas les options ASC/DESC" -#: commands/indexcmds.c:2122 +#: commands/indexcmds.c:2098 #, c-format msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "la méthode d'accès « %s » ne supporte pas les options NULLS FIRST/LAST" -#: commands/indexcmds.c:2168 commands/tablecmds.c:17535 -#: commands/tablecmds.c:17541 commands/typecmds.c:2302 +#: commands/indexcmds.c:2144 commands/tablecmds.c:17569 commands/tablecmds.c:17575 commands/typecmds.c:2302 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "" "le type de données %s n'a pas de classe d'opérateurs par défaut pour la\n" "méthode d'accès « %s »" -#: commands/indexcmds.c:2170 +#: commands/indexcmds.c:2146 #, c-format msgid "You must specify an operator class for the index or define a default operator class for the data type." msgstr "" "Vous devez spécifier une classe d'opérateur pour l'index ou définir une\n" "classe d'opérateur par défaut pour le type de données." -#: commands/indexcmds.c:2199 commands/indexcmds.c:2207 -#: commands/opclasscmds.c:205 +#: commands/indexcmds.c:2175 commands/indexcmds.c:2183 commands/opclasscmds.c:205 #, c-format msgid "operator class \"%s\" does not exist for access method \"%s\"" msgstr "la classe d'opérateur « %s » n'existe pas pour la méthode d'accès « %s »" -#: commands/indexcmds.c:2221 commands/typecmds.c:2290 +#: commands/indexcmds.c:2197 commands/typecmds.c:2290 #, c-format msgid "operator class \"%s\" does not accept data type %s" msgstr "la classe d'opérateur « %s » n'accepte pas le type de données %s" -#: commands/indexcmds.c:2311 +#: commands/indexcmds.c:2287 #, c-format msgid "there are multiple default operator classes for data type %s" msgstr "" "il existe de nombreuses classes d'opérateur par défaut pour le type de\n" "données %s" -#: commands/indexcmds.c:2639 +#: commands/indexcmds.c:2615 #, c-format msgid "unrecognized REINDEX option \"%s\"" msgstr "option de REINDEX « %s » non reconnue" -#: commands/indexcmds.c:2863 +#: commands/indexcmds.c:2839 #, c-format msgid "table \"%s\" has no indexes that can be reindexed concurrently" msgstr "la table « %s » n'a pas d'index qui puisse être réindexé concuremment" -#: commands/indexcmds.c:2877 +#: commands/indexcmds.c:2853 #, c-format msgid "table \"%s\" has no indexes to reindex" msgstr "la table « %s » n'a pas d'index à réindexer" -#: commands/indexcmds.c:2917 commands/indexcmds.c:3421 -#: commands/indexcmds.c:3549 +#: commands/indexcmds.c:2893 commands/indexcmds.c:3397 commands/indexcmds.c:3525 #, c-format msgid "cannot reindex system catalogs concurrently" msgstr "ne peut pas réindexer les catalogues système de manière concurrente" -#: commands/indexcmds.c:2940 +#: commands/indexcmds.c:2916 #, c-format msgid "can only reindex the currently open database" msgstr "peut seulement réindexer la base de données en cours" -#: commands/indexcmds.c:3028 +#: commands/indexcmds.c:3004 #, c-format msgid "cannot reindex system catalogs concurrently, skipping all" msgstr "ne peut pas réindexer les catalogues système de manière concurrente, ignore tout" -#: commands/indexcmds.c:3061 +#: commands/indexcmds.c:3037 #, c-format msgid "cannot move system relations, skipping all" msgstr "ne peut pas déplacer les relations systèmes, toutes ignorées" -#: commands/indexcmds.c:3107 +#: commands/indexcmds.c:3083 #, c-format msgid "while reindexing partitioned table \"%s.%s\"" msgstr "lors de la réindexation de la table partitionnée « %s.%s »" -#: commands/indexcmds.c:3110 +#: commands/indexcmds.c:3086 #, c-format msgid "while reindexing partitioned index \"%s.%s\"" msgstr "lors de la réindexation de l'index partitionné « %s.%s »" -#: commands/indexcmds.c:3301 commands/indexcmds.c:4157 +#: commands/indexcmds.c:3277 commands/indexcmds.c:4133 #, c-format msgid "table \"%s.%s\" was reindexed" msgstr "la table « %s.%s » a été réindexée" -#: commands/indexcmds.c:3453 commands/indexcmds.c:3505 +#: commands/indexcmds.c:3429 commands/indexcmds.c:3481 #, c-format msgid "cannot reindex invalid index \"%s.%s\" concurrently, skipping" msgstr "ne peut pas réindexer l'index invalide « %s.%s » de manière concurrente, ignoré" -#: commands/indexcmds.c:3459 +#: commands/indexcmds.c:3435 #, c-format msgid "cannot reindex exclusion constraint index \"%s.%s\" concurrently, skipping" msgstr "ne peut pas réindexer l'index de contrainte d'exclusion « %s.%s » de manière concurrente, ignoré" -#: commands/indexcmds.c:3614 +#: commands/indexcmds.c:3590 #, c-format msgid "cannot reindex this type of relation concurrently" msgstr "ne peut pas réindexer ce type de relation de manière concurrente" -#: commands/indexcmds.c:3635 +#: commands/indexcmds.c:3611 #, c-format msgid "cannot move non-shared relation to tablespace \"%s\"" msgstr "ne peut pas déplacer la relation non partagée dans le tablespace « %s »" -#: commands/indexcmds.c:4138 commands/indexcmds.c:4150 +#: commands/indexcmds.c:4114 commands/indexcmds.c:4126 #, c-format msgid "index \"%s.%s\" was reindexed" msgstr "l'index « %s.%s » a été réindexé" -#: commands/indexcmds.c:4140 commands/indexcmds.c:4159 +#: commands/indexcmds.c:4116 commands/indexcmds.c:4135 #, c-format msgid "%s." msgstr "%s." @@ -9065,14 +8722,12 @@ msgstr "la famille d'opérateur « %s » existe déjà pour la méthode d'accès msgid "must be superuser to create an operator class" msgstr "doit être super-utilisateur pour créer une classe d'opérateur" -#: commands/opclasscmds.c:493 commands/opclasscmds.c:910 -#: commands/opclasscmds.c:1056 +#: commands/opclasscmds.c:493 commands/opclasscmds.c:910 commands/opclasscmds.c:1056 #, c-format msgid "invalid operator number %d, must be between 1 and %d" msgstr "numéro d'opérateur %d invalide, doit être compris entre 1 et %d" -#: commands/opclasscmds.c:538 commands/opclasscmds.c:960 -#: commands/opclasscmds.c:1072 +#: commands/opclasscmds.c:538 commands/opclasscmds.c:960 commands/opclasscmds.c:1072 #, c-format msgid "invalid function number %d, must be between 1 and %d" msgstr "numéro de fonction %d invalide, doit être compris entre 1 et %d" @@ -9334,13 +8989,7 @@ msgstr "" msgid "operator attribute \"%s\" cannot be changed" msgstr "l'attribut « %s » de l'opérateur ne peut pas être changé" -#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 -#: commands/tablecmds.c:1609 commands/tablecmds.c:2197 -#: commands/tablecmds.c:3423 commands/tablecmds.c:6312 -#: commands/tablecmds.c:9144 commands/tablecmds.c:17090 -#: commands/tablecmds.c:17125 commands/trigger.c:328 commands/trigger.c:1378 -#: commands/trigger.c:1488 rewrite/rewriteDefine.c:278 -#: rewrite/rewriteDefine.c:957 rewrite/rewriteRemove.c:80 +#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 commands/tablecmds.c:1605 commands/tablecmds.c:2193 commands/tablecmds.c:3419 commands/tablecmds.c:6308 commands/tablecmds.c:9151 commands/tablecmds.c:17122 commands/tablecmds.c:17157 commands/trigger.c:328 commands/trigger.c:1378 commands/trigger.c:1488 rewrite/rewriteDefine.c:279 rewrite/rewriteDefine.c:963 rewrite/rewriteRemove.c:80 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "droit refusé : « %s » est un catalogue système" @@ -9390,8 +9039,7 @@ msgstr "nom de curseur invalide : il ne doit pas être vide" msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "ne peut pas créer un curseur WITH HOLD à l'intérieur d'une opération restreinte pour sécurité" -#: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2593 utils/adt/xml.c:2763 +#: commands/portalcmds.c:189 commands/portalcmds.c:242 executor/execCurrent.c:70 utils/adt/xml.c:2603 utils/adt/xml.c:2773 #, c-format msgid "cursor \"%s\" does not exist" msgstr "le curseur « %s » n'existe pas" @@ -9438,8 +9086,7 @@ msgstr "l'instruction préparée « %s » n'existe pas" msgid "must be superuser to create custom procedural language" msgstr "doit être super-utilisateur pour créer un langage de procédures personnalisé" -#: commands/publicationcmds.c:130 postmaster/postmaster.c:1222 -#: postmaster/postmaster.c:1321 utils/init/miscinit.c:1651 +#: commands/publicationcmds.c:130 postmaster/postmaster.c:1222 postmaster/postmaster.c:1321 utils/init/miscinit.c:1659 #, c-format msgid "invalid list syntax in parameter \"%s\"" msgstr "syntaxe de liste invalide pour le paramètre « %s »" @@ -9463,8 +9110,7 @@ msgstr "aucun schéma n'a été sélectionné pour CURRENT_SCHEMA" msgid "System columns are not allowed." msgstr "Les colonnes systèmes ne sont pas autorisées." -#: commands/publicationcmds.c:508 commands/publicationcmds.c:513 -#: commands/publicationcmds.c:530 +#: commands/publicationcmds.c:508 commands/publicationcmds.c:513 commands/publicationcmds.c:530 msgid "User-defined operators are not allowed." msgstr "Les opérateurs définis par les utilisateurs ne sont pas autorisés." @@ -9539,12 +9185,9 @@ msgid "Set wal_level to \"logical\" before creating subscriptions." msgstr "Configurez wal_level à la valeur logical pour créer des souscriptions." #: commands/publicationcmds.c:964 commands/publicationcmds.c:972 -#, fuzzy, c-format -#| msgid "cannot set parameter \"%s\" within security-definer function" +#, c-format msgid "cannot set parameter \"%s\" to false for publication \"%s\"" -msgstr "" -"ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n" -"SECURITY DEFINER" +msgstr "ne peut pas configurer le paramètre « %s » à false pour la publication « %s »" #: commands/publicationcmds.c:967 #, c-format @@ -9654,7 +9297,7 @@ msgstr "Le préfixe « pg_ » est réservé pour les schémas système." #: commands/schemacmds.c:133 #, c-format msgid "schema \"%s\" already exists, skipping" -msgstr "la schéma « %s » existe déjà , poursuite du traitement" +msgstr "le schéma « %s » existe déjà , poursuite du traitement" #: commands/seclabel.c:131 #, c-format @@ -9811,8 +9454,7 @@ msgstr "la séquence doit être dans le même schéma que la table avec laquelle msgid "cannot change ownership of identity sequence" msgstr "ne peut pas modifier le propriétaire de la séquence d'identité" -#: commands/sequence.c:1679 commands/tablecmds.c:13870 -#: commands/tablecmds.c:16507 +#: commands/sequence.c:1679 commands/tablecmds.c:13907 commands/tablecmds.c:16544 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "La séquence « %s » est liée à la table « %s »." @@ -9883,12 +9525,12 @@ msgstr "nom de colonne dupliqué dans la définition des statistiques" msgid "duplicate expression in statistics definition" msgstr "expression dupliquée dans la définition des statistiques" -#: commands/statscmds.c:620 commands/tablecmds.c:8112 +#: commands/statscmds.c:620 commands/tablecmds.c:8115 #, c-format msgid "statistics target %d is too low" msgstr "la cible statistique %d est trop basse" -#: commands/statscmds.c:628 commands/tablecmds.c:8120 +#: commands/statscmds.c:628 commands/tablecmds.c:8123 #, c-format msgid "lowering statistics target to %d" msgstr "abaissement de la cible statistique à %d" @@ -9910,9 +9552,7 @@ msgid "invalid WAL location (LSN): %s" msgstr "emplacement WAL invalide : « %s »" #. translator: both %s are strings of the form "option = value" -#: commands/subscriptioncmds.c:313 commands/subscriptioncmds.c:320 -#: commands/subscriptioncmds.c:327 commands/subscriptioncmds.c:349 -#: commands/subscriptioncmds.c:365 +#: commands/subscriptioncmds.c:313 commands/subscriptioncmds.c:320 commands/subscriptioncmds.c:327 commands/subscriptioncmds.c:349 commands/subscriptioncmds.c:365 #, c-format msgid "%s and %s are mutually exclusive options" msgstr "%s et %s sont des options mutuellement exclusives" @@ -9942,8 +9582,7 @@ msgstr[1] "la publication « %s » n'existe pas" msgid "must be superuser to create subscriptions" msgstr "doit être super-utilisateur pour créer des souscriptions" -#: commands/subscriptioncmds.c:648 commands/subscriptioncmds.c:776 -#: replication/logical/tablesync.c:1229 replication/logical/worker.c:3738 +#: commands/subscriptioncmds.c:648 commands/subscriptioncmds.c:776 replication/logical/tablesync.c:1254 replication/logical/worker.c:3738 #, c-format msgid "could not connect to the publisher: %s" msgstr "n'a pas pu se connecter au publieur : %s" @@ -10061,8 +9700,7 @@ msgstr "Le propriétaire d'une souscription doit être un super-utilisateur." msgid "could not receive list of replicated tables from the publisher: %s" msgstr "n'a pas pu recevoir la liste des tables répliquées à partir du publieur : %s" -#: commands/subscriptioncmds.c:1810 replication/logical/tablesync.c:809 -#: replication/pgoutput/pgoutput.c:1072 +#: commands/subscriptioncmds.c:1810 replication/logical/tablesync.c:826 replication/pgoutput/pgoutput.c:1072 #, fuzzy, c-format #| msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgid "cannot use different column lists for table \"%s.%s\" in different publications" @@ -10156,8 +9794,7 @@ msgstr "la vue matérialisée « %s » n'existe pas, poursuite du traitement" msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "Utilisez DROP MATERIALIZED VIEW pour supprimer une vue matérialisée." -#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19017 -#: parser/parse_utilcmd.c:2261 +#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19051 parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not exist" msgstr "l'index « %s » n'existe pas" @@ -10180,8 +9817,7 @@ msgstr "« %s » n'est pas un type" msgid "Use DROP TYPE to remove a type." msgstr "Utilisez DROP TYPE pour supprimer un type." -#: commands/tablecmds.c:281 commands/tablecmds.c:13709 -#: commands/tablecmds.c:16210 +#: commands/tablecmds.c:281 commands/tablecmds.c:13746 commands/tablecmds.c:16247 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "la table distante « %s » n'existe pas" @@ -10207,289 +9843,276 @@ msgstr "" "ne peut pas créer une table temporaire à l'intérieur d'une fonction\n" "restreinte pour sécurité" -#: commands/tablecmds.c:764 commands/tablecmds.c:15017 +#: commands/tablecmds.c:764 commands/tablecmds.c:15054 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "la relation « %s » serait héritée plus d'une fois" -#: commands/tablecmds.c:949 +#: commands/tablecmds.c:945 #, c-format msgid "specifying a table access method is not supported on a partitioned table" msgstr "spécifier une méthode d'accès à la table n'est pas supporté sur une partitionnée" -#: commands/tablecmds.c:1042 +#: commands/tablecmds.c:1038 #, c-format msgid "\"%s\" is not partitioned" msgstr "« %s » n'est pas partitionné" -#: commands/tablecmds.c:1137 +#: commands/tablecmds.c:1133 #, c-format msgid "cannot partition using more than %d columns" msgstr "ne peut pas partitionner en utilisant plus de %d colonnes" -#: commands/tablecmds.c:1193 +#: commands/tablecmds.c:1189 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "ne peut pas créer une partition distante sur la table partitionnée « %s »" -#: commands/tablecmds.c:1195 +#: commands/tablecmds.c:1191 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "La table « %s » contient des index qui sont uniques." -#: commands/tablecmds.c:1358 +#: commands/tablecmds.c:1354 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY ne permet pas de supprimer plusieurs objets" -#: commands/tablecmds.c:1362 +#: commands/tablecmds.c:1358 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY ne permet pas la CASCADE" -#: commands/tablecmds.c:1466 +#: commands/tablecmds.c:1462 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "ne peut pas supprimer l'index partitionné « %s » de manière concurrente" -#: commands/tablecmds.c:1754 +#: commands/tablecmds.c:1750 #, c-format msgid "cannot truncate only a partitioned table" msgstr "ne peut pas seulement tronquer une table partitionnée" -#: commands/tablecmds.c:1755 +#: commands/tablecmds.c:1751 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "Ne spécifiez pas le mot clé ONLY ou utilisez TRUNCATE ONLY directement sur les partitions." -#: commands/tablecmds.c:1827 +#: commands/tablecmds.c:1823 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "TRUNCATE cascade sur la table « %s »" -#: commands/tablecmds.c:2177 +#: commands/tablecmds.c:2173 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "ne peut pas tronquer la table distante « %s »" -#: commands/tablecmds.c:2234 +#: commands/tablecmds.c:2230 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "ne peut pas tronquer les tables temporaires des autres sessions" -#: commands/tablecmds.c:2462 commands/tablecmds.c:14914 +#: commands/tablecmds.c:2458 commands/tablecmds.c:14951 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "ne peut pas hériter de la table partitionnée « %s »" -#: commands/tablecmds.c:2467 +#: commands/tablecmds.c:2463 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "ne peut pas hériter de la partition « %s »" -#: commands/tablecmds.c:2475 parser/parse_utilcmd.c:2491 -#: parser/parse_utilcmd.c:2633 +#: commands/tablecmds.c:2471 parser/parse_utilcmd.c:2500 parser/parse_utilcmd.c:2642 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "la relation héritée « %s » n'est ni une table ni une table distante" -#: commands/tablecmds.c:2487 +#: commands/tablecmds.c:2483 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "ne peut pas créer une relation temporaire comme partition de la relation permanente « %s »" -#: commands/tablecmds.c:2496 commands/tablecmds.c:14893 +#: commands/tablecmds.c:2492 commands/tablecmds.c:14930 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "ne peut pas hériter à partir d'une relation temporaire « %s »" -#: commands/tablecmds.c:2506 commands/tablecmds.c:14901 +#: commands/tablecmds.c:2502 commands/tablecmds.c:14938 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "ne peut pas hériter de la table temporaire d'une autre session" -#: commands/tablecmds.c:2560 +#: commands/tablecmds.c:2556 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "assemblage de plusieurs définitions d'héritage pour la colonne « %s »" -#: commands/tablecmds.c:2568 +#: commands/tablecmds.c:2564 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "la colonne héritée « %s » a un conflit de type" -#: commands/tablecmds.c:2570 commands/tablecmds.c:2593 -#: commands/tablecmds.c:2610 commands/tablecmds.c:2866 -#: commands/tablecmds.c:2896 commands/tablecmds.c:2910 -#: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 -#: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 -#: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 -#: parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 -#: parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 -#: parser/parse_param.c:227 +#: commands/tablecmds.c:2566 commands/tablecmds.c:2589 commands/tablecmds.c:2606 commands/tablecmds.c:2862 commands/tablecmds.c:2892 commands/tablecmds.c:2906 parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 parser/parse_param.c:227 #, c-format msgid "%s versus %s" msgstr "%s versus %s" -#: commands/tablecmds.c:2579 +#: commands/tablecmds.c:2575 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "la colonne héritée « %s » a un conflit sur le collationnement" -#: commands/tablecmds.c:2581 commands/tablecmds.c:2878 -#: commands/tablecmds.c:6792 +#: commands/tablecmds.c:2577 commands/tablecmds.c:2874 commands/tablecmds.c:6791 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "« %s » versus « %s »" -#: commands/tablecmds.c:2591 +#: commands/tablecmds.c:2587 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "la colonne héritée « %s » a un conflit de paramètre de stockage" -#: commands/tablecmds.c:2608 commands/tablecmds.c:2908 +#: commands/tablecmds.c:2604 commands/tablecmds.c:2904 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "la colonne « %s » a un conflit sur la méthode de compression" -#: commands/tablecmds.c:2623 +#: commands/tablecmds.c:2619 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "la colonne héritée « %s » a un conflit de génération" -#: commands/tablecmds.c:2717 commands/tablecmds.c:2772 -#: commands/tablecmds.c:12433 parser/parse_utilcmd.c:1302 -#: parser/parse_utilcmd.c:1345 parser/parse_utilcmd.c:1754 -#: parser/parse_utilcmd.c:1862 +#: commands/tablecmds.c:2713 commands/tablecmds.c:2768 commands/tablecmds.c:12450 parser/parse_utilcmd.c:1311 parser/parse_utilcmd.c:1354 parser/parse_utilcmd.c:1763 parser/parse_utilcmd.c:1871 #, c-format msgid "cannot convert whole-row table reference" msgstr "ne peut pas convertir une référence de ligne complète de table" -#: commands/tablecmds.c:2718 parser/parse_utilcmd.c:1303 +#: commands/tablecmds.c:2714 parser/parse_utilcmd.c:1312 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "L'expression de génération de la colonne « %s » contient une référence de ligne complète vers la table « %s »." -#: commands/tablecmds.c:2773 parser/parse_utilcmd.c:1346 +#: commands/tablecmds.c:2769 parser/parse_utilcmd.c:1355 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "La contrainte « %s » contient une référence de ligne complète vers la table « %s »." -#: commands/tablecmds.c:2852 +#: commands/tablecmds.c:2848 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "assemblage de la colonne « %s » avec une définition héritée" -#: commands/tablecmds.c:2856 +#: commands/tablecmds.c:2852 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "déplacement et assemblage de la colonne « %s » avec une définition héritée" -#: commands/tablecmds.c:2857 +#: commands/tablecmds.c:2853 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "Colonne utilisateur déplacée à la position de la colonne héritée." -#: commands/tablecmds.c:2864 +#: commands/tablecmds.c:2860 #, c-format msgid "column \"%s\" has a type conflict" msgstr "la colonne « %s » a un conflit de type" -#: commands/tablecmds.c:2876 +#: commands/tablecmds.c:2872 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "la colonne « %s » a un conflit sur le collationnement" -#: commands/tablecmds.c:2894 +#: commands/tablecmds.c:2890 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "la colonne « %s » a un conflit de paramètre de stockage" -#: commands/tablecmds.c:2935 +#: commands/tablecmds.c:2931 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "la colonne enfant « %s » précise une expression de génération" -#: commands/tablecmds.c:2937 +#: commands/tablecmds.c:2933 #, c-format msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table." msgstr "Omettre l'expression de génération dans la définition de la colonne de la table fille pour hériter de l'expression de génération de la table parent." -#: commands/tablecmds.c:2941 +#: commands/tablecmds.c:2937 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "la colonne « %s » hérite d'une colonne générée mais indique une valeur par défaut" -#: commands/tablecmds.c:2946 +#: commands/tablecmds.c:2942 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "la colonne « %s » hérite d'une colonne générée mais précise une identité" -#: commands/tablecmds.c:3055 +#: commands/tablecmds.c:3051 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "la colonne « %s » hérite d'expressions de génération en conflit" -#: commands/tablecmds.c:3060 +#: commands/tablecmds.c:3056 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "la colonne « %s » hérite de valeurs par défaut conflictuelles" -#: commands/tablecmds.c:3062 +#: commands/tablecmds.c:3058 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Pour résoudre le conflit, spécifiez explicitement une valeur par défaut." -#: commands/tablecmds.c:3108 +#: commands/tablecmds.c:3104 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "" "le nom de la contrainte de vérification, « %s », apparaît plusieurs fois\n" "mais avec des expressions différentes" -#: commands/tablecmds.c:3321 +#: commands/tablecmds.c:3317 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "ne peut pas déplacer les tables temporaires d'autres sessions" -#: commands/tablecmds.c:3391 +#: commands/tablecmds.c:3387 #, c-format msgid "cannot rename column of typed table" msgstr "ne peut pas renommer une colonne d'une table typée" -#: commands/tablecmds.c:3410 +#: commands/tablecmds.c:3406 #, fuzzy, c-format #| msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgid "cannot rename columns of relation \"%s\"" msgstr "ne peut pas modifier la colonne héritée « %s » de la relation « %s »" -#: commands/tablecmds.c:3505 +#: commands/tablecmds.c:3501 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "la colonne héritée « %s » doit aussi être renommée pour les tables filles" -#: commands/tablecmds.c:3537 +#: commands/tablecmds.c:3533 #, c-format msgid "cannot rename system column \"%s\"" msgstr "ne peut pas renommer la colonne système « %s »" -#: commands/tablecmds.c:3552 +#: commands/tablecmds.c:3548 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "ne peut pas renommer la colonne héritée « %s »" -#: commands/tablecmds.c:3704 +#: commands/tablecmds.c:3700 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "la contrainte héritée « %s » doit aussi être renommée pour les tables enfants" -#: commands/tablecmds.c:3711 +#: commands/tablecmds.c:3707 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "ne peut pas renommer la colonne héritée « %s »" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4008 +#: commands/tablecmds.c:4004 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "" @@ -10497,1081 +10120,1073 @@ msgstr "" "des requêtes actives dans cette session" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4017 +#: commands/tablecmds.c:4013 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "ne peut pas exécuter %s « %s » car il reste des événements sur les triggers" -#: commands/tablecmds.c:4486 +#: commands/tablecmds.c:4482 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "ne peut pas modifier la partition « %s » avec un détachement incomplet" -#: commands/tablecmds.c:4679 commands/tablecmds.c:4694 +#: commands/tablecmds.c:4675 commands/tablecmds.c:4690 #, c-format msgid "cannot change persistence setting twice" msgstr "ne peut pas modifier la configuration de la persistence deux fois" -#: commands/tablecmds.c:4715 +#: commands/tablecmds.c:4711 #, fuzzy, c-format #| msgid "cannot change inheritance of partitioned table" msgid "cannot change access method of a partitioned table" msgstr "ne peut pas modifier l'héritage d'une table partitionnée" -#: commands/tablecmds.c:4721 +#: commands/tablecmds.c:4717 #, fuzzy, c-format #| msgid "cannot have multiple SET TABLESPACE subcommands" msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "ne peut pas avoir de nombreuses sous-commandes SET TABLESPACE" -#: commands/tablecmds.c:5476 +#: commands/tablecmds.c:5472 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "ne peut pas ré-écrire la relation système « %s »" -#: commands/tablecmds.c:5482 +#: commands/tablecmds.c:5478 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "ne peut pas réécrire la table « %s » utilisée comme une table catalogue" -#: commands/tablecmds.c:5492 +#: commands/tablecmds.c:5488 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "ne peut pas ré-écrire les tables temporaires des autres sessions" -#: commands/tablecmds.c:5986 +#: commands/tablecmds.c:5982 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "la colonne « %s » de la table « %s » contient des valeurs NULL" -#: commands/tablecmds.c:6003 +#: commands/tablecmds.c:5999 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "la contrainte de vérification « %s » de la relation « %s » est violée par une ligne" -#: commands/tablecmds.c:6022 partitioning/partbounds.c:3404 +#: commands/tablecmds.c:6018 partitioning/partbounds.c:3404 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "la contrainte de partition mise à jour pour la partition par défaut « %s » serait transgressée par des lignes" -#: commands/tablecmds.c:6028 +#: commands/tablecmds.c:6024 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "la contrainte de partition de la relation « %s » est violée par une ligne" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6295 +#: commands/tablecmds.c:6291 #, fuzzy, c-format #| msgid "relation \"%s\" is not a parent of relation \"%s\"" msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "la relation « %s » n'est pas un parent de la relation « %s »" -#: commands/tablecmds.c:6550 commands/tablecmds.c:6557 +#: commands/tablecmds.c:6546 commands/tablecmds.c:6553 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "ne peux pas modifier le type « %s » car la colonne « %s.%s » l'utilise" -#: commands/tablecmds.c:6564 +#: commands/tablecmds.c:6560 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "ne peut pas modifier la table distante « %s » car la colonne « %s.%s » utilise\n" "son type de ligne" -#: commands/tablecmds.c:6571 +#: commands/tablecmds.c:6567 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "ne peut pas modifier la table « %s » car la colonne « %s.%s » utilise\n" "son type de ligne" -#: commands/tablecmds.c:6627 +#: commands/tablecmds.c:6623 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "ne peut pas modifier le type « %s » car il s'agit du type d'une table de type" -#: commands/tablecmds.c:6629 +#: commands/tablecmds.c:6625 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "Utilisez ALTER ... CASCADE pour modifier aussi les tables de type." -#: commands/tablecmds.c:6675 +#: commands/tablecmds.c:6671 #, c-format msgid "type %s is not a composite type" msgstr "le type %s n'est pas un type composite" -#: commands/tablecmds.c:6702 +#: commands/tablecmds.c:6698 #, c-format msgid "cannot add column to typed table" msgstr "ne peut pas ajouter une colonne à une table typée" -#: commands/tablecmds.c:6755 +#: commands/tablecmds.c:6754 #, c-format msgid "cannot add column to a partition" msgstr "ne peut pas ajouter une colonne à une partition" -#: commands/tablecmds.c:6784 commands/tablecmds.c:15144 +#: commands/tablecmds.c:6783 commands/tablecmds.c:15181 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "la table fille « %s » a un type différent pour la colonne « %s »" -#: commands/tablecmds.c:6790 commands/tablecmds.c:15151 +#: commands/tablecmds.c:6789 commands/tablecmds.c:15188 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "la table fille « %s » a un collationnement différent pour la colonne « %s »" -#: commands/tablecmds.c:6804 +#: commands/tablecmds.c:6803 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "assemblage de la définition de la colonne « %s » pour le fils « %s »" -#: commands/tablecmds.c:6847 +#: commands/tablecmds.c:6850 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "ne peut pas ajouter récursivement la colonne identité à une table qui a des tables filles" -#: commands/tablecmds.c:7091 +#: commands/tablecmds.c:7094 #, c-format msgid "column must be added to child tables too" msgstr "la colonne doit aussi être ajoutée aux tables filles" -#: commands/tablecmds.c:7169 +#: commands/tablecmds.c:7172 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "la colonne « %s » de la relation « %s » existe déjà , poursuite du traitement" -#: commands/tablecmds.c:7176 +#: commands/tablecmds.c:7179 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "la colonne « %s » de la relation « %s » existe déjà " -#: commands/tablecmds.c:7242 commands/tablecmds.c:12072 +#: commands/tablecmds.c:7245 commands/tablecmds.c:12089 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "ne peut pas supprimer une contrainte uniquement d'une table partitionnée quand des partitions existent" -#: commands/tablecmds.c:7243 commands/tablecmds.c:7560 -#: commands/tablecmds.c:8557 commands/tablecmds.c:12073 +#: commands/tablecmds.c:7246 commands/tablecmds.c:7563 commands/tablecmds.c:8564 commands/tablecmds.c:12090 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Ne spécifiez pas le mot clé ONLY." -#: commands/tablecmds.c:7280 commands/tablecmds.c:7486 -#: commands/tablecmds.c:7628 commands/tablecmds.c:7742 -#: commands/tablecmds.c:7836 commands/tablecmds.c:7895 -#: commands/tablecmds.c:8014 commands/tablecmds.c:8153 -#: commands/tablecmds.c:8223 commands/tablecmds.c:8379 -#: commands/tablecmds.c:12227 commands/tablecmds.c:13732 -#: commands/tablecmds.c:16301 +#: commands/tablecmds.c:7283 commands/tablecmds.c:7489 commands/tablecmds.c:7631 commands/tablecmds.c:7745 commands/tablecmds.c:7839 commands/tablecmds.c:7898 commands/tablecmds.c:8017 commands/tablecmds.c:8156 commands/tablecmds.c:8226 commands/tablecmds.c:8382 commands/tablecmds.c:12244 commands/tablecmds.c:13769 commands/tablecmds.c:16338 #, c-format msgid "cannot alter system column \"%s\"" msgstr "n'a pas pu modifier la colonne système « %s »" -#: commands/tablecmds.c:7286 commands/tablecmds.c:7634 +#: commands/tablecmds.c:7289 commands/tablecmds.c:7637 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne d'identité" -#: commands/tablecmds.c:7329 +#: commands/tablecmds.c:7332 #, c-format msgid "column \"%s\" is in a primary key" msgstr "la colonne « %s » est dans une clé primaire" -#: commands/tablecmds.c:7334 +#: commands/tablecmds.c:7337 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "la colonne « %s » est dans un index utilisé comme identité de réplicat" -#: commands/tablecmds.c:7357 +#: commands/tablecmds.c:7360 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "la colonne « %s » est marquée NOT NULL dans la table parent" -#: commands/tablecmds.c:7557 commands/tablecmds.c:9040 +#: commands/tablecmds.c:7560 commands/tablecmds.c:9047 #, c-format msgid "constraint must be added to child tables too" msgstr "la contrainte doit aussi être ajoutée aux tables filles" -#: commands/tablecmds.c:7558 +#: commands/tablecmds.c:7561 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "la colonne « %s » de la relation « %s » n'est pas déjà NOT NULL." -#: commands/tablecmds.c:7636 +#: commands/tablecmds.c:7639 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." msgstr "Utilisez à la place ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY." -#: commands/tablecmds.c:7641 +#: commands/tablecmds.c:7644 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "la colonne « %s » de la relation « %s » est une colonne générée" -#: commands/tablecmds.c:7644 +#: commands/tablecmds.c:7647 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." msgstr "Utilisez à la place ALTER TABLE ... ALTER COLUMN ... DROP EXTENSION." -#: commands/tablecmds.c:7753 +#: commands/tablecmds.c:7756 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "la colonne « %s » de la relation « %s » doit être déclarée NOT NULL avant que la colonne identité puisse être ajoutée" -#: commands/tablecmds.c:7759 +#: commands/tablecmds.c:7762 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "la colonne « %s » de la relation « %s » est déjà une colonne d'identité" -#: commands/tablecmds.c:7765 +#: commands/tablecmds.c:7768 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "la colonne « %s » de la relation « %s » a déjà une valeur par défaut" -#: commands/tablecmds.c:7842 commands/tablecmds.c:7903 +#: commands/tablecmds.c:7845 commands/tablecmds.c:7906 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne d'identité" -#: commands/tablecmds.c:7908 +#: commands/tablecmds.c:7911 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne d'identité, poursuite du traitement" -#: commands/tablecmds.c:7961 +#: commands/tablecmds.c:7964 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION doit aussi être appliqué aux tables filles" -#: commands/tablecmds.c:7983 +#: commands/tablecmds.c:7986 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "ne peut pas supprimer l'expression de génération à partir d'une colonne héritée" -#: commands/tablecmds.c:8022 +#: commands/tablecmds.c:8025 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne générée stockée" -#: commands/tablecmds.c:8027 +#: commands/tablecmds.c:8030 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "la colonne « %s » de la relation « %s » n'est pas une colonne générée stockée, ignoré" -#: commands/tablecmds.c:8100 +#: commands/tablecmds.c:8103 #, c-format msgid "cannot refer to non-index column by number" msgstr "impossible de référencer une colonne non liée à une table par un nombre" -#: commands/tablecmds.c:8143 +#: commands/tablecmds.c:8146 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "la colonne numéro %d de la relation « %s » n'existe pas" -#: commands/tablecmds.c:8162 +#: commands/tablecmds.c:8165 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "ne peut modifier les statistiques sur la colonne incluse « %s » de l'index « %s »" -#: commands/tablecmds.c:8167 +#: commands/tablecmds.c:8170 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "ne peut modifier les statistiques sur la colonne « %s » de l'index « %s », qui n'est pas une expression" -#: commands/tablecmds.c:8169 +#: commands/tablecmds.c:8172 #, c-format msgid "Alter statistics on table column instead." msgstr "Modifiez les statistiques sur la colonne de la table à la place." -#: commands/tablecmds.c:8359 +#: commands/tablecmds.c:8362 #, c-format msgid "invalid storage type \"%s\"" msgstr "type de stockage « %s » invalide" -#: commands/tablecmds.c:8391 +#: commands/tablecmds.c:8394 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "le type de données %s de la colonne peut seulement avoir un stockage PLAIN" -#: commands/tablecmds.c:8436 +#: commands/tablecmds.c:8439 #, c-format msgid "cannot drop column from typed table" msgstr "ne peut pas supprimer une colonne à une table typée" -#: commands/tablecmds.c:8495 +#: commands/tablecmds.c:8502 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "la colonne « %s » de la relation « %s » n'existe pas, ignore" -#: commands/tablecmds.c:8508 +#: commands/tablecmds.c:8515 #, c-format msgid "cannot drop system column \"%s\"" msgstr "ne peut pas supprimer la colonne système « %s »" -#: commands/tablecmds.c:8518 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "ne peut pas supprimer la colonne héritée « %s »" -#: commands/tablecmds.c:8531 +#: commands/tablecmds.c:8538 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "ne peut supprimer la colonne « %s » car elle fait partie de la clé de partitionnement de la relation « %s »" -#: commands/tablecmds.c:8556 +#: commands/tablecmds.c:8563 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "ne peut pas supprimer une colonne sur une seule partition quand plusieurs partitions existent" -#: commands/tablecmds.c:8760 +#: commands/tablecmds.c:8767 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX n'est pas supporté sur les tables partitionnées" -#: commands/tablecmds.c:8785 +#: commands/tablecmds.c:8792 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX renommera l'index « %s » en « %s »" -#: commands/tablecmds.c:9122 +#: commands/tablecmds.c:9129 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "ne peut pas utiliser ONLY pour une clé étrangère sur la table partitionnée « %s » référençant la relation « %s »" -#: commands/tablecmds.c:9128 +#: commands/tablecmds.c:9135 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "ne peut pas ajouter de clé étrangère NOT VALID sur la table partitionnée « %s » référençant la relation « %s »" -#: commands/tablecmds.c:9131 +#: commands/tablecmds.c:9138 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Cette fonctionnalité n'est pas encore implémentée sur les tables partitionnées." -#: commands/tablecmds.c:9138 commands/tablecmds.c:9604 +#: commands/tablecmds.c:9145 commands/tablecmds.c:9611 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "la relation référencée « %s » n'est pas une table" -#: commands/tablecmds.c:9161 +#: commands/tablecmds.c:9168 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "les contraintes sur les tables permanentes peuvent seulement référencer des tables permanentes" -#: commands/tablecmds.c:9168 +#: commands/tablecmds.c:9175 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "les contraintes sur les tables non tracées peuvent seulement référencer des tables permanentes ou non tracées" -#: commands/tablecmds.c:9174 +#: commands/tablecmds.c:9181 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "" "les contraintes sur des tables temporaires ne peuvent référencer que des\n" "tables temporaires" -#: commands/tablecmds.c:9178 +#: commands/tablecmds.c:9185 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "" "les contraintes sur des tables temporaires doivent référencer les tables\n" "temporaires de cette session" -#: commands/tablecmds.c:9252 commands/tablecmds.c:9258 +#: commands/tablecmds.c:9259 commands/tablecmds.c:9265 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "action %s invalide pour une clé étrangère contenant une colonne générée" -#: commands/tablecmds.c:9274 +#: commands/tablecmds.c:9281 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "nombre de colonnes de référence et référencées pour la clé étrangère en désaccord" -#: commands/tablecmds.c:9381 +#: commands/tablecmds.c:9388 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "la contrainte de clé étrangère « %s » ne peut pas être implémentée" -#: commands/tablecmds.c:9383 +#: commands/tablecmds.c:9390 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Les colonnes clés « %s » et « %s » sont de types incompatibles : %s et %s." -#: commands/tablecmds.c:9540 +#: commands/tablecmds.c:9547 #, fuzzy, c-format #| msgid "column \"%s\" referenced in statistics does not exist" msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "la colonne « %s » référencée dans les statistiques n'existe pas" -#: commands/tablecmds.c:9813 commands/tablecmds.c:10281 -#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:925 +#: commands/tablecmds.c:9820 commands/tablecmds.c:10288 parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:934 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "les clés étrangères ne sont pas supportées par les tables distantes" -#: commands/tablecmds.c:10833 commands/tablecmds.c:11111 -#: commands/tablecmds.c:12029 commands/tablecmds.c:12104 +#: commands/tablecmds.c:10840 commands/tablecmds.c:11121 commands/tablecmds.c:12046 commands/tablecmds.c:12121 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "la contrainte « %s » de la relation « %s » n'existe pas" -#: commands/tablecmds.c:10840 +#: commands/tablecmds.c:10847 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "la contrainte « %s » de la relation « %s » n'est pas une clé étrangère" -#: commands/tablecmds.c:10878 +#: commands/tablecmds.c:10885 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "ne peut pas modifier la contrainte « %s » de la relation « %s »" -#: commands/tablecmds.c:10881 +#: commands/tablecmds.c:10888 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "La contrainte « %s » est dérivée de la contrainte « %s » de la relation « %s »" -#: commands/tablecmds.c:10883 +#: commands/tablecmds.c:10890 #, c-format msgid "You may alter the constraint it derives from, instead." msgstr "Vous pouvez modifier la contrainte dont elle dérive à la place." -#: commands/tablecmds.c:11119 +#: commands/tablecmds.c:11129 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "la contrainte « %s » de la relation « %s » n'est pas une clé étrangère ou une contrainte de vérification" -#: commands/tablecmds.c:11197 +#: commands/tablecmds.c:11207 #, c-format msgid "constraint must be validated on child tables too" msgstr "la contrainte doit aussi être validée sur les tables enfants" -#: commands/tablecmds.c:11287 +#: commands/tablecmds.c:11297 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "la colonne « %s » référencée dans la contrainte de clé étrangère n'existe pas" -#: commands/tablecmds.c:11293 +#: commands/tablecmds.c:11303 #, fuzzy, c-format #| msgid "system columns cannot be used in an ON CONFLICT clause" msgid "system columns cannot be used in foreign keys" msgstr "les colonnes systèmes ne peuvent pas être utilisées dans une clause ON CONFLICT" -#: commands/tablecmds.c:11297 +#: commands/tablecmds.c:11307 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "ne peut pas avoir plus de %d clés dans une clé étrangère" -#: commands/tablecmds.c:11363 +#: commands/tablecmds.c:11373 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "ne peut pas utiliser une clé primaire déferrable pour la table « %s » référencée" -#: commands/tablecmds.c:11380 +#: commands/tablecmds.c:11390 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "il n'y a pas de clé primaire pour la table « %s » référencée" -#: commands/tablecmds.c:11445 +#: commands/tablecmds.c:11459 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "la liste de colonnes référencées dans la clé étrangère ne doit pas contenir de duplicats" -#: commands/tablecmds.c:11539 +#: commands/tablecmds.c:11553 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "" "ne peut pas utiliser une contrainte unique déferrable pour la table\n" "référencée « %s »" -#: commands/tablecmds.c:11544 +#: commands/tablecmds.c:11558 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "il n'existe aucune contrainte unique correspondant aux clés données pour la table « %s » référencée" -#: commands/tablecmds.c:11985 +#: commands/tablecmds.c:12002 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "ne peut pas supprimer la contrainte héritée « %s » de la relation « %s »" -#: commands/tablecmds.c:12035 +#: commands/tablecmds.c:12052 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "la contrainte « %s » de la relation « %s » n'existe pas, ignore" -#: commands/tablecmds.c:12211 +#: commands/tablecmds.c:12228 #, c-format msgid "cannot alter column type of typed table" msgstr "ne peut pas modifier le type d'une colonne appartenant à une table typée" -#: commands/tablecmds.c:12238 +#: commands/tablecmds.c:12255 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "ne peut pas modifier la colonne héritée « %s »" -#: commands/tablecmds.c:12247 +#: commands/tablecmds.c:12264 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "ne peut pas modifier la colonne « %s » car elle fait partie de la clé de partitionnement de la relation « %s »" -#: commands/tablecmds.c:12297 +#: commands/tablecmds.c:12314 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "le résultat de la clause USING pour la colonne « %s » ne peut pas être converti automatiquement vers le type %s" -#: commands/tablecmds.c:12300 +#: commands/tablecmds.c:12317 #, c-format msgid "You might need to add an explicit cast." msgstr "Vous pouvez avoir besoin d'ajouter une conversion explicite." -#: commands/tablecmds.c:12304 +#: commands/tablecmds.c:12321 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "la colonne « %s » ne peut pas être convertie vers le type %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12307 +#: commands/tablecmds.c:12324 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Vous pouvez avoir besoin de spécifier \"USING %s::%s\"." -#: commands/tablecmds.c:12406 +#: commands/tablecmds.c:12423 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "ne peut pas modifier la colonne héritée « %s » de la relation « %s »" -#: commands/tablecmds.c:12434 +#: commands/tablecmds.c:12451 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "l'expression USING contient une référence de table de ligne complète." -#: commands/tablecmds.c:12445 +#: commands/tablecmds.c:12462 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "le type de colonne héritée « %s » doit aussi être renommée pour les tables filles" -#: commands/tablecmds.c:12570 +#: commands/tablecmds.c:12587 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "ne peut pas modifier la colonne « %s » deux fois" -#: commands/tablecmds.c:12608 +#: commands/tablecmds.c:12625 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "l'expression de génération de la colonne « %s » ne peut pas être convertie vers le type %s automatiquement" -#: commands/tablecmds.c:12613 +#: commands/tablecmds.c:12630 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "" "la valeur par défaut de la colonne « %s » ne peut pas être convertie vers le\n" "type %s automatiquement" -#: commands/tablecmds.c:12694 -#, c-format -msgid "cannot alter type of a column used by a view or rule" +#: commands/tablecmds.c:12718 +#, fuzzy, c-format +#| msgid "cannot alter type of a column used by a view or rule" +msgid "cannot alter type of a column used by a function or procedure" msgstr "ne peut pas modifier le type d'une colonne utilisée dans une vue ou une règle" -#: commands/tablecmds.c:12695 commands/tablecmds.c:12714 -#: commands/tablecmds.c:12732 +#: commands/tablecmds.c:12719 commands/tablecmds.c:12733 commands/tablecmds.c:12752 commands/tablecmds.c:12770 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s dépend de la colonne « %s »" -#: commands/tablecmds.c:12713 +#: commands/tablecmds.c:12732 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "ne peut pas modifier le type d'une colonne utilisée dans une vue ou une règle" + +#: commands/tablecmds.c:12751 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "ne peut pas modifier le type d'une colonne utilisée dans la définition d'un trigger" -#: commands/tablecmds.c:12731 +#: commands/tablecmds.c:12769 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "ne peut pas modifier le type d'une colonne utilisée dans la définition d'une politique" -#: commands/tablecmds.c:12762 +#: commands/tablecmds.c:12800 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "ne peut pas modifier le type d'une colonne utilisée dans colonne générée" -#: commands/tablecmds.c:12763 +#: commands/tablecmds.c:12801 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "La colonne « %s » est utilisée par la colonne générée « %s »" -#: commands/tablecmds.c:13840 commands/tablecmds.c:13852 +#: commands/tablecmds.c:13877 commands/tablecmds.c:13889 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "ne peut pas modifier le propriétaire de l'index « %s »" -#: commands/tablecmds.c:13842 commands/tablecmds.c:13854 +#: commands/tablecmds.c:13879 commands/tablecmds.c:13891 #, c-format msgid "Change the ownership of the index's table, instead." msgstr "Modifier à la place le propriétaire de la table concernée par l'index." -#: commands/tablecmds.c:13868 +#: commands/tablecmds.c:13905 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "ne peut pas modifier le propriétaire de la séquence « %s »" -#: commands/tablecmds.c:13882 commands/tablecmds.c:17201 -#: commands/tablecmds.c:17220 +#: commands/tablecmds.c:13919 commands/tablecmds.c:17233 commands/tablecmds.c:17252 #, c-format msgid "Use ALTER TYPE instead." msgstr "Utilisez ALTER TYPE à la place." -#: commands/tablecmds.c:13891 +#: commands/tablecmds.c:13928 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "ne peut pas modifier le propriétaire de la relation « %s »" -#: commands/tablecmds.c:14253 +#: commands/tablecmds.c:14290 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "ne peut pas avoir de nombreuses sous-commandes SET TABLESPACE" -#: commands/tablecmds.c:14330 +#: commands/tablecmds.c:14367 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "ne peut pas configurer les options de la relation « %s »" -#: commands/tablecmds.c:14364 commands/view.c:521 +#: commands/tablecmds.c:14401 commands/view.c:521 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION est uniquement accepté pour les vues dont la mise à jour est automatique" -#: commands/tablecmds.c:14614 +#: commands/tablecmds.c:14651 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "seuls les tables, index et vues matérialisées existent dans les tablespaces" -#: commands/tablecmds.c:14626 +#: commands/tablecmds.c:14663 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "ne peut pas déplacer les relations dans ou à partir du tablespace pg_global" -#: commands/tablecmds.c:14718 +#: commands/tablecmds.c:14755 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "annulation car le verrou sur la relation « %s.%s » n'est pas disponible" -#: commands/tablecmds.c:14734 +#: commands/tablecmds.c:14771 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "aucune relation correspondante trouvée dans le tablespace « %s »" -#: commands/tablecmds.c:14852 +#: commands/tablecmds.c:14889 #, c-format msgid "cannot change inheritance of typed table" msgstr "ne peut pas modifier l'héritage d'une table typée" -#: commands/tablecmds.c:14857 commands/tablecmds.c:15413 +#: commands/tablecmds.c:14894 commands/tablecmds.c:15450 #, c-format msgid "cannot change inheritance of a partition" msgstr "ne peut pas modifier l'héritage d'une partition" -#: commands/tablecmds.c:14862 +#: commands/tablecmds.c:14899 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "ne peut pas modifier l'héritage d'une table partitionnée" -#: commands/tablecmds.c:14908 +#: commands/tablecmds.c:14945 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "ne peut pas hériter à partir d'une relation temporaire d'une autre session" -#: commands/tablecmds.c:14921 +#: commands/tablecmds.c:14958 #, c-format msgid "cannot inherit from a partition" msgstr "ne peut pas hériter d'une partition" -#: commands/tablecmds.c:14943 commands/tablecmds.c:17854 +#: commands/tablecmds.c:14980 commands/tablecmds.c:17888 #, c-format msgid "circular inheritance not allowed" msgstr "héritage circulaire interdit" -#: commands/tablecmds.c:14944 commands/tablecmds.c:17855 +#: commands/tablecmds.c:14981 commands/tablecmds.c:17889 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "« %s » est déjà un enfant de « %s »." -#: commands/tablecmds.c:14957 +#: commands/tablecmds.c:14994 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "le trigger « %s » empêche la table « %s » de devenir une fille dans l'héritage" -#: commands/tablecmds.c:14959 +#: commands/tablecmds.c:14996 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "les triggers ROW avec des tables de transition ne sont pas supportés dans les hiérarchies d'héritage." -#: commands/tablecmds.c:15162 +#: commands/tablecmds.c:15199 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "la colonne « %s » de la table enfant doit être marquée comme NOT NULL" -#: commands/tablecmds.c:15171 +#: commands/tablecmds.c:15208 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "la colonne « %s » de la table enfant doit être une colonne générée" -#: commands/tablecmds.c:15221 +#: commands/tablecmds.c:15258 #, c-format msgid "column \"%s\" in child table has a conflicting generation expression" msgstr "la colonne « %s » de la table enfant a une expression de génération en conflit" -#: commands/tablecmds.c:15249 +#: commands/tablecmds.c:15286 #, c-format msgid "child table is missing column \"%s\"" msgstr "la table enfant n'a pas de colonne « %s »" -#: commands/tablecmds.c:15337 +#: commands/tablecmds.c:15374 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "la table fille « %s » a un type différent pour la contrainte de vérification « %s »" -#: commands/tablecmds.c:15345 +#: commands/tablecmds.c:15382 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "la contrainte « %s » entre en conflit avec une contrainte non héritée sur la table fille « %s »" -#: commands/tablecmds.c:15356 +#: commands/tablecmds.c:15393 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "la contrainte « %s » entre en conflit avec une contrainte NOT VALID sur la table fille « %s »" -#: commands/tablecmds.c:15391 +#: commands/tablecmds.c:15428 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "la table enfant n'a pas de contrainte « %s »" -#: commands/tablecmds.c:15477 +#: commands/tablecmds.c:15514 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "la partition « %s » déjà en attente de détachement de la table partitionnée « %s.%s »" -#: commands/tablecmds.c:15506 commands/tablecmds.c:15554 +#: commands/tablecmds.c:15543 commands/tablecmds.c:15591 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "la relation « %s » n'est pas une partition de la relation « %s »" -#: commands/tablecmds.c:15560 +#: commands/tablecmds.c:15597 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "la relation « %s » n'est pas un parent de la relation « %s »" -#: commands/tablecmds.c:15788 +#: commands/tablecmds.c:15825 #, c-format msgid "typed tables cannot inherit" msgstr "les tables avec type ne peuvent pas hériter d'autres tables" -#: commands/tablecmds.c:15818 +#: commands/tablecmds.c:15855 #, c-format msgid "table is missing column \"%s\"" msgstr "la colonne « %s » manque à la table" -#: commands/tablecmds.c:15829 +#: commands/tablecmds.c:15866 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "la table a une colonne « %s » alors que le type impose « %s »" -#: commands/tablecmds.c:15838 +#: commands/tablecmds.c:15875 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "la table « %s » a un type différent pour la colonne « %s »" -#: commands/tablecmds.c:15852 +#: commands/tablecmds.c:15889 #, c-format msgid "table has extra column \"%s\"" msgstr "la table a une colonne supplémentaire « %s »" -#: commands/tablecmds.c:15904 +#: commands/tablecmds.c:15941 #, c-format msgid "\"%s\" is not a typed table" msgstr "« %s » n'est pas une table typée" -#: commands/tablecmds.c:16078 +#: commands/tablecmds.c:16115 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "ne peut pas utiliser l'index non unique « %s » comme identité de réplicat" -#: commands/tablecmds.c:16084 +#: commands/tablecmds.c:16121 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "ne peut pas utiliser l'index « %s » immédiat comme identité de réplicat" -#: commands/tablecmds.c:16090 +#: commands/tablecmds.c:16127 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "ne peut pas utiliser un index par expression « %s » comme identité de réplicat" -#: commands/tablecmds.c:16096 +#: commands/tablecmds.c:16133 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "ne peut pas utiliser l'index partiel « %s » comme identité de réplicat" -#: commands/tablecmds.c:16113 +#: commands/tablecmds.c:16150 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "l'index « %s » ne peut pas être utilisé comme identité de réplicat car la colonne %d est une colonne système" -#: commands/tablecmds.c:16120 +#: commands/tablecmds.c:16157 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "l'index « %s » ne peut pas être utilisé comme identité de réplicat car la colonne « %s » peut être NULL" -#: commands/tablecmds.c:16367 +#: commands/tablecmds.c:16404 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "ne peut pas modifier le statut de journalisation de la table « %s » parce qu'elle est temporaire" -#: commands/tablecmds.c:16391 +#: commands/tablecmds.c:16428 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "ne peut pas modifier la table « %s » en non journalisée car elle fait partie d'une publication" -#: commands/tablecmds.c:16393 +#: commands/tablecmds.c:16430 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Les relations non journalisées ne peuvent pas être répliquées." -#: commands/tablecmds.c:16438 +#: commands/tablecmds.c:16475 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "n'a pas pu passer la table « %s » en journalisé car elle référence la table non journalisée « %s »" -#: commands/tablecmds.c:16448 +#: commands/tablecmds.c:16485 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "n'a pas pu passer la table « %s » en non journalisé car elle référence la table journalisée « %s »" -#: commands/tablecmds.c:16506 +#: commands/tablecmds.c:16543 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "ne peut pas déplacer une séquence OWNED BY dans un autre schéma" -#: commands/tablecmds.c:16613 +#: commands/tablecmds.c:16645 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "la relation « %s » existe déjà dans le schéma « %s »" -#: commands/tablecmds.c:17034 +#: commands/tablecmds.c:17066 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "« %s » n'est ni une table ni une vue matérialisée" -#: commands/tablecmds.c:17184 +#: commands/tablecmds.c:17216 #, c-format msgid "\"%s\" is not a composite type" msgstr "« %s » n'est pas un type composite" -#: commands/tablecmds.c:17212 +#: commands/tablecmds.c:17244 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "ne peut pas modifier le schéma de l'index « %s »" -#: commands/tablecmds.c:17214 commands/tablecmds.c:17226 +#: commands/tablecmds.c:17246 commands/tablecmds.c:17258 #, c-format msgid "Change the schema of the table instead." msgstr "Modifier à la place le propriétaire de la table." -#: commands/tablecmds.c:17218 +#: commands/tablecmds.c:17250 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "ne peut pas modifier le schéma du type composite « %s »" -#: commands/tablecmds.c:17224 +#: commands/tablecmds.c:17256 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "ne peut pas modifier la schéma de la table TOAST « %s »" -#: commands/tablecmds.c:17261 +#: commands/tablecmds.c:17293 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "stratégie de partitionnement « %s » non reconnue" -#: commands/tablecmds.c:17269 +#: commands/tablecmds.c:17301 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "ne peut pas utiliser la stratégie de partitionnement « list » avec plus d'une colonne" -#: commands/tablecmds.c:17335 +#: commands/tablecmds.c:17367 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "la colonne « %s » nommée dans la clé de partitionnement n'existe pas" -#: commands/tablecmds.c:17343 +#: commands/tablecmds.c:17375 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "ne peut pas utiliser la colonne système « %s » comme clé de partitionnement" -#: commands/tablecmds.c:17354 commands/tablecmds.c:17468 +#: commands/tablecmds.c:17386 commands/tablecmds.c:17476 #, c-format msgid "cannot use generated column in partition key" msgstr "ne peut pas utiliser une colonne générée dans une clé de partitionnement" -#: commands/tablecmds.c:17355 commands/tablecmds.c:17469 commands/trigger.c:668 -#: rewrite/rewriteHandler.c:929 rewrite/rewriteHandler.c:964 +#: commands/tablecmds.c:17387 commands/tablecmds.c:17477 commands/trigger.c:668 rewrite/rewriteHandler.c:929 rewrite/rewriteHandler.c:964 #, c-format msgid "Column \"%s\" is a generated column." msgstr "la colonne « %s » est une colonne générée." -#: commands/tablecmds.c:17431 +#: commands/tablecmds.c:17459 +#, c-format +msgid "partition key expressions cannot contain system column references" +msgstr "les expressions de la clé de partitionnement ne peuvent pas contenir des références aux colonnes systèmes" + +#: commands/tablecmds.c:17506 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "" "les fonctions dans une expression de clé de partitionnement doivent être marquées comme\n" "IMMUTABLE" -#: commands/tablecmds.c:17451 -#, c-format -msgid "partition key expressions cannot contain system column references" -msgstr "les expressions de la clé de partitionnement ne peuvent pas contenir des références aux colonnes systèmes" - -#: commands/tablecmds.c:17481 +#: commands/tablecmds.c:17515 #, c-format msgid "cannot use constant expression as partition key" msgstr "ne peut pas utiliser une expression constante comme clé de partitionnement" -#: commands/tablecmds.c:17502 +#: commands/tablecmds.c:17536 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "n'a pas pu déterminer le collationnement à utiliser pour l'expression de partitionnement" -#: commands/tablecmds.c:17537 +#: commands/tablecmds.c:17571 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "" "Vous devez spécifier une classe d'opérateur hash ou définir une\n" "classe d'opérateur hash par défaut pour le type de données." -#: commands/tablecmds.c:17543 +#: commands/tablecmds.c:17577 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "" "Vous devez spécifier une classe d'opérateur btree ou définir une\n" "classe d'opérateur btree par défaut pour le type de données." -#: commands/tablecmds.c:17794 +#: commands/tablecmds.c:17828 #, c-format msgid "\"%s\" is already a partition" msgstr "« %s » est déjà une partition" -#: commands/tablecmds.c:17800 +#: commands/tablecmds.c:17834 #, c-format msgid "cannot attach a typed table as partition" msgstr "ne peut pas attacher une table typée à une partition" -#: commands/tablecmds.c:17816 +#: commands/tablecmds.c:17850 #, c-format msgid "cannot attach inheritance child as partition" msgstr "ne peut pas ajouter la table en héritage comme une partition" -#: commands/tablecmds.c:17830 +#: commands/tablecmds.c:17864 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "ne peut pas attacher le parent d'héritage comme partition" -#: commands/tablecmds.c:17864 +#: commands/tablecmds.c:17898 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "ne peut pas attacher une relation temporaire comme partition de la relation permanente « %s »" -#: commands/tablecmds.c:17872 +#: commands/tablecmds.c:17906 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "ne peut pas attacher une relation permanente comme partition de la relation temporaire « %s »" -#: commands/tablecmds.c:17880 +#: commands/tablecmds.c:17914 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "ne peut pas attacher comme partition d'une relation temporaire d'une autre session" -#: commands/tablecmds.c:17887 +#: commands/tablecmds.c:17921 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "ne peut pas attacher une relation temporaire d'une autre session comme partition" -#: commands/tablecmds.c:17907 +#: commands/tablecmds.c:17941 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "la table « %s » contient la colonne « %s » introuvable dans le parent « %s »" -#: commands/tablecmds.c:17910 +#: commands/tablecmds.c:17944 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "La nouvelle partition pourrait seulement contenir les colonnes présentes dans le parent." -#: commands/tablecmds.c:17922 +#: commands/tablecmds.c:17956 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "le trigger « %s » empêche la table « %s » de devenir une partition" -#: commands/tablecmds.c:17924 +#: commands/tablecmds.c:17958 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "les triggers ROW avec des tables de transition ne sont pas supportés sur les partitions." -#: commands/tablecmds.c:18103 +#: commands/tablecmds.c:18137 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "ne peut pas attacher la table distante « %s » comme partition de la table partitionnée « %s »" -#: commands/tablecmds.c:18106 +#: commands/tablecmds.c:18140 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "La table partitionnée « %s » contient des index uniques." -#: commands/tablecmds.c:18421 +#: commands/tablecmds.c:18455 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "ne peut pas détacher les partitions en parallèle quand une partition par défaut existe" -#: commands/tablecmds.c:18530 +#: commands/tablecmds.c:18564 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "la table partitionnée « %s » a été supprimée de manière concurrente" -#: commands/tablecmds.c:18536 +#: commands/tablecmds.c:18570 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "la partition « %s » a été supprimée de façon concurrente" -#: commands/tablecmds.c:19051 commands/tablecmds.c:19071 -#: commands/tablecmds.c:19091 commands/tablecmds.c:19110 -#: commands/tablecmds.c:19152 +#: commands/tablecmds.c:19085 commands/tablecmds.c:19105 commands/tablecmds.c:19125 commands/tablecmds.c:19144 commands/tablecmds.c:19186 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "ne peut pas attacher l'index « %s » comme une partition de l'index « %s »" -#: commands/tablecmds.c:19054 +#: commands/tablecmds.c:19088 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "L'index « %s » est déjà attaché à un autre index." -#: commands/tablecmds.c:19074 +#: commands/tablecmds.c:19108 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "L'index « %s » n'est un index sur aucune des partitions de la table « %s »." -#: commands/tablecmds.c:19094 +#: commands/tablecmds.c:19128 #, c-format msgid "The index definitions do not match." msgstr "La définition de l'index correspond pas." -#: commands/tablecmds.c:19113 +#: commands/tablecmds.c:19147 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "L'index « %s » appartient à une contrainte dans la table « %s » mais aucune contrainte n'existe pour l'index « %s »." -#: commands/tablecmds.c:19155 +#: commands/tablecmds.c:19189 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "Un autre index est déjà attaché pour la partition « %s »." -#: commands/tablecmds.c:19392 +#: commands/tablecmds.c:19426 #, c-format msgid "column data type %s does not support compression" msgstr "le type de données %s ne supporte pas la compression" -#: commands/tablecmds.c:19399 +#: commands/tablecmds.c:19433 #, c-format msgid "invalid compression method \"%s\"" msgstr "méthode de compression « %s » invalide" @@ -11631,9 +11246,7 @@ msgstr "le tablespace « %s » existe déjà " msgid "pg_tablespace OID value not set when in binary upgrade mode" msgstr "OID de pg_tablespace non configuré en mode de mise à jour binaire" -#: commands/tablespace.c:441 commands/tablespace.c:979 -#: commands/tablespace.c:1068 commands/tablespace.c:1137 -#: commands/tablespace.c:1283 commands/tablespace.c:1486 +#: commands/tablespace.c:441 commands/tablespace.c:979 commands/tablespace.c:1068 commands/tablespace.c:1137 commands/tablespace.c:1283 commands/tablespace.c:1486 #, c-format msgid "tablespace \"%s\" does not exist" msgstr "le tablespace « %s » n'existe pas" @@ -11673,9 +11286,7 @@ msgstr "n'a pas pu configurer les droits du répertoire « %s » : %m" msgid "directory \"%s\" already in use as a tablespace" msgstr "répertoire « %s » déjà utilisé comme tablespace" -#: commands/tablespace.c:788 commands/tablespace.c:801 -#: commands/tablespace.c:837 commands/tablespace.c:929 storage/file/fd.c:3255 -#: storage/file/fd.c:3669 +#: commands/tablespace.c:788 commands/tablespace.c:801 commands/tablespace.c:837 commands/tablespace.c:929 storage/file/fd.c:3255 storage/file/fd.c:3669 #, c-format msgid "could not remove directory \"%s\": %m" msgstr "n'a pas pu supprimer le répertoire « %s » : %m" @@ -11740,8 +11351,7 @@ msgstr "Les vues ne peuvent pas avoir de trigger BEFORE ou AFTER au niveau ligne msgid "Views cannot have TRUNCATE triggers." msgstr "Les vues ne peuvent pas avoir de triggers TRUNCATE." -#: commands/trigger.c:295 commands/trigger.c:302 commands/trigger.c:314 -#: commands/trigger.c:449 +#: commands/trigger.c:295 commands/trigger.c:302 commands/trigger.c:314 commands/trigger.c:449 #, c-format msgid "\"%s\" is a foreign table" msgstr "« %s » est une table distante" @@ -11938,8 +11548,7 @@ msgstr "droit refusé : « %s » est un trigger système" msgid "trigger function %u returned null value" msgstr "la fonction trigger %u a renvoyé la valeur NULL" -#: commands/trigger.c:2509 commands/trigger.c:2727 commands/trigger.c:2995 -#: commands/trigger.c:3346 +#: commands/trigger.c:2509 commands/trigger.c:2727 commands/trigger.c:2995 commands/trigger.c:3364 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "un trigger BEFORE STATEMENT ne peut pas renvoyer une valeur" @@ -11954,142 +11563,134 @@ msgstr "le déplacement de la ligne vers une autre partition par un trigger BEFO msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "Avant d'exécuter le trigger « %s », la ligne devait aller dans la partition « %s.%s »." -#: commands/trigger.c:3423 executor/nodeModifyTable.c:2344 -#: executor/nodeModifyTable.c:2427 +#: commands/trigger.c:3441 executor/nodeModifyTable.c:2350 executor/nodeModifyTable.c:2433 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "la ligne à mettre à jour était déjà modifiée par une opération déclenchée par la commande courante" -#: commands/trigger.c:3424 executor/nodeModifyTable.c:1510 -#: executor/nodeModifyTable.c:1584 executor/nodeModifyTable.c:2345 -#: executor/nodeModifyTable.c:2428 executor/nodeModifyTable.c:3059 +#: commands/trigger.c:3442 executor/nodeModifyTable.c:1514 executor/nodeModifyTable.c:1588 executor/nodeModifyTable.c:2351 executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:2971 executor/nodeModifyTable.c:3098 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Considérez l'utilisation d'un trigger AFTER au lieu d'un trigger BEFORE pour propager les changements sur les autres lignes." -#: commands/trigger.c:3465 executor/nodeLockRows.c:229 -#: executor/nodeLockRows.c:238 executor/nodeModifyTable.c:308 -#: executor/nodeModifyTable.c:1526 executor/nodeModifyTable.c:2362 -#: executor/nodeModifyTable.c:2570 +#: commands/trigger.c:3483 executor/nodeLockRows.c:229 executor/nodeLockRows.c:238 executor/nodeModifyTable.c:308 executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:2368 executor/nodeModifyTable.c:2576 #, c-format msgid "could not serialize access due to concurrent update" msgstr "n'a pas pu sérialiser un accès à cause d'une mise à jour en parallèle" -#: commands/trigger.c:3473 executor/nodeModifyTable.c:1616 -#: executor/nodeModifyTable.c:2445 executor/nodeModifyTable.c:2594 -#: executor/nodeModifyTable.c:2947 +#: commands/trigger.c:3491 executor/nodeModifyTable.c:1620 executor/nodeModifyTable.c:2451 executor/nodeModifyTable.c:2600 executor/nodeModifyTable.c:2989 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "n'a pas pu sérialiser un accès à cause d'une suppression en parallèle" -#: commands/trigger.c:4680 +#: commands/trigger.c:4698 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "ne peut pas déclencher un trigger déferré à l'intérieur d'une opération restreinte pour sécurité" -#: commands/trigger.c:5863 +#: commands/trigger.c:5881 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "la contrainte « %s » n'est pas DEFERRABLE" -#: commands/trigger.c:5886 +#: commands/trigger.c:5904 #, c-format msgid "constraint \"%s\" does not exist" msgstr "la contrainte « %s » n'existe pas" -#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635 +#: commands/tsearchcmds.c:124 commands/tsearchcmds.c:641 #, c-format msgid "function %s should return type %s" msgstr "la fonction %s doit renvoyer le type %s" -#: commands/tsearchcmds.c:194 +#: commands/tsearchcmds.c:200 #, c-format msgid "must be superuser to create text search parsers" msgstr "doit être super-utilisateur pour créer des analyseurs de recherche plein texte" -#: commands/tsearchcmds.c:247 +#: commands/tsearchcmds.c:253 #, c-format msgid "text search parser parameter \"%s\" not recognized" msgstr "paramètre de l'analyseur de recherche plein texte « %s » non reconnu" -#: commands/tsearchcmds.c:257 +#: commands/tsearchcmds.c:263 #, c-format msgid "text search parser start method is required" msgstr "la méthode start de l'analyseur de recherche plein texte est requise" -#: commands/tsearchcmds.c:262 +#: commands/tsearchcmds.c:268 #, c-format msgid "text search parser gettoken method is required" msgstr "la méthode gettoken de l'analyseur de recherche plein texte est requise" -#: commands/tsearchcmds.c:267 +#: commands/tsearchcmds.c:273 #, c-format msgid "text search parser end method is required" msgstr "la méthode end l'analyseur de recherche de texte est requise" -#: commands/tsearchcmds.c:272 +#: commands/tsearchcmds.c:278 #, c-format msgid "text search parser lextypes method is required" msgstr "la méthode lextypes de l'analyseur de recherche plein texte est requise" -#: commands/tsearchcmds.c:366 +#: commands/tsearchcmds.c:372 #, c-format msgid "text search template \"%s\" does not accept options" msgstr "le modèle de recherche plein texte « %s » n'accepte pas d'options" -#: commands/tsearchcmds.c:440 +#: commands/tsearchcmds.c:446 #, c-format msgid "text search template is required" msgstr "le modèle de la recherche plein texte est requis" -#: commands/tsearchcmds.c:701 +#: commands/tsearchcmds.c:707 #, c-format msgid "must be superuser to create text search templates" msgstr "doit être super-utilisateur pour créer des modèles de recherche plein texte" -#: commands/tsearchcmds.c:743 +#: commands/tsearchcmds.c:749 #, c-format msgid "text search template parameter \"%s\" not recognized" msgstr "paramètre de modèle de recherche plein texte « %s » non reconnu" -#: commands/tsearchcmds.c:753 +#: commands/tsearchcmds.c:759 #, c-format msgid "text search template lexize method is required" msgstr "la méthode lexize du modèle de recherche plein texte est requise" -#: commands/tsearchcmds.c:933 +#: commands/tsearchcmds.c:939 #, c-format msgid "text search configuration parameter \"%s\" not recognized" msgstr "paramètre de configuration de recherche plein texte « %s » non reconnu" -#: commands/tsearchcmds.c:940 +#: commands/tsearchcmds.c:946 #, c-format msgid "cannot specify both PARSER and COPY options" msgstr "ne peut pas spécifier à la fois PARSER et COPY" -#: commands/tsearchcmds.c:976 +#: commands/tsearchcmds.c:982 #, c-format msgid "text search parser is required" msgstr "l'analyseur de la recherche plein texte est requis" -#: commands/tsearchcmds.c:1200 +#: commands/tsearchcmds.c:1236 #, c-format msgid "token type \"%s\" does not exist" msgstr "le type de jeton « %s » n'existe pas" -#: commands/tsearchcmds.c:1427 +#: commands/tsearchcmds.c:1464 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "la correspondance pour le type de jeton « %s » n'existe pas" -#: commands/tsearchcmds.c:1433 +#: commands/tsearchcmds.c:1470 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "" "la correspondance pour le type de jeton « %s » n'existe pas, poursuite du\n" "traitement" -#: commands/tsearchcmds.c:1596 commands/tsearchcmds.c:1711 +#: commands/tsearchcmds.c:1631 commands/tsearchcmds.c:1746 #, c-format msgid "invalid parameter list format: \"%s\"" msgstr "format de liste de paramètres invalide : « %s »" @@ -12384,8 +11985,7 @@ msgstr "" "la colonne « %s » de la table « %s » contient des valeurs violant la\n" "nouvelle contrainte" -#: commands/typecmds.c:3433 commands/typecmds.c:3633 commands/typecmds.c:3714 -#: commands/typecmds.c:3900 +#: commands/typecmds.c:3433 commands/typecmds.c:3633 commands/typecmds.c:3714 commands/typecmds.c:3900 #, c-format msgid "%s is not a domain" msgstr "%s n'est pas un domaine" @@ -12472,8 +12072,7 @@ msgstr "doit être super-utilisateur pour créer des utilisateurs avec l'attribu msgid "permission denied to create role" msgstr "droit refusé pour créer un rôle" -#: commands/user.c:287 commands/user.c:1139 commands/user.c:1146 gram.y:16437 -#: gram.y:16483 utils/adt/acl.c:5331 utils/adt/acl.c:5337 +#: commands/user.c:287 commands/user.c:1139 commands/user.c:1146 gram.y:16437 gram.y:16483 utils/adt/acl.c:5331 utils/adt/acl.c:5337 #, c-format msgid "role name \"%s\" is reserved" msgstr "le nom du rôle « %s » est réservé" @@ -12542,10 +12141,7 @@ msgstr "droit refusé pour supprimer le rôle" msgid "cannot use special role specifier in DROP ROLE" msgstr "ne peut pas être le spécificateur de rôle spécial dans DROP ROLE" -#: commands/user.c:953 commands/user.c:1110 commands/variable.c:778 -#: commands/variable.c:781 commands/variable.c:865 commands/variable.c:868 -#: utils/adt/acl.c:5186 utils/adt/acl.c:5234 utils/adt/acl.c:5262 -#: utils/adt/acl.c:5281 utils/init/miscinit.c:725 +#: commands/user.c:953 commands/user.c:1110 commands/variable.c:778 commands/variable.c:781 commands/variable.c:865 commands/variable.c:868 utils/adt/acl.c:5186 utils/adt/acl.c:5234 utils/adt/acl.c:5262 utils/adt/acl.c:5281 utils/init/miscinit.c:725 #, c-format msgid "role \"%s\" does not exist" msgstr "le rôle « %s » n'existe pas" @@ -12779,38 +12375,38 @@ msgstr "" "Fermez les transactions ouvertes avec multixacts rapidement pour éviter des problèmes de\n" "réinitialisation." -#: commands/vacuum.c:1807 +#: commands/vacuum.c:1811 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "" "certaines bases de données n'ont pas eu droit à l'opération de maintenance\n" "VACUUM depuis plus de 2 milliards de transactions" -#: commands/vacuum.c:1808 +#: commands/vacuum.c:1812 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "" "Vous pouvez avoir déjà souffert de pertes de données suite à une\n" "réinitialisation de l'identifiant des transactions." -#: commands/vacuum.c:1976 +#: commands/vacuum.c:1980 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "" "ignore « %s » --- n'a pas pu exécuter un VACUUM sur les objets autres que\n" "des tables et les tables systèmes" -#: commands/vacuum.c:2354 +#: commands/vacuum.c:2358 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "a parcouru l'index « %s » pour supprimer %d versions de lignes" -#: commands/vacuum.c:2373 +#: commands/vacuum.c:2377 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "l'index « %s » contient maintenant %.0f versions de ligne dans %u pages" -#: commands/vacuum.c:2377 +#: commands/vacuum.c:2381 #, fuzzy, c-format #| msgid "" #| "%.0f index row versions were removed.\n" @@ -12841,7 +12437,7 @@ msgid_plural "launched %d parallel vacuum workers for index cleanup (planned: %d msgstr[0] "a lancé %d worker parallélisé pour le nettoyage d'index du VACUUM (planifié : %d)" msgstr[1] "a lancé %d workers parallélisés pour le nettoyage d'index du VACUUM (planifié : %d)" -#: commands/variable.c:165 utils/misc/guc.c:12100 utils/misc/guc.c:12178 +#: commands/variable.c:165 utils/misc/guc.c:12115 utils/misc/guc.c:12193 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Mot clé non reconnu : « %s »." @@ -13036,8 +12632,7 @@ msgstr "le curseur « %s » n'a pas de référence FOR UPDATE/SHARE pour la tabl msgid "cursor \"%s\" is not positioned on a row" msgstr "le curseur « %s » n'est pas positionné sur une ligne" -#: executor/execCurrent.c:169 executor/execCurrent.c:228 -#: executor/execCurrent.c:239 +#: executor/execCurrent.c:169 executor/execCurrent.c:228 executor/execCurrent.c:239 #, c-format msgid "cursor \"%s\" is not a simply updatable scan of table \"%s\"" msgstr "le curseur « %s » n'est pas un parcours modifiable de la table « %s »" @@ -13052,11 +12647,7 @@ msgstr "le type de paramètre %d (%s) ne correspond pas à celui préparé dans msgid "no value found for parameter %d" msgstr "aucune valeur trouvée pour le paramètre %d" -#: executor/execExpr.c:636 executor/execExpr.c:643 executor/execExpr.c:649 -#: executor/execExprInterp.c:4062 executor/execExprInterp.c:4079 -#: executor/execExprInterp.c:4178 executor/nodeModifyTable.c:197 -#: executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225 -#: executor/nodeModifyTable.c:233 +#: executor/execExpr.c:636 executor/execExpr.c:643 executor/execExpr.c:649 executor/execExprInterp.c:4062 executor/execExprInterp.c:4079 executor/execExprInterp.c:4178 executor/nodeModifyTable.c:197 executor/nodeModifyTable.c:208 executor/nodeModifyTable.c:225 executor/nodeModifyTable.c:233 #, c-format msgid "table row type and query-specified row type do not match" msgstr "le type de ligne de la table et celui spécifié par la requête ne correspondent pas" @@ -13073,13 +12664,12 @@ msgstr "" "La requête fournit une valeur pour une colonne supprimée à la position\n" "ordinale %d." -#: executor/execExpr.c:650 executor/execExprInterp.c:4080 -#: executor/nodeModifyTable.c:209 +#: executor/execExpr.c:650 executor/execExprInterp.c:4080 executor/nodeModifyTable.c:209 #, c-format msgid "Table has type %s at ordinal position %d, but query expects %s." msgstr "La table a le type %s à la position ordinale %d alors que la requête attend %s." -#: executor/execExpr.c:1098 parser/parse_agg.c:826 +#: executor/execExpr.c:1098 parser/parse_agg.c:837 #, c-format msgid "window function calls cannot be nested" msgstr "les appels à la fonction window ne peuvent pas être imbriqués" @@ -13094,16 +12684,14 @@ msgstr "le type cible n'est pas un tableau" msgid "ROW() column has type %s instead of type %s" msgstr "une colonne ROW() a le type %s au lieu du type %s" -#: executor/execExpr.c:2482 executor/execSRF.c:718 parser/parse_func.c:138 -#: parser/parse_func.c:655 parser/parse_func.c:1031 +#: executor/execExpr.c:2482 executor/execSRF.c:718 parser/parse_func.c:138 parser/parse_func.c:655 parser/parse_func.c:1031 #, c-format msgid "cannot pass more than %d argument to a function" msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "ne peut pas passer plus de %d argument à une fonction" msgstr[1] "ne peut pas passer plus de %d arguments à une fonction" -#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1073 -#: utils/adt/jsonfuncs.c:3699 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 +#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1074 utils/adt/jsonfuncs.c:3699 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "la fonction renvoyant un ensemble a été appelée dans un contexte qui n'accepte pas un ensemble" @@ -13128,16 +12716,12 @@ msgstr "l'attribut %d du type %s a été supprimé" msgid "attribute %d of type %s has wrong type" msgstr "l'attribut %d de type %s a un mauvais type" -#: executor/execExprInterp.c:1926 executor/execExprInterp.c:3060 -#: executor/execExprInterp.c:3106 +#: executor/execExprInterp.c:1926 executor/execExprInterp.c:3060 executor/execExprInterp.c:3106 #, c-format msgid "Table has type %s, but query expects %s." msgstr "La table a le type %s alors que la requête attend %s." -#: executor/execExprInterp.c:2006 utils/adt/expandedrecord.c:99 -#: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 -#: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 -#: utils/fmgr/funcapi.c:570 +#: executor/execExprInterp.c:2006 utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 utils/fmgr/funcapi.c:578 #, c-format msgid "type %s is not composite" msgstr "le type %s n'est pas un type composite" @@ -13157,11 +12741,7 @@ msgstr "ne peut pas fusionner les tableaux incompatibles" msgid "Array with element type %s cannot be included in ARRAY construct with element type %s." msgstr "Le tableau avec le type d'élément %s ne peut pas être inclus dans la construction ARRAY avec le type d'élément %s." -#: executor/execExprInterp.c:2779 utils/adt/arrayfuncs.c:263 -#: utils/adt/arrayfuncs.c:563 utils/adt/arrayfuncs.c:1305 -#: utils/adt/arrayfuncs.c:3373 utils/adt/arrayfuncs.c:5370 -#: utils/adt/arrayfuncs.c:5887 utils/adt/arraysubs.c:150 -#: utils/adt/arraysubs.c:488 +#: executor/execExprInterp.c:2779 utils/adt/arrayfuncs.c:264 utils/adt/arrayfuncs.c:564 utils/adt/arrayfuncs.c:1306 utils/adt/arrayfuncs.c:3422 utils/adt/arrayfuncs.c:5419 utils/adt/arrayfuncs.c:5936 utils/adt/arraysubs.c:150 utils/adt/arraysubs.c:488 #, c-format msgid "number of array dimensions (%d) exceeds the maximum allowed (%d)" msgstr "le nombre de dimensions du tableau (%d) dépasse le maximum autorisé (%d)" @@ -13173,12 +12753,7 @@ msgstr "" "les tableaux multidimensionnels doivent avoir des expressions de tableaux\n" "avec les dimensions correspondantes" -#: executor/execExprInterp.c:2811 utils/adt/array_expanded.c:274 -#: utils/adt/arrayfuncs.c:936 utils/adt/arrayfuncs.c:1544 -#: utils/adt/arrayfuncs.c:3261 utils/adt/arrayfuncs.c:3403 -#: utils/adt/arrayfuncs.c:5979 utils/adt/arrayfuncs.c:6320 -#: utils/adt/arrayutils.c:94 utils/adt/arrayutils.c:103 -#: utils/adt/arrayutils.c:110 +#: executor/execExprInterp.c:2811 utils/adt/array_expanded.c:274 utils/adt/arrayfuncs.c:937 utils/adt/arrayfuncs.c:1545 utils/adt/arrayfuncs.c:2353 utils/adt/arrayfuncs.c:2368 utils/adt/arrayfuncs.c:2630 utils/adt/arrayfuncs.c:2646 utils/adt/arrayfuncs.c:2954 utils/adt/arrayfuncs.c:2969 utils/adt/arrayfuncs.c:3310 utils/adt/arrayfuncs.c:3452 utils/adt/arrayfuncs.c:6028 utils/adt/arrayfuncs.c:6369 utils/adt/arrayutils.c:88 utils/adt/arrayutils.c:97 utils/adt/arrayutils.c:104 #, c-format msgid "array size exceeds the maximum allowed (%d)" msgstr "la taille du tableau dépasse le maximum permis (%d)" @@ -13257,38 +12832,32 @@ msgstr "ne peut pas modifier la séquence « %s »" msgid "cannot change TOAST relation \"%s\"" msgstr "ne peut pas modifier la relation TOAST « %s »" -#: executor/execMain.c:1033 rewrite/rewriteHandler.c:3100 -#: rewrite/rewriteHandler.c:3974 +#: executor/execMain.c:1033 rewrite/rewriteHandler.c:3100 rewrite/rewriteHandler.c:3974 #, c-format msgid "cannot insert into view \"%s\"" msgstr "ne peut pas insérer dans la vue « %s »" -#: executor/execMain.c:1035 rewrite/rewriteHandler.c:3103 -#: rewrite/rewriteHandler.c:3977 +#: executor/execMain.c:1035 rewrite/rewriteHandler.c:3103 rewrite/rewriteHandler.c:3977 #, c-format msgid "To enable inserting into the view, provide an INSTEAD OF INSERT trigger or an unconditional ON INSERT DO INSTEAD rule." msgstr "Pour activer l'insertion dans la vue, fournissez un trigger INSTEAD OF INSERT ou une règle ON INSERT DO INSTEAD sans condition." -#: executor/execMain.c:1041 rewrite/rewriteHandler.c:3108 -#: rewrite/rewriteHandler.c:3982 +#: executor/execMain.c:1041 rewrite/rewriteHandler.c:3108 rewrite/rewriteHandler.c:3982 #, c-format msgid "cannot update view \"%s\"" msgstr "ne peut pas mettre à jour la vue « %s »" -#: executor/execMain.c:1043 rewrite/rewriteHandler.c:3111 -#: rewrite/rewriteHandler.c:3985 +#: executor/execMain.c:1043 rewrite/rewriteHandler.c:3111 rewrite/rewriteHandler.c:3985 #, c-format msgid "To enable updating the view, provide an INSTEAD OF UPDATE trigger or an unconditional ON UPDATE DO INSTEAD rule." msgstr "Pour activer la mise à jour dans la vue, fournissez un trigger INSTEAD OF UPDATE ou une règle ON UPDATE DO INSTEAD sans condition." -#: executor/execMain.c:1049 rewrite/rewriteHandler.c:3116 -#: rewrite/rewriteHandler.c:3990 +#: executor/execMain.c:1049 rewrite/rewriteHandler.c:3116 rewrite/rewriteHandler.c:3990 #, c-format msgid "cannot delete from view \"%s\"" msgstr "ne peut pas supprimer à partir de la vue « %s »" -#: executor/execMain.c:1051 rewrite/rewriteHandler.c:3119 -#: rewrite/rewriteHandler.c:3993 +#: executor/execMain.c:1051 rewrite/rewriteHandler.c:3119 rewrite/rewriteHandler.c:3993 #, c-format msgid "To enable deleting from the view, provide an INSTEAD OF DELETE trigger or an unconditional ON DELETE DO INSTEAD rule." msgstr "Pour activer la suppression dans la vue, fournissez un trigger INSTEAD OF DELETE ou une règle ON DELETE DO INSTEAD sans condition." @@ -13353,8 +12922,7 @@ msgstr "ne peut pas verrouiller les lignes dans la vue « %s »" msgid "cannot lock rows in materialized view \"%s\"" msgstr "ne peut pas verrouiller les lignes dans la vue matérialisée « %s »" -#: executor/execMain.c:1175 executor/execMain.c:2685 -#: executor/nodeLockRows.c:136 +#: executor/execMain.c:1175 executor/execMain.c:2685 executor/nodeLockRows.c:136 #, c-format msgid "cannot lock rows in foreign table \"%s\"" msgstr "ne peut pas verrouiller la table distante « %s »" @@ -13369,8 +12937,7 @@ msgstr "n'a pas pu verrouiller les lignes dans la relation « %s »" msgid "new row for relation \"%s\" violates partition constraint" msgstr "la nouvelle ligne de la relation « %s » viole la contrainte de partitionnement" -#: executor/execMain.c:1890 executor/execMain.c:1973 executor/execMain.c:2023 -#: executor/execMain.c:2132 +#: executor/execMain.c:1890 executor/execMain.c:1973 executor/execMain.c:2023 executor/execMain.c:2132 #, c-format msgid "Failing row contains %s." msgstr "La ligne en échec contient %s." @@ -13447,11 +13014,7 @@ msgstr "mise à jour concurrente, nouvelle tentative" msgid "concurrent delete, retrying" msgstr "suppression concurrente, nouvelle tentative" -#: executor/execReplication.c:276 parser/parse_cte.c:308 -#: parser/parse_oper.c:233 utils/adt/array_userfuncs.c:724 -#: utils/adt/array_userfuncs.c:867 utils/adt/arrayfuncs.c:3653 -#: utils/adt/arrayfuncs.c:4208 utils/adt/arrayfuncs.c:6200 -#: utils/adt/rowtypes.c:1203 +#: executor/execReplication.c:276 parser/parse_cte.c:308 parser/parse_oper.c:233 utils/adt/array_userfuncs.c:724 utils/adt/array_userfuncs.c:867 utils/adt/arrayfuncs.c:3702 utils/adt/arrayfuncs.c:4257 utils/adt/arrayfuncs.c:6249 utils/adt/rowtypes.c:1203 #, c-format msgid "could not identify an equality operator for type %s" msgstr "n'a pas pu identifier un opérateur d'égalité pour le type %s" @@ -13547,8 +13110,7 @@ msgstr[1] "La ligne renvoyée contient %d attributs mais la requête en attend % msgid "Returned type %s at ordinal position %d, but query expects %s." msgstr "A renvoyé le type %s à la position ordinale %d, mais la requête attend %s." -#: executor/execTuples.c:146 executor/execTuples.c:353 -#: executor/execTuples.c:521 executor/execTuples.c:712 +#: executor/execTuples.c:146 executor/execTuples.c:353 executor/execTuples.c:521 executor/execTuples.c:712 #, c-format msgid "cannot retrieve a system column in this context" msgstr "ne peut pas récupérer une colonne système dans ce contexte" @@ -13585,61 +13147,59 @@ msgstr "%s n'est pas autorisé dans une fonction SQL" msgid "%s is not allowed in a non-volatile function" msgstr "%s n'est pas autorisé dans une fonction non volatile" -#: executor/functions.c:1457 +#: executor/functions.c:1458 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "fonction SQL « %s », instruction %d" -#: executor/functions.c:1483 +#: executor/functions.c:1484 #, c-format msgid "SQL function \"%s\" during startup" msgstr "fonction SQL « %s » lors du lancement" -#: executor/functions.c:1568 +#: executor/functions.c:1569 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "l'appel à des procédures avec des arguments en sortie n'est pas supporté dans les fonctions SQL" -#: executor/functions.c:1701 executor/functions.c:1739 -#: executor/functions.c:1753 executor/functions.c:1843 -#: executor/functions.c:1876 executor/functions.c:1890 +#: executor/functions.c:1717 executor/functions.c:1755 executor/functions.c:1769 executor/functions.c:1864 executor/functions.c:1897 executor/functions.c:1911 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "le type de retour ne correspond pas à la fonction déclarant renvoyer %s" -#: executor/functions.c:1703 +#: executor/functions.c:1719 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." msgstr "" "L'instruction finale de la fonction doit être un SELECT ou un\n" "INSERT/UPDATE/DELETE RETURNING." -#: executor/functions.c:1741 +#: executor/functions.c:1757 #, c-format msgid "Final statement must return exactly one column." msgstr "L'instruction finale doit renvoyer exactement une colonne." -#: executor/functions.c:1755 +#: executor/functions.c:1771 #, c-format msgid "Actual return type is %s." msgstr "Le code de retour réel est %s." -#: executor/functions.c:1845 +#: executor/functions.c:1866 #, c-format msgid "Final statement returns too many columns." msgstr "L'instruction finale renvoie beaucoup trop de colonnes." -#: executor/functions.c:1878 +#: executor/functions.c:1899 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "L'instruction finale renvoie %s au lieu de %s pour la colonne %d." -#: executor/functions.c:1892 +#: executor/functions.c:1913 #, c-format msgid "Final statement returns too few columns." msgstr "L'instruction finale renvoie trop peu de colonnes." -#: executor/functions.c:1920 +#: executor/functions.c:1941 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "le type de retour %s n'est pas supporté pour les fonctions SQL" @@ -13649,7 +13209,7 @@ msgstr "le type de retour %s n'est pas supporté pour les fonctions SQL" msgid "aggregate %u needs to have compatible input type and transition type" msgstr "l'agrégat %u a besoin d'avoir des types compatibles en entrée et en transition" -#: executor/nodeAgg.c:3952 parser/parse_agg.c:668 parser/parse_agg.c:696 +#: executor/nodeAgg.c:3952 parser/parse_agg.c:679 parser/parse_agg.c:707 #, c-format msgid "aggregate function calls cannot be nested" msgstr "les appels à la fonction d'agrégat ne peuvent pas être imbriqués" @@ -13669,7 +13229,7 @@ msgstr "n'a pas pu revenir au début du fichier temporaire pour la jointure de h msgid "could not read from hash-join temporary file: read only %zu of %zu bytes" msgstr "n'a pas pu lire le fichier temporaire pour la jointure de hachage : a lu seulement %zu octets sur %zu" -#: executor/nodeIndexonlyscan.c:240 +#: executor/nodeIndexonlyscan.c:242 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "les fonctions de distance à perte ne sont pas supportées dans les parcours d'index seul" @@ -13699,65 +13259,65 @@ msgstr "FULL JOIN est supporté seulement avec les conditions de jointures MERGE msgid "Query has too few columns." msgstr "La requête n'a pas assez de colonnes." -#: executor/nodeModifyTable.c:1509 executor/nodeModifyTable.c:1583 +#: executor/nodeModifyTable.c:1513 executor/nodeModifyTable.c:1587 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" msgstr "la ligne à supprimer était déjà modifiée par une opération déclenchée par la commande courante" -#: executor/nodeModifyTable.c:1737 +#: executor/nodeModifyTable.c:1742 #, c-format msgid "invalid ON UPDATE specification" msgstr "spécification ON UPDATE invalide" -#: executor/nodeModifyTable.c:1738 +#: executor/nodeModifyTable.c:1743 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "La ligne résultante apparaîtrait dans une partition différente de la ligne originale." -#: executor/nodeModifyTable.c:2198 +#: executor/nodeModifyTable.c:2204 #, c-format msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key" msgstr "ne peut pas déplacer l'enregistrement parmi des partitions quand un ancêtre de la partition source qui n'est pas la racine est directement référencée dans une clé étrangère" -#: executor/nodeModifyTable.c:2199 +#: executor/nodeModifyTable.c:2205 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "Une clé étrangère pointe vers l'ancêtre « %s » mais pas l'ancêtre racine « %s »." -#: executor/nodeModifyTable.c:2202 +#: executor/nodeModifyTable.c:2208 #, fuzzy, c-format #| msgid "cannot insert into foreign table \"%s\"" msgid "Consider defining the foreign key on table \"%s\"." msgstr "ne peut pas insérer dans la table distante « %s »" #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2548 executor/nodeModifyTable.c:2936 +#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2977 executor/nodeModifyTable.c:3104 #, fuzzy, c-format #| msgid "ON CONFLICT DO UPDATE command cannot affect row a second time" msgid "%s command cannot affect row a second time" msgstr "la commande ON CONFLICT DO UPDATE ne peut pas affecter une ligne la deuxième fois" -#: executor/nodeModifyTable.c:2550 +#: executor/nodeModifyTable.c:2556 #, c-format msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "S'assure qu'aucune ligne proposée à l'insertion dans la même commande n'a de valeurs contraintes dupliquées." -#: executor/nodeModifyTable.c:2938 +#: executor/nodeModifyTable.c:2970 executor/nodeModifyTable.c:3097 +#, fuzzy, c-format +#| msgid "tuple to be updated was already modified by an operation triggered by the current command" +msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" +msgstr "la ligne à mettre à jour était déjà modifiée par une opération déclenchée par la commande courante" + +#: executor/nodeModifyTable.c:2979 executor/nodeModifyTable.c:3106 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "Assurez-vous que pas plus d'une ligne source correspond à une ligne cible." -#: executor/nodeModifyTable.c:3019 +#: executor/nodeModifyTable.c:3061 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "la ligne à supprimer était déjà déplacée vers une autre partition du fait d'une mise à jour concurrente" -#: executor/nodeModifyTable.c:3058 -#, fuzzy, c-format -#| msgid "tuple to be updated was already modified by an operation triggered by the current command" -msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" -msgstr "la ligne à mettre à jour était déjà modifiée par une opération déclenchée par la commande courante" - #: executor/nodeSamplescan.c:260 #, c-format msgid "TABLESAMPLE parameter cannot be null" @@ -13768,8 +13328,7 @@ msgstr "le paramètre de TABLESAMPLE ne peut pas être NULL" msgid "TABLESAMPLE REPEATABLE parameter cannot be null" msgstr "le paramètre TABLESAMPLE REPEATABLE ne peut pas être NULL" -#: executor/nodeSubplan.c:325 executor/nodeSubplan.c:351 -#: executor/nodeSubplan.c:405 executor/nodeSubplan.c:1174 +#: executor/nodeSubplan.c:325 executor/nodeSubplan.c:351 executor/nodeSubplan.c:405 executor/nodeSubplan.c:1174 #, c-format msgid "more than one row returned by a subquery used as an expression" msgstr "plus d'une ligne renvoyée par une sous-requête utilisée comme une expression" @@ -13875,7 +13434,7 @@ msgstr "ne peut pas ouvrir la requête %s comme curseur" msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE n'est pas supporté" -#: executor/spi.c:1717 parser/analyze.c:2899 +#: executor/spi.c:1717 parser/analyze.c:2910 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Les curseurs déplaçables doivent être en lecture seule (READ ONLY)." @@ -14052,7 +13611,7 @@ msgstr "CREATE OR REPLACE CONSTRAINT TRIGGER n'est pas supporté" msgid "duplicate trigger events specified" msgstr "événements de trigger dupliqués spécifiés" -#: gram.y:5937 parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 +#: gram.y:5937 parser/parse_utilcmd.c:3726 parser/parse_utilcmd.c:3752 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "la contrainte déclarée INITIALLY DEFERRED doit être DEFERRABLE" @@ -14236,8 +13795,7 @@ msgstr "WITH TIES ne peut pas être indiqué sans clause ORDER BY" msgid "improper use of \"*\"" msgstr "mauvaise utilisation de « * »" -#: gram.y:17812 gram.y:17829 tsearch/spell.c:983 tsearch/spell.c:1000 -#: tsearch/spell.c:1017 tsearch/spell.c:1034 tsearch/spell.c:1099 +#: gram.y:17812 gram.y:17829 tsearch/spell.c:983 tsearch/spell.c:1000 tsearch/spell.c:1017 tsearch/spell.c:1034 tsearch/spell.c:1099 #, c-format msgid "syntax error" msgstr "erreur de syntaxe" @@ -14340,9 +13898,7 @@ msgstr "nom d'instruction « %s » invalide sur la ligne %d" msgid "unrecognized configuration parameter \"%s\" in file \"%s\" line %d" msgstr "paramètre de configuration « %s » non reconnu dans le fichier « %s », ligne %d" -#: guc-file.l:353 utils/misc/guc.c:7688 utils/misc/guc.c:7908 -#: utils/misc/guc.c:8006 utils/misc/guc.c:8104 utils/misc/guc.c:8228 -#: utils/misc/guc.c:8331 +#: guc-file.l:353 utils/misc/guc.c:7691 utils/misc/guc.c:7915 utils/misc/guc.c:8013 utils/misc/guc.c:8111 utils/misc/guc.c:8235 utils/misc/guc.c:8338 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "le paramètre « %s » ne peut pas être modifié sans redémarrer le serveur" @@ -14426,10 +13982,7 @@ msgstr "nom de répertoire de configuration vide : « %s »" msgid "could not open configuration directory \"%s\": %m" msgstr "n'a pas pu ouvrir le répertoire de configuration « %s » : %m" -#: jsonpath_gram.y:529 jsonpath_scan.l:515 jsonpath_scan.l:526 -#: jsonpath_scan.l:536 jsonpath_scan.l:578 utils/adt/encode.c:482 -#: utils/adt/encode.c:547 utils/adt/jsonfuncs.c:629 utils/adt/varlena.c:335 -#: utils/adt/varlena.c:376 +#: jsonpath_gram.y:529 jsonpath_scan.l:515 jsonpath_scan.l:526 jsonpath_scan.l:536 jsonpath_scan.l:578 utils/adt/encode.c:482 utils/adt/encode.c:547 utils/adt/jsonfuncs.c:629 utils/adt/varlena.c:335 utils/adt/varlena.c:376 #, c-format msgid "invalid input syntax for type %s" msgstr "syntaxe en entrée invalide pour le type %s" @@ -14462,8 +14015,7 @@ msgstr "%s sur ou près de « %s » de l'entrée jsonpath" msgid "unsupported Unicode escape sequence" msgstr "séquence d'échappement Unicode non supportée" -#: lib/dshash.c:254 utils/mmgr/dsa.c:703 utils/mmgr/dsa.c:725 -#: utils/mmgr/dsa.c:806 +#: lib/dshash.c:254 utils/mmgr/dsa.c:703 utils/mmgr/dsa.c:725 utils/mmgr/dsa.c:806 #, c-format msgid "Failed on DSA request of size %zu." msgstr "Échec d'une requête DSA de taille %zu." @@ -14488,12 +14040,7 @@ msgstr "secret SCRAM invalide pour l'utilisateur « %s »" msgid "User \"%s\" does not have a valid SCRAM secret." msgstr "L'utilisateur « %s » n'a pas de secret SCRAM valide." -#: libpq/auth-scram.c:368 libpq/auth-scram.c:373 libpq/auth-scram.c:714 -#: libpq/auth-scram.c:722 libpq/auth-scram.c:827 libpq/auth-scram.c:840 -#: libpq/auth-scram.c:850 libpq/auth-scram.c:958 libpq/auth-scram.c:965 -#: libpq/auth-scram.c:980 libpq/auth-scram.c:995 libpq/auth-scram.c:1009 -#: libpq/auth-scram.c:1027 libpq/auth-scram.c:1042 libpq/auth-scram.c:1355 -#: libpq/auth-scram.c:1363 +#: libpq/auth-scram.c:368 libpq/auth-scram.c:373 libpq/auth-scram.c:714 libpq/auth-scram.c:722 libpq/auth-scram.c:827 libpq/auth-scram.c:840 libpq/auth-scram.c:850 libpq/auth-scram.c:958 libpq/auth-scram.c:965 libpq/auth-scram.c:980 libpq/auth-scram.c:995 libpq/auth-scram.c:1009 libpq/auth-scram.c:1027 libpq/auth-scram.c:1042 libpq/auth-scram.c:1355 libpq/auth-scram.c:1363 #, c-format msgid "malformed SCRAM message" msgstr "message SCRAM malformé" @@ -14809,406 +14356,404 @@ msgstr "taille du paquet du mot de passe invalide" msgid "empty password returned by client" msgstr "mot de passe vide renvoyé par le client" -#: libpq/auth.c:880 libpq/hba.c:1335 +#: libpq/auth.c:878 libpq/hba.c:1335 #, c-format msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" msgstr "l'authentification MD5 n'est pas supportée quand « db_user_namespace » est activé" -#: libpq/auth.c:886 +#: libpq/auth.c:884 #, c-format msgid "could not generate random MD5 salt" msgstr "n'a pas pu générer le sel MD5 aléatoire" -#: libpq/auth.c:935 libpq/be-secure-gssapi.c:535 +#: libpq/auth.c:933 libpq/be-secure-gssapi.c:535 #, c-format msgid "could not set environment: %m" msgstr "n'a pas pu configurer l'environnement : %m" -#: libpq/auth.c:971 +#: libpq/auth.c:969 #, c-format msgid "expected GSS response, got message type %d" msgstr "en attente d'une réponse GSS, a reçu un message de type %d" -#: libpq/auth.c:1031 +#: libpq/auth.c:1029 msgid "accepting GSS security context failed" msgstr "échec de l'acceptation du contexte de sécurité GSS" -#: libpq/auth.c:1072 +#: libpq/auth.c:1070 msgid "retrieving GSS user name failed" msgstr "échec lors de la récupération du nom de l'utilisateur avec GSS" -#: libpq/auth.c:1221 +#: libpq/auth.c:1219 msgid "could not acquire SSPI credentials" msgstr "n'a pas pu obtenir les pièces d'identité SSPI" -#: libpq/auth.c:1246 +#: libpq/auth.c:1244 #, c-format msgid "expected SSPI response, got message type %d" msgstr "en attente d'une réponse SSPI, a reçu un message de type %d" -#: libpq/auth.c:1324 +#: libpq/auth.c:1322 msgid "could not accept SSPI security context" msgstr "n'a pas pu accepter le contexte de sécurité SSPI" -#: libpq/auth.c:1386 +#: libpq/auth.c:1384 msgid "could not get token from SSPI security context" msgstr "n'a pas pu obtenir le jeton du contexte de sécurité SSPI" -#: libpq/auth.c:1525 libpq/auth.c:1544 +#: libpq/auth.c:1523 libpq/auth.c:1542 #, c-format msgid "could not translate name" msgstr "n'a pas pu traduit le nom" -#: libpq/auth.c:1557 +#: libpq/auth.c:1555 #, c-format msgid "realm name too long" msgstr "nom du royaume trop long" -#: libpq/auth.c:1572 +#: libpq/auth.c:1570 #, c-format msgid "translated account name too long" msgstr "traduction du nom de compte trop longue" -#: libpq/auth.c:1753 +#: libpq/auth.c:1751 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "n'a pas pu créer le socket pour la connexion Ident : %m" -#: libpq/auth.c:1768 +#: libpq/auth.c:1766 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "n'a pas pu se lier à l'adresse locale « %s » : %m" -#: libpq/auth.c:1780 +#: libpq/auth.c:1778 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "n'a pas pu se connecter au serveur Ident à l'adresse « %s », port %s : %m" -#: libpq/auth.c:1802 +#: libpq/auth.c:1800 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "n'a pas pu envoyer la requête au serveur Ident à l'adresse « %s », port %s : %m" -#: libpq/auth.c:1819 +#: libpq/auth.c:1817 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "" "n'a pas pu recevoir la réponse du serveur Ident à l'adresse « %s », port %s :\n" "%m" -#: libpq/auth.c:1829 +#: libpq/auth.c:1827 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "réponse mal formatée du serveur Ident : « %s »" -#: libpq/auth.c:1882 +#: libpq/auth.c:1880 #, c-format msgid "peer authentication is not supported on this platform" msgstr "la méthode d'authentification «peer n'est pas supportée sur cette plateforme" -#: libpq/auth.c:1886 +#: libpq/auth.c:1884 #, c-format msgid "could not get peer credentials: %m" msgstr "n'a pas pu obtenir l'authentification de l'autre : %m" -#: libpq/auth.c:1898 +#: libpq/auth.c:1896 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "n'a pas pu rechercher l'identifiant %ld de l'utilisateur local : %s" -#: libpq/auth.c:1999 +#: libpq/auth.c:1997 #, c-format msgid "error from underlying PAM layer: %s" msgstr "erreur provenant de la couche PAM : %s" -#: libpq/auth.c:2010 +#: libpq/auth.c:2008 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "conversation PAM %d/\"%s\" non supportée" -#: libpq/auth.c:2070 +#: libpq/auth.c:2068 #, c-format msgid "could not create PAM authenticator: %s" msgstr "n'a pas pu créer l'authenticateur PAM : %s" -#: libpq/auth.c:2081 +#: libpq/auth.c:2079 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "pam_set_item(PAM_USER) a échoué : %s" -#: libpq/auth.c:2113 +#: libpq/auth.c:2111 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "pam_set_item(PAM_RHOST) a échoué : %s" -#: libpq/auth.c:2125 +#: libpq/auth.c:2123 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "pam_set_item(PAM_CONV) a échoué : %s" -#: libpq/auth.c:2138 +#: libpq/auth.c:2136 #, c-format msgid "pam_authenticate failed: %s" msgstr "pam_authenticate a échoué : %s" -#: libpq/auth.c:2151 +#: libpq/auth.c:2149 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "pam_acct_mgmt a échoué : %s" -#: libpq/auth.c:2162 +#: libpq/auth.c:2160 #, c-format msgid "could not release PAM authenticator: %s" msgstr "n'a pas pu fermer l'authenticateur PAM : %s" -#: libpq/auth.c:2242 +#: libpq/auth.c:2240 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "n'a pas pu initialiser LDAP : code d'erreur %d" -#: libpq/auth.c:2279 +#: libpq/auth.c:2277 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "n'a pas pu extraire le nom de domaine depuis ldapbasedn" -#: libpq/auth.c:2287 +#: libpq/auth.c:2285 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "l'authentification LDAP n'a pu trouver les enregistrement DNS SRV pour « %s »" -#: libpq/auth.c:2289 +#: libpq/auth.c:2287 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Définit un nom de serveur LDAP explicitement." -#: libpq/auth.c:2341 +#: libpq/auth.c:2339 #, c-format msgid "could not initialize LDAP: %s" msgstr "n'a pas pu initialiser LDAP : %s" -#: libpq/auth.c:2351 +#: libpq/auth.c:2349 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "ldaps non supporté avec cette bibliothèque LDAP" -#: libpq/auth.c:2359 +#: libpq/auth.c:2357 #, c-format msgid "could not initialize LDAP: %m" msgstr "n'a pas pu initialiser LDAP : %m" -#: libpq/auth.c:2369 +#: libpq/auth.c:2367 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "n'a pas pu initialiser la version du protocole LDAP : %s" -#: libpq/auth.c:2409 +#: libpq/auth.c:2407 #, c-format msgid "could not load function _ldap_start_tls_sA in wldap32.dll" msgstr "n'a pas pu charger la fonction _ldap_start_tls_sA de wldap32.dll" -#: libpq/auth.c:2410 +#: libpq/auth.c:2408 #, c-format msgid "LDAP over SSL is not supported on this platform." msgstr "LDAP via SSL n'est pas supporté sur cette plateforme." -#: libpq/auth.c:2426 +#: libpq/auth.c:2424 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "n'a pas pu démarrer la session TLS LDAP : %s" -#: libpq/auth.c:2497 +#: libpq/auth.c:2495 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "serveur LDAP non précisé, et il n'y a pas de ldapbasedn" -#: libpq/auth.c:2504 +#: libpq/auth.c:2502 #, c-format msgid "LDAP server not specified" msgstr "serveur LDAP non précisé" -#: libpq/auth.c:2566 +#: libpq/auth.c:2564 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "caractère invalide dans le nom de l'utilisateur pour l'authentification LDAP" -#: libpq/auth.c:2583 +#: libpq/auth.c:2581 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "n'a pas pu réaliser le lien LDAP initiale pour ldapbinddn « %s » sur le serveur « %s » : %s" -#: libpq/auth.c:2612 +#: libpq/auth.c:2610 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "n'a pas pu rechercher dans LDAP pour filtrer « %s » sur le serveur « %s » : %s" -#: libpq/auth.c:2626 +#: libpq/auth.c:2624 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "l'utilisateur LDAP « %s » n'existe pas" -#: libpq/auth.c:2627 +#: libpq/auth.c:2625 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "la recherche LDAP pour le filtre « %s » sur le serveur « %s » n'a renvoyé aucun enregistrement." -#: libpq/auth.c:2631 +#: libpq/auth.c:2629 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "l'utilisateur LDAP « %s » n'est pas unique" -#: libpq/auth.c:2632 +#: libpq/auth.c:2630 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries." msgstr[0] "la recherche LDAP pour le filtre « %s » sur le serveur « %s » a renvoyé %d enregistrement." msgstr[1] "la recherche LDAP pour le filtre « %s » sur le serveur « %s » a renvoyé %d enregistrements." -#: libpq/auth.c:2652 +#: libpq/auth.c:2650 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "" "n'a pas pu obtenir le dn pour la première entrée correspondante « %s » sur\n" "le serveur « %s » : %s" -#: libpq/auth.c:2673 +#: libpq/auth.c:2671 #, c-format msgid "could not unbind after searching for user \"%s\" on server \"%s\"" msgstr "" "n'a pas pu exécuter le unbind après la recherche de l'utilisateur « %s »\n" "sur le serveur « %s »" -#: libpq/auth.c:2704 +#: libpq/auth.c:2702 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "échec de connexion LDAP pour l'utilisateur « %s » sur le serveur « %s » : %s" -#: libpq/auth.c:2736 +#: libpq/auth.c:2734 #, c-format msgid "LDAP diagnostics: %s" msgstr "diagnostique LDAP: %s" -#: libpq/auth.c:2774 +#: libpq/auth.c:2772 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "" "l'authentification par le certificat a échoué pour l'utilisateur « %s » :\n" "le certificat du client ne contient aucun nom d'utilisateur" -#: libpq/auth.c:2795 +#: libpq/auth.c:2793 #, c-format msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" msgstr "authentification par certificat échouée pour l'utilisateur « %s » : incapable de récupérer le DN sujet" -#: libpq/auth.c:2818 +#: libpq/auth.c:2816 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" msgstr "la validation du certificat (clientcert=verify-full) a échoué pour l'utilisateur « %s » : incohérence de DN" -#: libpq/auth.c:2823 +#: libpq/auth.c:2821 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" msgstr "l'authentification par certificat (clientcert=verify-full) a échoué pour l'utilisateur « %s » : incohérence de CN" -#: libpq/auth.c:2925 +#: libpq/auth.c:2923 #, c-format msgid "RADIUS server not specified" msgstr "serveur RADIUS non précisé" -#: libpq/auth.c:2932 +#: libpq/auth.c:2930 #, c-format msgid "RADIUS secret not specified" msgstr "secret RADIUS non précisé" -#: libpq/auth.c:2946 +#: libpq/auth.c:2944 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "l'authentification RADIUS ne supporte pas les mots de passe de plus de %d caractères" -#: libpq/auth.c:3053 libpq/hba.c:1976 +#: libpq/auth.c:3051 libpq/hba.c:1976 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "n'a pas pu traduire le nom du serveur RADIUS « %s » en une adresse : %s" -#: libpq/auth.c:3067 +#: libpq/auth.c:3065 #, c-format msgid "could not generate random encryption vector" msgstr "n'a pas pu générer le vecteur de chiffrement aléatoire" -#: libpq/auth.c:3104 +#: libpq/auth.c:3102 #, fuzzy, c-format #| msgid "could not perform MD5 encryption of password" msgid "could not perform MD5 encryption of password: %s" msgstr "n'a pas pu réaliser le chiffrement MD5 du mot de passe" -#: libpq/auth.c:3131 +#: libpq/auth.c:3129 #, c-format msgid "could not create RADIUS socket: %m" msgstr "n'a pas pu créer le socket RADIUS : %m" -#: libpq/auth.c:3153 +#: libpq/auth.c:3151 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "n'a pas pu se lier à la socket RADIUS : %m" -#: libpq/auth.c:3163 +#: libpq/auth.c:3161 #, c-format msgid "could not send RADIUS packet: %m" msgstr "n'a pas pu transmettre le paquet RADIUS : %m" -#: libpq/auth.c:3197 libpq/auth.c:3223 +#: libpq/auth.c:3195 libpq/auth.c:3221 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "dépassement du délai pour la réponse du RADIUS à partir de %s" -#: libpq/auth.c:3216 +#: libpq/auth.c:3214 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "n'a pas pu vérifier le statut sur la socket RADIUS : %m" -#: libpq/auth.c:3246 +#: libpq/auth.c:3244 #, c-format msgid "could not read RADIUS response: %m" msgstr "n'a pas pu lire la réponse RADIUS : %m" -#: libpq/auth.c:3259 libpq/auth.c:3263 +#: libpq/auth.c:3257 libpq/auth.c:3261 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "la réponse RADIUS de %s a été envoyée à partir d'un mauvais port : %d" -#: libpq/auth.c:3272 +#: libpq/auth.c:3270 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "réponse RADIUS de %s trop courte : %d" -#: libpq/auth.c:3279 +#: libpq/auth.c:3277 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "la réponse RADIUS de %s a une longueur corrompue : %d (longueur réelle %d)" -#: libpq/auth.c:3287 +#: libpq/auth.c:3285 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "la réponse RADIUS de %s correspond à une demande différente : %d (devrait être %d)" -#: libpq/auth.c:3312 +#: libpq/auth.c:3310 #, fuzzy, c-format #| msgid "could not perform MD5 encryption of received packet" msgid "could not perform MD5 encryption of received packet: %s" msgstr "n'a pas pu réaliser le chiffrement MD5 du paquet reçu" -#: libpq/auth.c:3322 +#: libpq/auth.c:3320 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "la réponse RADIUS de %s a une signature MD5 invalide" -#: libpq/auth.c:3340 +#: libpq/auth.c:3338 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "la réponse RADIUS de %s a un code invalide (%d) pour l'utilisateur « %s »" -#: libpq/be-fsstubs.c:128 libpq/be-fsstubs.c:157 libpq/be-fsstubs.c:185 -#: libpq/be-fsstubs.c:211 libpq/be-fsstubs.c:236 libpq/be-fsstubs.c:274 -#: libpq/be-fsstubs.c:297 libpq/be-fsstubs.c:545 +#: libpq/be-fsstubs.c:128 libpq/be-fsstubs.c:157 libpq/be-fsstubs.c:185 libpq/be-fsstubs.c:211 libpq/be-fsstubs.c:236 libpq/be-fsstubs.c:274 libpq/be-fsstubs.c:297 libpq/be-fsstubs.c:545 #, c-format msgid "invalid large-object descriptor: %d" msgstr "descripteur invalide de « Large Object » : %d" @@ -15258,15 +14803,12 @@ msgstr "n'a pas pu écrire le fichier serveur « %s » : %m" msgid "large object read request is too large" msgstr "la demande de lecture du Large Object est trop grande" -#: libpq/be-fsstubs.c:800 utils/adt/genfile.c:262 utils/adt/genfile.c:301 -#: utils/adt/genfile.c:337 +#: libpq/be-fsstubs.c:800 utils/adt/genfile.c:262 utils/adt/genfile.c:301 utils/adt/genfile.c:337 #, c-format msgid "requested length cannot be negative" msgstr "la longueur demandée ne peut pas être négative" -#: libpq/be-fsstubs.c:851 storage/large_object/inv_api.c:299 -#: storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508 -#: storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809 +#: libpq/be-fsstubs.c:851 storage/large_object/inv_api.c:299 storage/large_object/inv_api.c:311 storage/large_object/inv_api.c:508 storage/large_object/inv_api.c:619 storage/large_object/inv_api.c:809 #, c-format msgid "permission denied for large object %u" msgstr "droit refusé pour le Large Object %u" @@ -15310,16 +14852,16 @@ msgstr "" "Le fichier doit avoir les permissions u=rw (0600) ou moins si le propriétaire est le même que la base de données,\n" "ou les permissions u=rw,g=r (0640) ou moins si le propriétaire est root." -#: libpq/be-secure-gssapi.c:204 +#: libpq/be-secure-gssapi.c:201 msgid "GSSAPI wrap error" msgstr "erreur d'empaquetage GSSAPI" -#: libpq/be-secure-gssapi.c:211 +#: libpq/be-secure-gssapi.c:208 #, c-format msgid "outgoing GSSAPI message would not use confidentiality" msgstr "le message sortant GSSAPI n'utiliserait pas la confidentialité" -#: libpq/be-secure-gssapi.c:218 libpq/be-secure-gssapi.c:622 +#: libpq/be-secure-gssapi.c:215 libpq/be-secure-gssapi.c:622 #, c-format msgid "server tried to send oversize GSSAPI packet (%zu > %zu)" msgstr "le serveur a tenté d'envoyer un paquet GSSAPI surdimensionné (%zu > %zu)" @@ -15445,112 +14987,111 @@ msgstr "n'a pas pu initialiser la connexion SSL : %s" msgid "could not set SSL socket: %s" msgstr "n'a pas pu créer le socket SSL : %s" -#: libpq/be-secure-openssl.c:499 +#: libpq/be-secure-openssl.c:500 #, c-format msgid "could not accept SSL connection: %m" msgstr "n'a pas pu accepter la connexion SSL : %m" -#: libpq/be-secure-openssl.c:503 libpq/be-secure-openssl.c:556 +#: libpq/be-secure-openssl.c:504 libpq/be-secure-openssl.c:557 #, c-format msgid "could not accept SSL connection: EOF detected" msgstr "n'a pas pu accepter la connexion SSL : fin de fichier détecté" -#: libpq/be-secure-openssl.c:542 +#: libpq/be-secure-openssl.c:543 #, c-format msgid "could not accept SSL connection: %s" msgstr "n'a pas pu accepter la connexion SSL : %s" -#: libpq/be-secure-openssl.c:545 +#: libpq/be-secure-openssl.c:546 #, c-format msgid "This may indicate that the client does not support any SSL protocol version between %s and %s." msgstr "Ceci pourrait indiquer que le client ne supporte pas la version du protocole SSL entre %s et %s." -#: libpq/be-secure-openssl.c:561 libpq/be-secure-openssl.c:750 -#: libpq/be-secure-openssl.c:814 +#: libpq/be-secure-openssl.c:562 libpq/be-secure-openssl.c:751 libpq/be-secure-openssl.c:821 #, c-format msgid "unrecognized SSL error code: %d" msgstr "code d'erreur SSL inconnu : %d" -#: libpq/be-secure-openssl.c:607 +#: libpq/be-secure-openssl.c:608 #, c-format msgid "SSL certificate's common name contains embedded null" msgstr "le nom commun du certificat SSL contient des NULL" -#: libpq/be-secure-openssl.c:653 +#: libpq/be-secure-openssl.c:654 #, c-format msgid "SSL certificate's distinguished name contains embedded null" msgstr "le nom distingué du certificat SSL contient des NULL" -#: libpq/be-secure-openssl.c:739 libpq/be-secure-openssl.c:798 +#: libpq/be-secure-openssl.c:740 libpq/be-secure-openssl.c:805 #, c-format msgid "SSL error: %s" msgstr "erreur SSL : %s" -#: libpq/be-secure-openssl.c:980 +#: libpq/be-secure-openssl.c:982 #, c-format msgid "could not open DH parameters file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier de paramètres DH « %s » : %m" -#: libpq/be-secure-openssl.c:992 +#: libpq/be-secure-openssl.c:994 #, c-format msgid "could not load DH parameters file: %s" msgstr "n'a pas pu charger le fichier de paramètres DH : %s" -#: libpq/be-secure-openssl.c:1002 +#: libpq/be-secure-openssl.c:1004 #, c-format msgid "invalid DH parameters: %s" msgstr "paramètres DH invalides : %s" -#: libpq/be-secure-openssl.c:1011 +#: libpq/be-secure-openssl.c:1013 #, c-format msgid "invalid DH parameters: p is not prime" msgstr "paramètres DH invalides : p n'est pas premier" -#: libpq/be-secure-openssl.c:1020 +#: libpq/be-secure-openssl.c:1022 #, c-format msgid "invalid DH parameters: neither suitable generator or safe prime" msgstr "paramètres DH invalides : pas de générateur convenable ou de premier sûr" -#: libpq/be-secure-openssl.c:1181 +#: libpq/be-secure-openssl.c:1183 #, c-format msgid "DH: could not load DH parameters" msgstr "DH : n'a pas pu charger les paramètres DH" -#: libpq/be-secure-openssl.c:1189 +#: libpq/be-secure-openssl.c:1191 #, c-format msgid "DH: could not set DH parameters: %s" msgstr "DH : n'a pas pu configurer les paramètres DH : %s" -#: libpq/be-secure-openssl.c:1216 +#: libpq/be-secure-openssl.c:1218 #, c-format msgid "ECDH: unrecognized curve name: %s" msgstr "ECDH : nome de courbe non reconnu : %s" -#: libpq/be-secure-openssl.c:1225 +#: libpq/be-secure-openssl.c:1227 #, c-format msgid "ECDH: could not create key" msgstr "ECDH : n'a pas pu créer la clé" -#: libpq/be-secure-openssl.c:1253 +#: libpq/be-secure-openssl.c:1255 msgid "no SSL error reported" msgstr "aucune erreur SSL reportée" -#: libpq/be-secure-openssl.c:1257 +#: libpq/be-secure-openssl.c:1272 #, c-format msgid "SSL error code %lu" msgstr "code d'erreur SSL %lu" -#: libpq/be-secure-openssl.c:1416 +#: libpq/be-secure-openssl.c:1431 #, c-format msgid "could not create BIO" msgstr "n'a pas pu créer BIO" -#: libpq/be-secure-openssl.c:1426 +#: libpq/be-secure-openssl.c:1441 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "n'a pas pu obtenir un NID pour l'objet ASN1_OBJECT" -#: libpq/be-secure-openssl.c:1434 +#: libpq/be-secure-openssl.c:1449 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "n'a pas pu convertir le NID %d en une structure ASN1_OBJECT" @@ -15613,19 +15154,8 @@ msgstr "erreur lors de l'énumération des interfaces réseau : %m" msgid "authentication option \"%s\" is only valid for authentication methods %s" msgstr "l'option d'authentification « %s » n'est valide que pour les méthodes d'authentification « %s »" -#: libpq/hba.c:861 libpq/hba.c:881 libpq/hba.c:916 libpq/hba.c:967 -#: libpq/hba.c:981 libpq/hba.c:1005 libpq/hba.c:1013 libpq/hba.c:1025 -#: libpq/hba.c:1046 libpq/hba.c:1059 libpq/hba.c:1079 libpq/hba.c:1101 -#: libpq/hba.c:1113 libpq/hba.c:1172 libpq/hba.c:1192 libpq/hba.c:1206 -#: libpq/hba.c:1226 libpq/hba.c:1237 libpq/hba.c:1252 libpq/hba.c:1271 -#: libpq/hba.c:1287 libpq/hba.c:1299 libpq/hba.c:1336 libpq/hba.c:1377 -#: libpq/hba.c:1390 libpq/hba.c:1412 libpq/hba.c:1424 libpq/hba.c:1442 -#: libpq/hba.c:1492 libpq/hba.c:1536 libpq/hba.c:1547 libpq/hba.c:1563 -#: libpq/hba.c:1580 libpq/hba.c:1591 libpq/hba.c:1610 libpq/hba.c:1626 -#: libpq/hba.c:1642 libpq/hba.c:1700 libpq/hba.c:1717 libpq/hba.c:1730 -#: libpq/hba.c:1742 libpq/hba.c:1761 libpq/hba.c:1847 libpq/hba.c:1865 -#: libpq/hba.c:1959 libpq/hba.c:1978 libpq/hba.c:2007 libpq/hba.c:2020 -#: libpq/hba.c:2043 libpq/hba.c:2065 libpq/hba.c:2079 tsearch/ts_locale.c:228 +#: libpq/hba.c:861 libpq/hba.c:881 libpq/hba.c:916 libpq/hba.c:967 libpq/hba.c:981 libpq/hba.c:1005 libpq/hba.c:1013 libpq/hba.c:1025 libpq/hba.c:1046 libpq/hba.c:1059 libpq/hba.c:1079 libpq/hba.c:1101 libpq/hba.c:1113 libpq/hba.c:1172 libpq/hba.c:1192 libpq/hba.c:1206 libpq/hba.c:1226 libpq/hba.c:1237 libpq/hba.c:1252 libpq/hba.c:1271 libpq/hba.c:1287 libpq/hba.c:1299 libpq/hba.c:1336 libpq/hba.c:1377 libpq/hba.c:1390 libpq/hba.c:1412 libpq/hba.c:1424 libpq/hba.c:1442 libpq/hba.c:1492 libpq/hba.c:1536 libpq/hba.c:1547 libpq/hba.c:1563 libpq/hba.c:1580 libpq/hba.c:1591 libpq/hba.c:1610 libpq/hba.c:1626 libpq/hba.c:1642 libpq/hba.c:1700 libpq/hba.c:1717 libpq/hba.c:1730 +#: libpq/hba.c:1742 libpq/hba.c:1761 libpq/hba.c:1847 libpq/hba.c:1865 libpq/hba.c:1959 libpq/hba.c:1978 libpq/hba.c:2007 libpq/hba.c:2020 libpq/hba.c:2043 libpq/hba.c:2065 libpq/hba.c:2079 tsearch/ts_locale.c:228 #, c-format msgid "line %d of configuration file \"%s\"" msgstr "ligne %d du fichier de configuration « %s »" @@ -15974,72 +15504,72 @@ msgstr "" msgid "could not open usermap file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier usermap « %s » : %m" -#: libpq/pqcomm.c:204 +#: libpq/pqcomm.c:200 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "n'a pas pu activer le mode non-bloquant pour la socket : %m" -#: libpq/pqcomm.c:362 +#: libpq/pqcomm.c:358 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Le chemin du socket de domaine Unix, « %s », est trop (maximum %d octets)" -#: libpq/pqcomm.c:383 +#: libpq/pqcomm.c:379 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "n'a pas pu résoudre le nom de l'hôte « %s », service « %s » par l'adresse : %s" -#: libpq/pqcomm.c:387 +#: libpq/pqcomm.c:383 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "n'a pas pu résoudre le service « %s » par l'adresse : %s" -#: libpq/pqcomm.c:414 +#: libpq/pqcomm.c:410 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "n'a pas pu se lier à toutes les adresses requises : MAXLISTEN (%d) dépassé" -#: libpq/pqcomm.c:423 +#: libpq/pqcomm.c:419 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:423 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:432 +#: libpq/pqcomm.c:428 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:437 +#: libpq/pqcomm.c:433 #, c-format msgid "unrecognized address family %d" msgstr "famille d'adresse %d non reconnue" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:463 +#: libpq/pqcomm.c:459 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "n'a pas pu créer le socket %s pour l'adresse « %s » : %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:489 libpq/pqcomm.c:507 +#: libpq/pqcomm.c:485 libpq/pqcomm.c:503 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "%s(%s) a échoué pour %s, adresse « %s » : %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:530 +#: libpq/pqcomm.c:526 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "n'a pas pu lier %s à l'adresse « %s » : %m" -#: libpq/pqcomm.c:534 +#: libpq/pqcomm.c:530 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "Un autre postmaster fonctionne-t'il déjà sur le port %d ?" -#: libpq/pqcomm.c:536 +#: libpq/pqcomm.c:532 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "" @@ -16047,86 +15577,83 @@ msgstr "" "Sinon, attendez quelques secondes et réessayez." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:569 +#: libpq/pqcomm.c:565 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "n'a pas pu écouter sur « %s », adresse « %s » : %m" -#: libpq/pqcomm.c:578 +#: libpq/pqcomm.c:574 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "écoute sur la socket Unix « %s »" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:584 +#: libpq/pqcomm.c:580 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "en écoute sur %s, adresse « %s », port %d" -#: libpq/pqcomm.c:675 +#: libpq/pqcomm.c:671 #, c-format msgid "group \"%s\" does not exist" msgstr "le groupe « %s » n'existe pas" -#: libpq/pqcomm.c:685 +#: libpq/pqcomm.c:681 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "n'a pas pu initialiser le groupe du fichier « %s » : %m" -#: libpq/pqcomm.c:696 +#: libpq/pqcomm.c:692 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "n'a pas pu initialiser les droits du fichier « %s » : %m" -#: libpq/pqcomm.c:726 +#: libpq/pqcomm.c:722 #, c-format msgid "could not accept new connection: %m" msgstr "n'a pas pu accepter la nouvelle connexion : %m" -#: libpq/pqcomm.c:766 libpq/pqcomm.c:775 libpq/pqcomm.c:807 libpq/pqcomm.c:817 -#: libpq/pqcomm.c:1642 libpq/pqcomm.c:1687 libpq/pqcomm.c:1727 -#: libpq/pqcomm.c:1771 libpq/pqcomm.c:1810 libpq/pqcomm.c:1849 -#: libpq/pqcomm.c:1885 libpq/pqcomm.c:1924 +#: libpq/pqcomm.c:762 libpq/pqcomm.c:771 libpq/pqcomm.c:803 libpq/pqcomm.c:813 libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 #, c-format msgid "%s(%s) failed: %m" msgstr "échec de %s(%s) : %m" -#: libpq/pqcomm.c:921 +#: libpq/pqcomm.c:917 #, c-format msgid "there is no client connection" msgstr "il n'y a pas de connexion client" -#: libpq/pqcomm.c:972 libpq/pqcomm.c:1068 +#: libpq/pqcomm.c:973 libpq/pqcomm.c:1074 #, c-format msgid "could not receive data from client: %m" msgstr "n'a pas pu recevoir les données du client : %m" -#: libpq/pqcomm.c:1173 tcop/postgres.c:4373 +#: libpq/pqcomm.c:1179 tcop/postgres.c:4373 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "arrêt de la connexion à cause d'une perte de synchronisation du protocole" -#: libpq/pqcomm.c:1239 +#: libpq/pqcomm.c:1245 #, c-format msgid "unexpected EOF within message length word" msgstr "fin de fichier (EOF) inattendue à l'intérieur de la longueur du message" -#: libpq/pqcomm.c:1249 +#: libpq/pqcomm.c:1255 #, c-format msgid "invalid message length" msgstr "longueur du message invalide" -#: libpq/pqcomm.c:1271 libpq/pqcomm.c:1284 +#: libpq/pqcomm.c:1277 libpq/pqcomm.c:1290 #, c-format msgid "incomplete message from client" msgstr "message incomplet du client" -#: libpq/pqcomm.c:1395 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "n'a pas pu envoyer les données au client : %m" -#: libpq/pqcomm.c:1610 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "échec de %s(%s) : code d'erreur %d" @@ -16134,12 +15661,12 @@ msgstr "échec de %s(%s) : code d'erreur %d" # /* # * Check for old recovery API file: recovery.conf # */ -#: libpq/pqcomm.c:1699 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "configurer le temps d'attente du keepalive n'est pas supporté" -#: libpq/pqcomm.c:1783 libpq/pqcomm.c:1858 libpq/pqcomm.c:1933 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) non supporté" @@ -16149,8 +15676,7 @@ msgstr "%s(%s) non supporté" msgid "no data left in message" msgstr "pas de données dans le message" -#: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556 -#: utils/adt/arrayfuncs.c:1482 utils/adt/rowtypes.c:588 +#: libpq/pqformat.c:517 libpq/pqformat.c:535 libpq/pqformat.c:556 utils/adt/arrayfuncs.c:1483 utils/adt/rowtypes.c:588 #, c-format msgid "insufficient data left in message" msgstr "données insuffisantes laissées dans le message" @@ -16484,10 +16010,7 @@ msgstr "ExtensibleNodeMethods \"%s\" n'a pas été enregistré" msgid "relation \"%s\" does not have a composite type" msgstr "la relation « %s » n'a pas un type composite" -#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567 -#: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 -#: parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883 -#: utils/fmgr/funcapi.c:670 +#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567 parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883 utils/fmgr/funcapi.c:678 #, c-format msgid "could not find array type for data type %s" msgstr "n'a pas pu trouver de type tableau pour le type de données %s" @@ -16509,8 +16032,7 @@ msgstr "" "FULL JOIN est supporté seulement avec les conditions de jointures MERGE et de\n" "jointures HASH JOIN" -#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:182 -#: parser/parse_merge.c:189 +#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:187 parser/parse_merge.c:194 #, fuzzy, c-format #| msgid "cannot change relation \"%s\"" msgid "cannot execute MERGE on relation \"%s\"" @@ -16523,8 +16045,7 @@ msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s ne peut être appliqué sur le côté possiblement NULL d'une jointure externe" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1344 parser/analyze.c:1752 parser/analyze.c:2008 -#: parser/analyze.c:3190 +#: optimizer/plan/planner.c:1344 parser/analyze.c:1763 parser/analyze.c:2019 parser/analyze.c:3201 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s n'est pas autorisé avec UNION/INTERSECT/EXCEPT" @@ -16534,8 +16055,7 @@ msgstr "%s n'est pas autorisé avec UNION/INTERSECT/EXCEPT" msgid "could not implement GROUP BY" msgstr "n'a pas pu implanter GROUP BY" -#: optimizer/plan/planner.c:2046 optimizer/plan/planner.c:3703 -#: optimizer/plan/planner.c:4346 optimizer/prep/prepunion.c:1046 +#: optimizer/plan/planner.c:2046 optimizer/plan/planner.c:3703 optimizer/plan/planner.c:4346 optimizer/prep/prepunion.c:1046 #, c-format msgid "Some of the datatypes only support hashing, while others only support sorting." msgstr "" @@ -16585,7 +16105,7 @@ msgstr "Tous les types de données des colonnes doivent être hachables." msgid "could not implement %s" msgstr "n'a pas pu implanter %s" -#: optimizer/util/clauses.c:4777 +#: optimizer/util/clauses.c:4847 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "fonction SQL « %s » durant « inlining »" @@ -16621,7 +16141,7 @@ msgstr "ON CONFLICT DO UPDATE non supporté avec les contraintes d'exclusion" msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "il n'existe aucune contrainte unique ou contrainte d'exclusion correspondant à la spécification ON CONFLICT" -#: parser/analyze.c:818 parser/analyze.c:1532 +#: parser/analyze.c:818 parser/analyze.c:1543 #, c-format msgid "VALUES lists must all be the same length" msgstr "les listes VALUES doivent être toutes de la même longueur" @@ -16644,538 +16164,537 @@ msgstr "" "de colonnes que celui attendu par INSERT. Auriez-vous utilisé des parenthèses\n" "supplémentaires ?" -#: parser/analyze.c:1340 parser/analyze.c:1725 +#: parser/analyze.c:1351 parser/analyze.c:1736 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO n'est pas autorisé ici" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1655 parser/analyze.c:3401 +#: parser/analyze.c:1666 parser/analyze.c:3412 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s ne peut pas être appliqué à VALUES" -#: parser/analyze.c:1891 +#: parser/analyze.c:1902 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "clause UNION/INTERSECT/EXCEPT ORDER BY invalide" -#: parser/analyze.c:1892 +#: parser/analyze.c:1903 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "" "Seuls les noms de colonnes résultats peuvent être utilisés, pas les\n" "expressions et les fonctions." -#: parser/analyze.c:1893 +#: parser/analyze.c:1904 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "Ajouter l'expression/fonction à chaque SELECT, ou déplacer l'UNION dans une clause FROM." -#: parser/analyze.c:1998 +#: parser/analyze.c:2009 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO est autorisé uniquement sur le premier SELECT d'un UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:2070 +#: parser/analyze.c:2081 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "" "L'instruction membre UNION/INTERSECT/EXCEPT ne peut pas faire référence à \n" "d'autres relations que celles de la requête de même niveau" -#: parser/analyze.c:2157 +#: parser/analyze.c:2168 #, c-format msgid "each %s query must have the same number of columns" msgstr "chaque requête %s doit avoir le même nombre de colonnes" -#: parser/analyze.c:2561 +#: parser/analyze.c:2572 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNING doit avoir au moins une colonne" -#: parser/analyze.c:2664 +#: parser/analyze.c:2675 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "la source d'affectation a renvoyé %d colonne" msgstr[1] "la source d'affectation a renvoyé %d colonnes" -#: parser/analyze.c:2725 +#: parser/analyze.c:2736 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "la variable « %s » est de type %s mais l'expression est de type %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2849 parser/analyze.c:2857 +#: parser/analyze.c:2860 parser/analyze.c:2868 #, c-format msgid "cannot specify both %s and %s" msgstr "ne peut pas spécifier à la fois %s et %s" -#: parser/analyze.c:2877 +#: parser/analyze.c:2888 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR ne doit pas contenir des instructions de modification de données dans WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2885 +#: parser/analyze.c:2896 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s n'est pas supporté" -#: parser/analyze.c:2888 +#: parser/analyze.c:2899 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "Les curseurs détenables doivent être en lecture seule (READ ONLY)." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2896 +#: parser/analyze.c:2907 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %s n'est pas supporté" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2907 +#: parser/analyze.c:2918 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s n'est pas valide" -#: parser/analyze.c:2910 +#: parser/analyze.c:2921 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "Les curseurs insensibles doivent être en lecture seule (READ ONLY)." -#: parser/analyze.c:2976 +#: parser/analyze.c:2987 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "les vues matérialisées ne peuvent pas contenir d'instructions de modifications de données avec WITH" -#: parser/analyze.c:2986 +#: parser/analyze.c:2997 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "les vues matérialisées ne doivent pas utiliser de tables temporaires ou de vues" -#: parser/analyze.c:2996 +#: parser/analyze.c:3007 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "les vues matérialisées ne peuvent pas être définies en utilisant des paramètres liés" -#: parser/analyze.c:3008 +#: parser/analyze.c:3019 #, c-format msgid "materialized views cannot be unlogged" msgstr "les vues matérialisées ne peuvent pas être non journalisées (UNLOGGED)" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3197 +#: parser/analyze.c:3208 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s n'est pas autorisé avec la clause DISTINCT" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3204 +#: parser/analyze.c:3215 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s n'est pas autorisé avec la clause GROUP BY" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3211 +#: parser/analyze.c:3222 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s n'est pas autorisé avec la clause HAVING" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3218 +#: parser/analyze.c:3229 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "%s n'est pas autorisé avec les fonctions d'agrégat" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3225 +#: parser/analyze.c:3236 #, c-format msgid "%s is not allowed with window functions" msgstr "%s n'est pas autorisé avec les fonctions de fenêtrage" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3232 +#: parser/analyze.c:3243 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "%s n'est pas autorisé avec les fonctions renvoyant plusieurs lignes dans la liste cible" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3324 +#: parser/analyze.c:3335 #, c-format msgid "%s must specify unqualified relation names" msgstr "%s doit indiquer les noms de relation non qualifiés" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3374 +#: parser/analyze.c:3385 #, c-format msgid "%s cannot be applied to a join" msgstr "%s ne peut pas être appliqué à une jointure" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3383 +#: parser/analyze.c:3394 #, c-format msgid "%s cannot be applied to a function" msgstr "%s ne peut pas être appliqué à une fonction" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3392 +#: parser/analyze.c:3403 #, c-format msgid "%s cannot be applied to a table function" msgstr "%s ne peut pas être appliqué à une fonction de table" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3410 +#: parser/analyze.c:3421 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%s ne peut pas être appliqué à une requête WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3419 +#: parser/analyze.c:3430 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s ne peut pas être appliqué à une tuplestore nommé" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3439 +#: parser/analyze.c:3450 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "relation « %s » dans une clause %s introuvable dans la clause FROM" -#: parser/parse_agg.c:220 parser/parse_oper.c:227 +#: parser/parse_agg.c:208 parser/parse_oper.c:227 #, c-format msgid "could not identify an ordering operator for type %s" msgstr "n'a pas pu identifier un opérateur de tri pour le type %s" -#: parser/parse_agg.c:222 +#: parser/parse_agg.c:210 #, c-format msgid "Aggregates with DISTINCT must be able to sort their inputs." msgstr "Les agrégats avec DISTINCT doivent être capables de trier leur entrée." -#: parser/parse_agg.c:257 +#: parser/parse_agg.c:268 #, c-format msgid "GROUPING must have fewer than 32 arguments" msgstr "GROUPING doit avoir moins de 32 arguments" -#: parser/parse_agg.c:360 +#: parser/parse_agg.c:371 msgid "aggregate functions are not allowed in JOIN conditions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les conditions de jointures" -#: parser/parse_agg.c:362 +#: parser/parse_agg.c:373 msgid "grouping operations are not allowed in JOIN conditions" msgstr "les fonctions de regroupement ne sont pas autorisés dans les conditions de jointure" -#: parser/parse_agg.c:374 +#: parser/parse_agg.c:385 msgid "aggregate functions are not allowed in FROM clause of their own query level" msgstr "les fonctions d'agrégat ne sont pas autorisées dans la clause FROM de leur propre niveau de requête" -#: parser/parse_agg.c:376 +#: parser/parse_agg.c:387 msgid "grouping operations are not allowed in FROM clause of their own query level" msgstr "les fonctions de regroupement ne sont pas autorisés dans la clause FROM du même niveau de la requête" -#: parser/parse_agg.c:381 +#: parser/parse_agg.c:392 msgid "aggregate functions are not allowed in functions in FROM" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les fonctions dans une clause FROM" -#: parser/parse_agg.c:383 +#: parser/parse_agg.c:394 msgid "grouping operations are not allowed in functions in FROM" msgstr "les fonctions de regroupement ne sont pas autorisés dans les fonctions contenues dans la clause FROM" -#: parser/parse_agg.c:391 +#: parser/parse_agg.c:402 msgid "aggregate functions are not allowed in policy expressions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les expressions de politique" -#: parser/parse_agg.c:393 +#: parser/parse_agg.c:404 msgid "grouping operations are not allowed in policy expressions" msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions de politique" -#: parser/parse_agg.c:410 +#: parser/parse_agg.c:421 msgid "aggregate functions are not allowed in window RANGE" msgstr "les fonctions d'agrégat ne sont pas autorisées dans le RANGE d'un fenêtrage" -#: parser/parse_agg.c:412 +#: parser/parse_agg.c:423 msgid "grouping operations are not allowed in window RANGE" msgstr "les fonctions de regroupement ne sont pas autorisés dans le RANGE de fenêtrage" -#: parser/parse_agg.c:417 +#: parser/parse_agg.c:428 msgid "aggregate functions are not allowed in window ROWS" msgstr "les fonctions d'agrégat ne sont pas autorisées dans le ROWS d'un fenêtrage" -#: parser/parse_agg.c:419 +#: parser/parse_agg.c:430 msgid "grouping operations are not allowed in window ROWS" msgstr "les fonctions de regroupement ne sont pas autorisés dans le ROWS de fenêtrage" -#: parser/parse_agg.c:424 +#: parser/parse_agg.c:435 msgid "aggregate functions are not allowed in window GROUPS" msgstr "les fonctions d'agrégat ne sont pas autorisées dans le GROUPS d'un fenêtrage" -#: parser/parse_agg.c:426 +#: parser/parse_agg.c:437 msgid "grouping operations are not allowed in window GROUPS" msgstr "les fonctions de regroupement ne sont pas autorisés dans le GROUPS de fenêtrage" -#: parser/parse_agg.c:439 +#: parser/parse_agg.c:450 #, fuzzy #| msgid "aggregate functions are not allowed in trigger WHEN conditions" msgid "aggregate functions are not allowed in MERGE WHEN conditions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les conditions WHEN des triggers" -#: parser/parse_agg.c:441 +#: parser/parse_agg.c:452 #, fuzzy #| msgid "grouping operations are not allowed in trigger WHEN conditions" msgid "grouping operations are not allowed in MERGE WHEN conditions" msgstr "les fonctions de regroupement ne sont pas autorisés dans les conditions WHEN des triggers" -#: parser/parse_agg.c:467 +#: parser/parse_agg.c:478 msgid "aggregate functions are not allowed in check constraints" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les contraintes CHECK" -#: parser/parse_agg.c:469 +#: parser/parse_agg.c:480 msgid "grouping operations are not allowed in check constraints" msgstr "les fonctions de regroupement ne sont pas autorisés dans les contraintes CHECK" -#: parser/parse_agg.c:476 +#: parser/parse_agg.c:487 msgid "aggregate functions are not allowed in DEFAULT expressions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les expressions par défaut" -#: parser/parse_agg.c:478 +#: parser/parse_agg.c:489 msgid "grouping operations are not allowed in DEFAULT expressions" msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions par défaut" -#: parser/parse_agg.c:483 +#: parser/parse_agg.c:494 msgid "aggregate functions are not allowed in index expressions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les expressions d'index" -#: parser/parse_agg.c:485 +#: parser/parse_agg.c:496 msgid "grouping operations are not allowed in index expressions" msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions d'index" -#: parser/parse_agg.c:490 +#: parser/parse_agg.c:501 msgid "aggregate functions are not allowed in index predicates" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les prédicats d'index" -#: parser/parse_agg.c:492 +#: parser/parse_agg.c:503 msgid "grouping operations are not allowed in index predicates" msgstr "les fonctions de regroupement ne sont pas autorisés dans les prédicats d'index" -#: parser/parse_agg.c:497 +#: parser/parse_agg.c:508 msgid "aggregate functions are not allowed in statistics expressions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les expressions statistiques" -#: parser/parse_agg.c:499 +#: parser/parse_agg.c:510 msgid "grouping operations are not allowed in statistics expressions" msgstr "les fonctions de regroupement ne sont pas autorisées dans les expressions statistiques" -#: parser/parse_agg.c:504 +#: parser/parse_agg.c:515 msgid "aggregate functions are not allowed in transform expressions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les expressions de transformation" -#: parser/parse_agg.c:506 +#: parser/parse_agg.c:517 msgid "grouping operations are not allowed in transform expressions" msgstr "les fonctions de regroupement ne sont pas autorisés dans les expressions de transformation" -#: parser/parse_agg.c:511 +#: parser/parse_agg.c:522 msgid "aggregate functions are not allowed in EXECUTE parameters" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les paramètres d'EXECUTE" -#: parser/parse_agg.c:513 +#: parser/parse_agg.c:524 msgid "grouping operations are not allowed in EXECUTE parameters" msgstr "les fonctions de regroupement ne sont pas autorisés dans les paramètres d'EXECUTE" -#: parser/parse_agg.c:518 +#: parser/parse_agg.c:529 msgid "aggregate functions are not allowed in trigger WHEN conditions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les conditions WHEN des triggers" -#: parser/parse_agg.c:520 +#: parser/parse_agg.c:531 msgid "grouping operations are not allowed in trigger WHEN conditions" msgstr "les fonctions de regroupement ne sont pas autorisés dans les conditions WHEN des triggers" -#: parser/parse_agg.c:525 +#: parser/parse_agg.c:536 msgid "aggregate functions are not allowed in partition bound" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les limites de partition" -#: parser/parse_agg.c:527 +#: parser/parse_agg.c:538 msgid "grouping operations are not allowed in partition bound" msgstr "les opérations de regroupement ne sont pas autorisées dans les limites de partition" -#: parser/parse_agg.c:532 +#: parser/parse_agg.c:543 msgid "aggregate functions are not allowed in partition key expressions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les expressions de clé de partitionnement" -#: parser/parse_agg.c:534 +#: parser/parse_agg.c:545 msgid "grouping operations are not allowed in partition key expressions" msgstr "les opérations de regroupement ne sont pas autorisées dans les expressions de clé de partitionnement" -#: parser/parse_agg.c:540 +#: parser/parse_agg.c:551 msgid "aggregate functions are not allowed in column generation expressions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les expressions de génération de colonne" -#: parser/parse_agg.c:542 +#: parser/parse_agg.c:553 msgid "grouping operations are not allowed in column generation expressions" msgstr "les fonctions de regroupement ne sont pas autorisées dans les expressions de génération de colonne" -#: parser/parse_agg.c:548 +#: parser/parse_agg.c:559 msgid "aggregate functions are not allowed in CALL arguments" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les arguments de CALL" -#: parser/parse_agg.c:550 +#: parser/parse_agg.c:561 msgid "grouping operations are not allowed in CALL arguments" msgstr "les fonctions de regroupement ne sont pas autorisés dans les arguments de CALL" -#: parser/parse_agg.c:556 +#: parser/parse_agg.c:567 msgid "aggregate functions are not allowed in COPY FROM WHERE conditions" msgstr "les fonctions d'agrégat ne sont pas autorisées dans les conditions de COPY FROM WHERE" -#: parser/parse_agg.c:558 +#: parser/parse_agg.c:569 msgid "grouping operations are not allowed in COPY FROM WHERE conditions" msgstr "les fonctions de regroupement ne sont pas autorisées dans les conditions WHERE d'un COPY FROM" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:585 parser/parse_clause.c:1836 +#: parser/parse_agg.c:596 parser/parse_clause.c:1836 #, c-format msgid "aggregate functions are not allowed in %s" msgstr "les fonctions d'agrégat ne sont pas autorisées dans %s" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:588 +#: parser/parse_agg.c:599 #, c-format msgid "grouping operations are not allowed in %s" msgstr "les fonctions de regroupement ne sont pas autorisés dans %s" -#: parser/parse_agg.c:689 +#: parser/parse_agg.c:700 #, c-format msgid "outer-level aggregate cannot contain a lower-level variable in its direct arguments" msgstr "un aggrégat de niveau externe ne peut pas contenir de variable de niveau inférieur dans ses arguments directs" -#: parser/parse_agg.c:767 +#: parser/parse_agg.c:778 #, c-format msgid "aggregate function calls cannot contain set-returning function calls" msgstr "les appels à la fonction d'agrégat ne peuvent pas contenir des appels à des fonctions retournant des ensembles" -#: parser/parse_agg.c:768 parser/parse_expr.c:1674 parser/parse_expr.c:2156 -#: parser/parse_func.c:883 +#: parser/parse_agg.c:779 parser/parse_expr.c:1674 parser/parse_expr.c:2156 parser/parse_func.c:883 #, c-format msgid "You might be able to move the set-returning function into a LATERAL FROM item." msgstr "Vous devriez être capable de déplacer la fonction SETOF dans un élément LATERAL FROM." -#: parser/parse_agg.c:773 +#: parser/parse_agg.c:784 #, c-format msgid "aggregate function calls cannot contain window function calls" msgstr "les appels à la fonction d'agrégat ne peuvent pas contenir des appels à une fonction de fenêtrage" -#: parser/parse_agg.c:852 +#: parser/parse_agg.c:863 msgid "window functions are not allowed in JOIN conditions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les conditions de jointure" -#: parser/parse_agg.c:859 +#: parser/parse_agg.c:870 msgid "window functions are not allowed in functions in FROM" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les fonctions contenues dans la clause FROM" -#: parser/parse_agg.c:865 +#: parser/parse_agg.c:876 msgid "window functions are not allowed in policy expressions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions de politique" -#: parser/parse_agg.c:878 +#: parser/parse_agg.c:889 msgid "window functions are not allowed in window definitions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les définitions de fenêtres" -#: parser/parse_agg.c:889 +#: parser/parse_agg.c:900 #, fuzzy #| msgid "window functions are not allowed in trigger WHEN conditions" msgid "window functions are not allowed in MERGE WHEN conditions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les conditions WHEN des triggers" -#: parser/parse_agg.c:913 +#: parser/parse_agg.c:924 msgid "window functions are not allowed in check constraints" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les contraintes CHECK" -#: parser/parse_agg.c:917 +#: parser/parse_agg.c:928 msgid "window functions are not allowed in DEFAULT expressions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions par défaut" -#: parser/parse_agg.c:920 +#: parser/parse_agg.c:931 msgid "window functions are not allowed in index expressions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions d'index" -#: parser/parse_agg.c:923 +#: parser/parse_agg.c:934 msgid "window functions are not allowed in statistics expressions" msgstr "les fonctions de fenêtrage ne sont pas autorisées dans les expressions statistiques" -#: parser/parse_agg.c:926 +#: parser/parse_agg.c:937 msgid "window functions are not allowed in index predicates" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les prédicats d'index" -#: parser/parse_agg.c:929 +#: parser/parse_agg.c:940 msgid "window functions are not allowed in transform expressions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions de transformation" -#: parser/parse_agg.c:932 +#: parser/parse_agg.c:943 msgid "window functions are not allowed in EXECUTE parameters" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les paramètres d'EXECUTE" -#: parser/parse_agg.c:935 +#: parser/parse_agg.c:946 msgid "window functions are not allowed in trigger WHEN conditions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les conditions WHEN des triggers" -#: parser/parse_agg.c:938 +#: parser/parse_agg.c:949 msgid "window functions are not allowed in partition bound" msgstr "les fonctions de fenêtrage ne sont pas autorisées dans les limites de partition" -#: parser/parse_agg.c:941 +#: parser/parse_agg.c:952 msgid "window functions are not allowed in partition key expressions" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les expressions de clé de partitionnement" -#: parser/parse_agg.c:944 +#: parser/parse_agg.c:955 msgid "window functions are not allowed in CALL arguments" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans les arguments de CALL" -#: parser/parse_agg.c:947 +#: parser/parse_agg.c:958 msgid "window functions are not allowed in COPY FROM WHERE conditions" msgstr "les fonctions de fenêtrage ne sont pas autorisées dans les conditions WHERE d'un COPY FROM" -#: parser/parse_agg.c:950 +#: parser/parse_agg.c:961 msgid "window functions are not allowed in column generation expressions" msgstr "les fonctions de fenêtrage ne sont pas autorisées dans les expressions de génération de colonne" #. translator: %s is name of a SQL construct, eg GROUP BY -#: parser/parse_agg.c:973 parser/parse_clause.c:1845 +#: parser/parse_agg.c:984 parser/parse_clause.c:1845 #, c-format msgid "window functions are not allowed in %s" msgstr "les fonctions de fenêtrage ne sont pas autorisés dans %s" -#: parser/parse_agg.c:1007 parser/parse_clause.c:2678 +#: parser/parse_agg.c:1018 parser/parse_clause.c:2678 #, c-format msgid "window \"%s\" does not exist" msgstr "le window « %s » n'existe pas" -#: parser/parse_agg.c:1091 +#: parser/parse_agg.c:1102 #, c-format msgid "too many grouping sets present (maximum 4096)" msgstr "trop d'ensembles de regroupement présents (4096 maximum)" -#: parser/parse_agg.c:1231 +#: parser/parse_agg.c:1242 #, c-format msgid "aggregate functions are not allowed in a recursive query's recursive term" msgstr "les fonctions d'agrégat ne sont pas autorisées dans le terme récursif d'une requête récursive" -#: parser/parse_agg.c:1424 +#: parser/parse_agg.c:1435 #, c-format msgid "column \"%s.%s\" must appear in the GROUP BY clause or be used in an aggregate function" msgstr "la colonne « %s.%s » doit apparaître dans la clause GROUP BY ou doit être utilisé dans une fonction d'agrégat" -#: parser/parse_agg.c:1427 +#: parser/parse_agg.c:1438 #, c-format msgid "Direct arguments of an ordered-set aggregate must use only grouped columns." msgstr "Les arguments directs d'un agégat par ensemble ordonné doivent seulement utiliser des colonnes groupées." -#: parser/parse_agg.c:1432 +#: parser/parse_agg.c:1443 #, c-format msgid "subquery uses ungrouped column \"%s.%s\" from outer query" msgstr "" "la sous-requête utilise une colonne « %s.%s » non groupée dans la requête\n" "externe" -#: parser/parse_agg.c:1596 +#: parser/parse_agg.c:1607 #, c-format msgid "arguments to GROUPING must be grouping expressions of the associated query level" msgstr "les arguments de la clause GROUPING doivent être des expressions de regroupement du niveau associé de la requête" @@ -17465,9 +16984,7 @@ msgstr "RANGE avec offset PRECEDING/FOLLOWING a de multiples interprétations po msgid "Cast the offset value to the exact intended type." msgstr "Transtypez la valeur d'offset vers exactement le type attendu." -#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 -#: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:994 +#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:1008 #, c-format msgid "cannot cast type %s to %s" msgstr "ne peut pas convertir le type %s en %s" @@ -17518,27 +17035,22 @@ msgstr "les types d'argument %s et %s ne se correspondent pas" msgid "%s could not convert type %s to %s" msgstr "%s n'a pas pu convertir le type %s en %s" -#: parser/parse_coerce.c:2154 parser/parse_coerce.c:2174 -#: parser/parse_coerce.c:2194 parser/parse_coerce.c:2215 -#: parser/parse_coerce.c:2270 parser/parse_coerce.c:2304 +#: parser/parse_coerce.c:2154 parser/parse_coerce.c:2174 parser/parse_coerce.c:2194 parser/parse_coerce.c:2215 parser/parse_coerce.c:2270 parser/parse_coerce.c:2304 #, c-format msgid "arguments declared \"%s\" are not all alike" msgstr "les arguments déclarés « %s » ne sont pas tous identiques" -#: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 -#: utils/fmgr/funcapi.c:601 +#: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 utils/fmgr/funcapi.c:609 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "l'argument déclaré %s n'est pas un tableau mais est du type %s" -#: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 -#: utils/fmgr/funcapi.c:615 +#: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 utils/fmgr/funcapi.c:623 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "l'argument déclaré %s n'est pas un type d'intervalle mais est du type %s" -#: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 -#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:633 utils/fmgr/funcapi.c:698 +#: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:641 utils/fmgr/funcapi.c:706 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "l'argument déclaré %s n'est pas un type multirange mais est du type %s" @@ -17548,8 +17060,7 @@ msgstr "l'argument déclaré %s n'est pas un type multirange mais est du type %s msgid "cannot determine element type of \"anyarray\" argument" msgstr "ne peut pas déterminer le type d'élément d'un argument « anyarray »" -#: parser/parse_coerce.c:2379 parser/parse_coerce.c:2410 -#: parser/parse_coerce.c:2449 parser/parse_coerce.c:2515 +#: parser/parse_coerce.c:2379 parser/parse_coerce.c:2410 parser/parse_coerce.c:2449 parser/parse_coerce.c:2515 #, c-format msgid "argument declared %s is not consistent with argument declared %s" msgstr "l'argument déclaré %s n'est pas cohérent avec l'argument déclaré %s" @@ -17576,9 +17087,7 @@ msgstr "le type déclaré anyenum n'est pas un type enum : %s" msgid "arguments of anycompatible family cannot be cast to a common type" msgstr "les arguments d'une famille anycompatible ne peuvent pas être convertis vers un type commun" -#: parser/parse_coerce.c:2577 parser/parse_coerce.c:2598 -#: parser/parse_coerce.c:2648 parser/parse_coerce.c:2653 -#: parser/parse_coerce.c:2717 parser/parse_coerce.c:2729 +#: parser/parse_coerce.c:2577 parser/parse_coerce.c:2598 parser/parse_coerce.c:2648 parser/parse_coerce.c:2653 parser/parse_coerce.c:2717 parser/parse_coerce.c:2729 #, c-format msgid "could not determine polymorphic type %s because input has type %s" msgstr "n'a pas pu déterminer le type polymorphique %s car l'entrée dispose du type %s" @@ -17622,14 +17131,12 @@ msgstr "Un résultat de type %s requiert au moins une entrée de type anycompati msgid "A result of type internal requires at least one input of type internal." msgstr "Un résultat de type internal nécessite au moins une entrée de type internal." -#: parser/parse_collate.c:228 parser/parse_collate.c:475 -#: parser/parse_collate.c:1005 +#: parser/parse_collate.c:228 parser/parse_collate.c:475 parser/parse_collate.c:1005 #, c-format msgid "collation mismatch between implicit collations \"%s\" and \"%s\"" msgstr "le collationnement ne correspond pas aux collationnements implicites « %s » et « %s »" -#: parser/parse_collate.c:231 parser/parse_collate.c:478 -#: parser/parse_collate.c:1008 +#: parser/parse_collate.c:231 parser/parse_collate.c:478 parser/parse_collate.c:1008 #, c-format msgid "You can choose the collation by applying the COLLATE clause to one or both expressions." msgstr "Vous pouvez choisir le collationnement en appliquant la clause COLLATE à une ou aux deux expressions." @@ -17834,8 +17341,7 @@ msgstr "la référence récursive à la requête « %s » ne doit pas apparaîtr msgid "DEFAULT is not allowed in this context" msgstr "DEFAULT interdit dans ce contexte" -#: parser/parse_expr.c:335 parser/parse_relation.c:3659 -#: parser/parse_relation.c:3679 +#: parser/parse_expr.c:335 parser/parse_relation.c:3668 parser/parse_relation.c:3688 #, c-format msgid "column %s.%s does not exist" msgstr "la colonne %s.%s n'existe pas" @@ -17868,14 +17374,12 @@ msgstr "ne peut pas utiliser une référence de colonne dans l'expression par dà msgid "cannot use column reference in partition bound expression" msgstr "ne peut pas utiliser une référence de colonne dans une expression de limite de partition" -#: parser/parse_expr.c:784 parser/parse_relation.c:818 -#: parser/parse_relation.c:900 parser/parse_target.c:1234 +#: parser/parse_expr.c:784 parser/parse_relation.c:818 parser/parse_relation.c:900 parser/parse_target.c:1248 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "la référence à la colonne « %s » est ambigüe" -#: parser/parse_expr.c:840 parser/parse_param.c:110 parser/parse_param.c:142 -#: parser/parse_param.c:208 parser/parse_param.c:307 +#: parser/parse_expr.c:840 parser/parse_param.c:110 parser/parse_param.c:142 parser/parse_param.c:208 parser/parse_param.c:307 #, c-format msgid "there is no parameter $%d" msgstr "il n'y a pas de paramètre $%d" @@ -18419,24 +17923,24 @@ msgstr "les fonctions renvoyant un ensemble de lignes ne sont pas autorisées da msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "WHERE CURRENT OF n'est pas supporté pour ce type de table" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:166 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "clause WHEN non atteignable spécifiée après la clause WHEN sans condition" -#: parser/parse_merge.c:191 +#: parser/parse_merge.c:196 #, fuzzy, c-format #| msgid "LIKE is not supported for creating foreign tables" msgid "MERGE is not supported for relations with rules." msgstr "LIKE n'est pas supporté pour la création de tables distantes" -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:213 #, fuzzy, c-format #| msgid "table name \"%s\" specified more than once" msgid "name \"%s\" specified more than once" msgstr "le nom de la table « %s » est spécifié plus d'une fois" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:215 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "Le nom est utilisé à la fois comme table cible et source de données du MERGE." @@ -18451,8 +17955,7 @@ msgstr "les listes cibles peuvent avoir au plus %d colonnes" msgid "postfix operators are not supported" msgstr "les opérateurs postfixes ne sont pas supportés" -#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:539 -#: utils/adt/regproc.c:723 +#: parser/parse_oper.c:130 parser/parse_oper.c:649 utils/adt/regproc.c:539 utils/adt/regproc.c:723 #, c-format msgid "operator does not exist: %s" msgstr "l'opérateur n'existe pas : %s" @@ -18538,12 +18041,12 @@ msgstr "la référence à la table %u est ambigüe" msgid "table name \"%s\" specified more than once" msgstr "le nom de la table « %s » est spécifié plus d'une fois" -#: parser/parse_relation.c:474 parser/parse_relation.c:3599 +#: parser/parse_relation.c:474 parser/parse_relation.c:3608 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "référence invalide d'une entrée de la clause FROM pour la table « %s »" -#: parser/parse_relation.c:478 parser/parse_relation.c:3604 +#: parser/parse_relation.c:478 parser/parse_relation.c:3613 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "" @@ -18571,8 +18074,7 @@ msgstr "ne peut pas utiliser la colonne système « %s » dans une expression de msgid "cannot use system column \"%s\" in MERGE WHEN condition" msgstr "ne peut pas utiliser la colonne système « %s » comme clé de partitionnement" -#: parser/parse_relation.c:1184 parser/parse_relation.c:1636 -#: parser/parse_relation.c:2357 +#: parser/parse_relation.c:1184 parser/parse_relation.c:1636 parser/parse_relation.c:2357 #, c-format msgid "table \"%s\" has %d columns available but %d columns specified" msgstr "la table « %s » a %d colonnes disponibles mais %d colonnes spécifiées" @@ -18655,27 +18157,27 @@ msgstr "la table « %s » a %d colonnes disponibles mais %d colonnes spécifiée msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "La requête WITH « %s » n'a pas de clause RETURNING" -#: parser/parse_relation.c:3602 +#: parser/parse_relation.c:3611 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Peut-être que vous souhaitiez référencer l'alias de la table « %s »." -#: parser/parse_relation.c:3610 +#: parser/parse_relation.c:3619 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "entrée manquante de la clause FROM pour la table « %s »" -#: parser/parse_relation.c:3662 +#: parser/parse_relation.c:3671 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Peut-être que vous souhaitiez référencer la colonne « %s.%s »." -#: parser/parse_relation.c:3664 +#: parser/parse_relation.c:3673 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "Il existe une colonne nommée « %s » pour la table « %s » mais elle ne peut pas être référencée dans cette partie de la requête." -#: parser/parse_relation.c:3681 +#: parser/parse_relation.c:3690 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "Peut-être que vous souhaitiez référencer la colonne « %s.%s » ou la colonne « %s.%s »." @@ -18714,17 +18216,17 @@ msgstr "" "ne peut pas l'affecter au champ « %s » de la colonne « %s » parce qu'il n'existe\n" "pas une telle colonne dans le type de données %s" -#: parser/parse_target.c:877 +#: parser/parse_target.c:886 #, c-format msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" msgstr "l'affectation indicée à « %s » nécessite le type %s mais son expression est de type %s" -#: parser/parse_target.c:887 +#: parser/parse_target.c:896 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "le sous-champ « %s » est de type %s mais l'expression est de type %s" -#: parser/parse_target.c:1323 +#: parser/parse_target.c:1337 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "Un SELECT * sans table spécifiée n'est pas valide" @@ -18744,8 +18246,7 @@ msgstr "référence %%TYPE invalide (trop de points entre les noms) : %s" msgid "type reference %s converted to %s" msgstr "référence de type %s convertie en %s" -#: parser/parse_type.c:278 parser/parse_type.c:807 utils/cache/typcache.c:395 -#: utils/cache/typcache.c:450 +#: parser/parse_type.c:278 parser/parse_type.c:807 utils/cache/typcache.c:395 utils/cache/typcache.c:450 #, c-format msgid "type \"%s\" is only a shell" msgstr "le type « %s » n'est qu'une coquille" @@ -18770,337 +18271,329 @@ msgstr "nom de type « %s » invalide" msgid "cannot create partitioned table as inheritance child" msgstr "ne peut pas créer une table partitionnée comme la fille d'un héritage" -#: parser/parse_utilcmd.c:580 +#: parser/parse_utilcmd.c:589 #, c-format msgid "array of serial is not implemented" msgstr "le tableau de type serial n'est pas implémenté" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 -#: parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 parser/parse_utilcmd.c:739 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "déclarations NULL/NOT NULL en conflit pour la colonne « %s » de la table « %s »" -#: parser/parse_utilcmd.c:683 +#: parser/parse_utilcmd.c:692 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "" "plusieurs valeurs par défaut sont spécifiées pour la colonne « %s » de la table\n" "« %s »" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:709 #, c-format msgid "identity columns are not supported on typed tables" msgstr "les colonnes d'identité uniques ne sont pas supportées sur les tables typées" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:713 #, c-format msgid "identity columns are not supported on partitions" msgstr "les colonnes d'identité ne sont pas supportées sur les partitions" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:722 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "plusieurs spécifications d'identité pour la colonne « %s » de la table « %s »" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:752 #, c-format msgid "generated columns are not supported on typed tables" msgstr "les colonnes générées ne sont pas supportées sur les tables typées" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:756 #, c-format msgid "generated columns are not supported on partitions" msgstr "les colonnes générées ne sont pas supportées sur les partitions" -#: parser/parse_utilcmd.c:752 +#: parser/parse_utilcmd.c:761 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "plusieurs expressions de géénration sont spécifiées pour la colonne « %s » de la table « %s »" -#: parser/parse_utilcmd.c:770 parser/parse_utilcmd.c:885 +#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:894 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "les clés primaires ne sont pas supportées par les tables distantes" -#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:895 +#: parser/parse_utilcmd.c:788 parser/parse_utilcmd.c:904 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "les contraintes uniques ne sont pas supportées par les tables distantes" -#: parser/parse_utilcmd.c:824 +#: parser/parse_utilcmd.c:833 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "une valeur par défaut et une identité ont été spécifiées pour la colonne « %s » de la table « %s »" -#: parser/parse_utilcmd.c:832 +#: parser/parse_utilcmd.c:841 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "une valeur par défaut et une expression de génération ont été spécifiées à la fois pour la colonne « %s » de la table « %s »" -#: parser/parse_utilcmd.c:840 +#: parser/parse_utilcmd.c:849 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "une identité et une expression de génération ont été spécifiées à la fois pour la colonne « %s » de la table « %s »" -#: parser/parse_utilcmd.c:905 +#: parser/parse_utilcmd.c:914 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "les contraintes d'exclusion ne sont pas supportées par les tables distantes" -#: parser/parse_utilcmd.c:911 +#: parser/parse_utilcmd.c:920 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "les contraintes d'exclusion ne sont pas supportées sur les tables partitionnées" -#: parser/parse_utilcmd.c:976 +#: parser/parse_utilcmd.c:985 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE n'est pas supporté pour la création de tables distantes" -#: parser/parse_utilcmd.c:989 +#: parser/parse_utilcmd.c:998 #, fuzzy, c-format #| msgid "relation \"%s\" in %s clause not found in FROM clause" msgid "relation \"%s\" is invalid in LIKE clause" msgstr "relation « %s » dans une clause %s introuvable dans la clause FROM" -#: parser/parse_utilcmd.c:1755 parser/parse_utilcmd.c:1863 +#: parser/parse_utilcmd.c:1764 parser/parse_utilcmd.c:1872 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "l'index « %s » contient une référence de table de ligne complète" -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "ne peut pas utiliser un index existant dans CREATE TABLE" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2281 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "l'index « %s » est déjà associé à une contrainte" -#: parser/parse_utilcmd.c:2287 -#, c-format -msgid "index \"%s\" is not valid" -msgstr "l'index « %s » n'est pas valide" - -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2302 #, c-format msgid "\"%s\" is not a unique index" msgstr "« %s » n'est pas un index unique" -#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2301 -#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 +#: parser/parse_utilcmd.c:2303 parser/parse_utilcmd.c:2310 parser/parse_utilcmd.c:2317 parser/parse_utilcmd.c:2394 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Ne peut pas créer une clé primaire ou une contrainte unique avec cet index." -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "index \"%s\" contains expressions" msgstr "l'index « %s » contient des expressions" -#: parser/parse_utilcmd.c:2307 +#: parser/parse_utilcmd.c:2316 #, c-format msgid "\"%s\" is a partial index" msgstr "« %s » est un index partiel" -#: parser/parse_utilcmd.c:2319 +#: parser/parse_utilcmd.c:2328 #, c-format msgid "\"%s\" is a deferrable index" msgstr "« %s » est un index déferrable" -#: parser/parse_utilcmd.c:2320 +#: parser/parse_utilcmd.c:2329 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Ne peut pas créer une contrainte non-déferrable utilisant un index déferrable." -#: parser/parse_utilcmd.c:2384 +#: parser/parse_utilcmd.c:2393 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "l'index « %s », colonne numéro %d, n'a pas de tri par défaut" -#: parser/parse_utilcmd.c:2541 +#: parser/parse_utilcmd.c:2550 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "la colonne « %s » apparaît deux fois dans la contrainte de la clé primaire" -#: parser/parse_utilcmd.c:2547 +#: parser/parse_utilcmd.c:2556 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "la colonne « %s » apparaît deux fois sur une contrainte unique" -#: parser/parse_utilcmd.c:2894 +#: parser/parse_utilcmd.c:2903 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "les expressions et prédicats d'index peuvent seulement faire référence à la table en cours d'indexage" -#: parser/parse_utilcmd.c:2966 +#: parser/parse_utilcmd.c:2975 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "les expressions statistiques peuvent seulement faire référence à la table référencée" -#: parser/parse_utilcmd.c:3009 +#: parser/parse_utilcmd.c:3018 #, c-format msgid "rules on materialized views are not supported" msgstr "les règles ne sont pas supportés sur les vues matérialisées" -#: parser/parse_utilcmd.c:3072 +#: parser/parse_utilcmd.c:3081 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "" "la condition WHERE d'une règle ne devrait pas contenir de références à d'autres\n" "relations" -#: parser/parse_utilcmd.c:3145 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "les règles avec des conditions WHERE ne peuvent contenir que des actions SELECT, INSERT, UPDATE ou DELETE " -#: parser/parse_utilcmd.c:3163 parser/parse_utilcmd.c:3264 -#: rewrite/rewriteHandler.c:532 rewrite/rewriteManip.c:1021 +#: parser/parse_utilcmd.c:3172 parser/parse_utilcmd.c:3273 rewrite/rewriteHandler.c:532 rewrite/rewriteManip.c:1021 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "" "les instructions conditionnelles UNION/INTERSECT/EXCEPT ne sont pas\n" "implémentées" -#: parser/parse_utilcmd.c:3181 +#: parser/parse_utilcmd.c:3190 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "la règle ON SELECT ne peut pas utiliser OLD" -#: parser/parse_utilcmd.c:3185 +#: parser/parse_utilcmd.c:3194 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "la règle ON SELECT ne peut pas utiliser NEW" -#: parser/parse_utilcmd.c:3194 +#: parser/parse_utilcmd.c:3203 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "la règle ON INSERT ne peut pas utiliser OLD" -#: parser/parse_utilcmd.c:3200 +#: parser/parse_utilcmd.c:3209 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "la règle ON INSERT ne peut pas utiliser NEW" -#: parser/parse_utilcmd.c:3228 +#: parser/parse_utilcmd.c:3237 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "ne peut référencer OLD dans une requête WITH" -#: parser/parse_utilcmd.c:3235 +#: parser/parse_utilcmd.c:3244 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "ne peut référencer NEW dans une requête WITH" -#: parser/parse_utilcmd.c:3689 +#: parser/parse_utilcmd.c:3698 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "clause DEFERRABLE mal placée" -#: parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3709 +#: parser/parse_utilcmd.c:3703 parser/parse_utilcmd.c:3718 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "clauses DEFERRABLE/NOT DEFERRABLE multiples non autorisées" -#: parser/parse_utilcmd.c:3704 +#: parser/parse_utilcmd.c:3713 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "clause NOT DEFERRABLE mal placée" -#: parser/parse_utilcmd.c:3725 +#: parser/parse_utilcmd.c:3734 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "clause INITIALLY DEFERRED mal placée" -#: parser/parse_utilcmd.c:3730 parser/parse_utilcmd.c:3756 +#: parser/parse_utilcmd.c:3739 parser/parse_utilcmd.c:3765 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "clauses INITIALLY IMMEDIATE/DEFERRED multiples non autorisées" -#: parser/parse_utilcmd.c:3751 +#: parser/parse_utilcmd.c:3760 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "clause INITIALLY IMMEDIATE mal placée" -#: parser/parse_utilcmd.c:3944 +#: parser/parse_utilcmd.c:3953 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATE spécifie un schéma (%s) différent de celui tout juste créé (%s)" -#: parser/parse_utilcmd.c:3979 +#: parser/parse_utilcmd.c:3988 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "« %s » n'est pas une table partitionnée" -#: parser/parse_utilcmd.c:3986 +#: parser/parse_utilcmd.c:3995 #, c-format msgid "table \"%s\" is not partitioned" msgstr "la table « %s » n'est pas partitionnée" -#: parser/parse_utilcmd.c:3993 +#: parser/parse_utilcmd.c:4002 #, c-format msgid "index \"%s\" is not partitioned" msgstr "l'index « %s » n'est pas partitionné" -#: parser/parse_utilcmd.c:4033 +#: parser/parse_utilcmd.c:4042 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "une table partitionnée par hachage ne peut pas avoir de partition par défaut" -#: parser/parse_utilcmd.c:4050 +#: parser/parse_utilcmd.c:4059 #, c-format msgid "invalid bound specification for a hash partition" msgstr "spécification de limite invalide pour une partition par hachage" -#: parser/parse_utilcmd.c:4056 partitioning/partbounds.c:4824 +#: parser/parse_utilcmd.c:4065 partitioning/partbounds.c:4824 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "le modulo pour une partition par hachage doit être un entier dont la valeur est supérieure à zéro" -#: parser/parse_utilcmd.c:4063 partitioning/partbounds.c:4832 +#: parser/parse_utilcmd.c:4072 partitioning/partbounds.c:4832 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "le reste pour une partition par hachage doit être inférieur au modulo" -#: parser/parse_utilcmd.c:4076 +#: parser/parse_utilcmd.c:4085 #, c-format msgid "invalid bound specification for a list partition" msgstr "spécification de limite invalide pour une partition par liste" -#: parser/parse_utilcmd.c:4129 +#: parser/parse_utilcmd.c:4138 #, c-format msgid "invalid bound specification for a range partition" msgstr "spécification de limite invalide pour une partition par intervalle" -#: parser/parse_utilcmd.c:4135 +#: parser/parse_utilcmd.c:4144 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROM doit spécifier exactement une valeur par colonne de partitionnement" -#: parser/parse_utilcmd.c:4139 +#: parser/parse_utilcmd.c:4148 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TO doit spécifier exactement une valeur par colonne de partitionnement" -#: parser/parse_utilcmd.c:4253 +#: parser/parse_utilcmd.c:4262 #, c-format msgid "cannot specify NULL in range bound" msgstr "ne peut pas spécifier NULL dans la limite de l'intervalle" -#: parser/parse_utilcmd.c:4302 +#: parser/parse_utilcmd.c:4311 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "chaque limite suivant MAXVALUE doit aussi être MAXVALUE" -#: parser/parse_utilcmd.c:4309 +#: parser/parse_utilcmd.c:4318 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "chaque limite suivant MINVALUE doit aussi être MINVALUE" -#: parser/parse_utilcmd.c:4352 +#: parser/parse_utilcmd.c:4361 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "la valeur spécifiée ne peut pas être convertie vers le type %s pour la colonne « %s »" @@ -19128,8 +18621,7 @@ msgstr "échappement Unicode invalide" msgid "Unicode escapes must be \\XXXX or \\+XXXXXX." msgstr "Les échappements Unicode doivent être de la forme \\XXXX ou \\+XXXXXX." -#: parser/parser.c:497 scan.l:645 scan.l:661 scan.l:677 -#: utils/adt/varlena.c:6554 +#: parser/parser.c:497 scan.l:645 scan.l:661 scan.l:677 utils/adt/varlena.c:6554 #, c-format msgid "invalid Unicode surrogate pair" msgstr "paire surrogate Unicode invalide" @@ -19144,8 +18636,7 @@ msgstr "l'identifiant « %s » sera tronqué en « %.*s »" msgid "partition \"%s\" conflicts with existing default partition \"%s\"" msgstr "la partition « %s » est en conflit avec la partition par défaut existante « %s »" -#: partitioning/partbounds.c:2985 partitioning/partbounds.c:3004 -#: partitioning/partbounds.c:3026 +#: partitioning/partbounds.c:2985 partitioning/partbounds.c:3004 partitioning/partbounds.c:3026 #, c-format msgid "every hash partition modulus must be a factor of the next larger modulus" msgstr "chaque modulo de partition hash doit être un facteur du prochain plus gros modulo" @@ -19205,8 +18696,7 @@ msgstr "la colonne %d de la clé de partitionnement a pour type %s, mais la vale msgid "column %d of the partition key has type \"%s\", but supplied value is of type \"%s\"" msgstr "la colonne %d de la clé de partitionnement a pour type « %s », mais la valeur fournie a pour type « %s »" -#: port/pg_sema.c:209 port/pg_shmem.c:695 port/posix_sema.c:209 -#: port/sysv_sema.c:327 port/sysv_shmem.c:695 +#: port/pg_sema.c:209 port/pg_shmem.c:695 port/posix_sema.c:209 port/sysv_sema.c:327 port/sysv_shmem.c:695 #, c-format msgid "could not stat data directory \"%s\": %m" msgstr "n'a pas pu lire les informations sur le répertoire des données « %s » : %m" @@ -19274,14 +18764,14 @@ msgstr "Huge Pages non supportées sur cette plateforme" msgid "huge pages not supported with the current shared_memory_type setting" msgstr "huge pages non supportées avec la configuration actuelle de shared_memory_type" -#: port/pg_shmem.c:770 port/sysv_shmem.c:770 utils/init/miscinit.c:1187 +#: port/pg_shmem.c:770 port/sysv_shmem.c:770 utils/init/miscinit.c:1195 #, c-format msgid "pre-existing shared memory block (key %lu, ID %lu) is still in use" msgstr "" "le bloc de mémoire partagé pré-existant (clé %lu, ID %lu) est en cours\n" "d'utilisation" -#: port/pg_shmem.c:773 port/sysv_shmem.c:773 utils/init/miscinit.c:1189 +#: port/pg_shmem.c:773 port/sysv_shmem.c:773 utils/init/miscinit.c:1197 #, c-format msgid "Terminate any old server processes associated with data directory \"%s\"." msgstr "Terminez les anciens processus serveurs associés avec le répertoire de données « %s »." @@ -19375,8 +18865,7 @@ msgstr "n'a pas pu déverrouiller la sémaphore : code d'erreur %lu" msgid "could not try-lock semaphore: error code %lu" msgstr "n'a pas pu tenter le verrouillage de la sémaphore : code d'erreur %lu" -#: port/win32_shmem.c:144 port/win32_shmem.c:159 port/win32_shmem.c:171 -#: port/win32_shmem.c:187 +#: port/win32_shmem.c:144 port/win32_shmem.c:159 port/win32_shmem.c:171 port/win32_shmem.c:187 #, c-format msgid "could not enable user right \"%s\": error code %lu" msgstr "n'a pas pu activer le droit utilisateur « %s » : code d'erreur %lu" @@ -19384,13 +18873,11 @@ msgstr "n'a pas pu activer le droit utilisateur « %s » : code d'erreur %lu" #. translator: This is a term from Windows and should be translated to #. match the Windows localization. #. -#: port/win32_shmem.c:150 port/win32_shmem.c:159 port/win32_shmem.c:171 -#: port/win32_shmem.c:182 port/win32_shmem.c:184 port/win32_shmem.c:187 +#: port/win32_shmem.c:150 port/win32_shmem.c:159 port/win32_shmem.c:171 port/win32_shmem.c:182 port/win32_shmem.c:184 port/win32_shmem.c:187 msgid "Lock pages in memory" msgstr "Verrouillage des pages en mémoire" -#: port/win32_shmem.c:152 port/win32_shmem.c:160 port/win32_shmem.c:172 -#: port/win32_shmem.c:188 +#: port/win32_shmem.c:152 port/win32_shmem.c:160 port/win32_shmem.c:172 port/win32_shmem.c:188 #, c-format msgid "Failed system call was %s." msgstr "L'appel système qui a échoué était %s." @@ -19442,47 +18929,47 @@ msgstr "L'appel système qui a échoué était DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "L'appel système qui a échoué était MapViewOfFileEx." -#: postmaster/autovacuum.c:404 +#: postmaster/autovacuum.c:405 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "n'a pas pu exécuter le processus autovacuum maître : %m" -#: postmaster/autovacuum.c:752 +#: postmaster/autovacuum.c:753 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "le worker de l'autovacuum a pris trop de temps pour démarrer ; annulé" -#: postmaster/autovacuum.c:1482 +#: postmaster/autovacuum.c:1483 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "n'a pas pu exécuter le processus autovacuum worker : %m" -#: postmaster/autovacuum.c:2277 +#: postmaster/autovacuum.c:2296 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "autovacuum : suppression de la table temporaire orpheline « %s.%s.%s »" -#: postmaster/autovacuum.c:2502 +#: postmaster/autovacuum.c:2521 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "VACUUM automatique de la table « %s.%s.%s »" -#: postmaster/autovacuum.c:2505 +#: postmaster/autovacuum.c:2524 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "ANALYZE automatique de la table « %s.%s.%s »" -#: postmaster/autovacuum.c:2698 +#: postmaster/autovacuum.c:2717 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "traitement de l'enregistrement de travail pour la relation « %s.%s.%s »" -#: postmaster/autovacuum.c:3309 +#: postmaster/autovacuum.c:3328 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "autovacuum non démarré à cause d'une mauvaise configuration" -#: postmaster/autovacuum.c:3310 +#: postmaster/autovacuum.c:3329 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Activez l'option « track_counts »." @@ -19800,9 +19287,7 @@ msgstr "a reçu des données non chiffrées après la demande de chiffrement GSS msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "protocole frontal %u.%u non supporté : le serveur supporte de %u.0 à %u.%u" -#: postmaster/postmaster.c:2264 utils/misc/guc.c:7400 utils/misc/guc.c:7436 -#: utils/misc/guc.c:7506 utils/misc/guc.c:8937 utils/misc/guc.c:11971 -#: utils/misc/guc.c:12012 +#: postmaster/postmaster.c:2264 utils/misc/guc.c:7400 utils/misc/guc.c:7436 utils/misc/guc.c:7506 utils/misc/guc.c:8944 utils/misc/guc.c:11986 utils/misc/guc.c:12027 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "valeur invalide pour le paramètre « %s » : « %s »" @@ -19859,8 +19344,7 @@ msgstr "le système de base de données s'arrête" msgid "the database system is in recovery mode" msgstr "le système de bases de données est en cours de restauration" -#: postmaster/postmaster.c:2420 storage/ipc/procarray.c:493 -#: storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:359 +#: postmaster/postmaster.c:2420 storage/ipc/procarray.c:493 storage/ipc/sinvaladt.c:306 storage/lmgr/proc.c:359 #, c-format msgid "sorry, too many clients already" msgstr "désolé, trop de clients sont déjà connectés" @@ -19963,8 +19447,7 @@ msgstr "processus des journaux applicatifs" msgid "background worker \"%s\"" msgstr "processus en tâche de fond « %s »" -#: postmaster/postmaster.c:3409 postmaster/postmaster.c:3429 -#: postmaster/postmaster.c:3436 postmaster/postmaster.c:3454 +#: postmaster/postmaster.c:3409 postmaster/postmaster.c:3429 postmaster/postmaster.c:3436 postmaster/postmaster.c:3454 msgid "server process" msgstr "processus serveur" @@ -19980,8 +19463,7 @@ msgstr "arrêt des autres processus serveur actifs" msgid "%s (PID %d) exited with exit code %d" msgstr "%s (PID %d) a quitté avec le code de sortie %d" -#: postmaster/postmaster.c:3747 postmaster/postmaster.c:3759 -#: postmaster/postmaster.c:3769 postmaster/postmaster.c:3780 +#: postmaster/postmaster.c:3747 postmaster/postmaster.c:3759 postmaster/postmaster.c:3769 postmaster/postmaster.c:3780 #, c-format msgid "Failed process was running: %s" msgstr "Le processus qui a échoué exécutait : %s" @@ -20034,8 +19516,7 @@ msgstr "arrêt parce que restart_after_crash est configuré à off" msgid "all server processes terminated; reinitializing" msgstr "tous les processus serveur sont arrêtés ; réinitialisation" -#: postmaster/postmaster.c:4194 postmaster/postmaster.c:5522 -#: postmaster/postmaster.c:5920 +#: postmaster/postmaster.c:4194 postmaster/postmaster.c:5522 postmaster/postmaster.c:5920 #, c-format msgid "could not generate random cancel key" msgstr "n'a pas pu générer la clé d'annulation aléatoire" @@ -20241,8 +19722,7 @@ msgstr "n'a pas pu poster le statut de fin de l'enfant\n" msgid "archive command failed with exit code %d" msgstr "échec de la commande d'archivage avec un code de retour %d" -#: postmaster/shell_archive.c:125 postmaster/shell_archive.c:135 -#: postmaster/shell_archive.c:141 postmaster/shell_archive.c:150 +#: postmaster/shell_archive.c:125 postmaster/shell_archive.c:135 postmaster/shell_archive.c:141 postmaster/shell_archive.c:150 #, c-format msgid "The failed archive command was: %s" msgstr "La commande d'archivage qui a échoué était : %s" @@ -20357,99 +19837,93 @@ msgstr "" "n'a pas pu recevoir l'identifiant du système de bases de données et\n" "l'identifiant de la timeline à partir du serveur principal : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:384 -#: replication/libpqwalreceiver/libpqwalreceiver.c:622 +#: replication/libpqwalreceiver/libpqwalreceiver.c:388 replication/libpqwalreceiver/libpqwalreceiver.c:626 #, c-format msgid "invalid response from primary server" msgstr "réponse invalide du serveur principal" -#: replication/libpqwalreceiver/libpqwalreceiver.c:385 +#: replication/libpqwalreceiver/libpqwalreceiver.c:389 #, c-format msgid "Could not identify system: got %d rows and %d fields, expected %d rows and %d or more fields." msgstr "" "N'a pas pu identifier le système : a récupéré %d lignes et %d champs,\n" "attendait %d lignes et %d champs (ou plus)." -#: replication/libpqwalreceiver/libpqwalreceiver.c:465 -#: replication/libpqwalreceiver/libpqwalreceiver.c:472 -#: replication/libpqwalreceiver/libpqwalreceiver.c:502 +#: replication/libpqwalreceiver/libpqwalreceiver.c:469 replication/libpqwalreceiver/libpqwalreceiver.c:476 replication/libpqwalreceiver/libpqwalreceiver.c:506 #, c-format msgid "could not start WAL streaming: %s" msgstr "n'a pas pu démarrer l'envoi des WAL : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:526 +#: replication/libpqwalreceiver/libpqwalreceiver.c:530 #, c-format msgid "could not send end-of-streaming message to primary: %s" msgstr "n'a pas pu transmettre le message de fin d'envoi de flux au primaire : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:549 +#: replication/libpqwalreceiver/libpqwalreceiver.c:553 #, c-format msgid "unexpected result set after end-of-streaming" msgstr "ensemble de résultats inattendu après la fin du flux de réplication" -#: replication/libpqwalreceiver/libpqwalreceiver.c:564 +#: replication/libpqwalreceiver/libpqwalreceiver.c:568 #, c-format msgid "error while shutting down streaming COPY: %s" msgstr "erreur lors de l'arrêt de la copie en flux : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:574 +#: replication/libpqwalreceiver/libpqwalreceiver.c:578 #, c-format msgid "error reading result of streaming command: %s" msgstr "erreur lors de la lecture de la commande de flux : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:583 -#: replication/libpqwalreceiver/libpqwalreceiver.c:821 +#: replication/libpqwalreceiver/libpqwalreceiver.c:587 replication/libpqwalreceiver/libpqwalreceiver.c:825 #, c-format msgid "unexpected result after CommandComplete: %s" msgstr "résultat inattendu après CommandComplete : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:610 +#: replication/libpqwalreceiver/libpqwalreceiver.c:614 #, c-format msgid "could not receive timeline history file from the primary server: %s" msgstr "n'a pas pu recevoir le fichier historique à partir du serveur principal : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:623 +#: replication/libpqwalreceiver/libpqwalreceiver.c:627 #, c-format msgid "Expected 1 tuple with 2 fields, got %d tuples with %d fields." msgstr "Attendait 1 ligne avec 2 champs, a obtenu %d lignes avec %d champs." -#: replication/libpqwalreceiver/libpqwalreceiver.c:784 -#: replication/libpqwalreceiver/libpqwalreceiver.c:837 -#: replication/libpqwalreceiver/libpqwalreceiver.c:844 +#: replication/libpqwalreceiver/libpqwalreceiver.c:788 replication/libpqwalreceiver/libpqwalreceiver.c:841 replication/libpqwalreceiver/libpqwalreceiver.c:848 #, c-format msgid "could not receive data from WAL stream: %s" msgstr "n'a pas pu recevoir des données du flux de WAL : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:864 +#: replication/libpqwalreceiver/libpqwalreceiver.c:868 #, c-format msgid "could not send data to WAL stream: %s" msgstr "n'a pas pu transmettre les données au flux WAL : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:956 +#: replication/libpqwalreceiver/libpqwalreceiver.c:960 #, c-format msgid "could not create replication slot \"%s\": %s" msgstr "n'a pas pu créer le slot de réplication « %s » : %s" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1002 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1006 #, c-format msgid "invalid query response" msgstr "réponse à la requête invalide" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1003 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1007 #, c-format msgid "Expected %d fields, got %d fields." msgstr "Attendait %d champs, a obtenu %d champs." -#: replication/libpqwalreceiver/libpqwalreceiver.c:1073 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1077 #, c-format msgid "the query interface requires a database connection" msgstr "l'interface de la requête requiert une connexion à une base" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1104 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1108 msgid "empty query" msgstr "requête vide" -#: replication/libpqwalreceiver/libpqwalreceiver.c:1110 +#: replication/libpqwalreceiver/libpqwalreceiver.c:1114 msgid "unexpected pipeline mode" msgstr "mode pipeline inattendu" @@ -20538,15 +20012,12 @@ msgstr "slot « %s », plugin de sortie « %s », dans la fonction d'appel %s, a msgid "slot \"%s\", output plugin \"%s\", in the %s callback" msgstr "slot « %s », plugin de sortie « %s », dans la fonction d'appel %s" -#: replication/logical/logical.c:897 replication/logical/logical.c:942 -#: replication/logical/logical.c:987 replication/logical/logical.c:1033 +#: replication/logical/logical.c:897 replication/logical/logical.c:942 replication/logical/logical.c:987 replication/logical/logical.c:1033 #, c-format msgid "logical replication at prepare time requires a %s callback" msgstr "la réplication logique lors de la préparation requiert la fonction %s" -#: replication/logical/logical.c:1265 replication/logical/logical.c:1314 -#: replication/logical/logical.c:1355 replication/logical/logical.c:1441 -#: replication/logical/logical.c:1490 +#: replication/logical/logical.c:1265 replication/logical/logical.c:1314 replication/logical/logical.c:1355 replication/logical/logical.c:1441 replication/logical/logical.c:1490 #, c-format msgid "logical streaming requires a %s callback" msgstr "le flux logique requiert une fonction %s" @@ -20576,8 +20047,7 @@ msgstr "le tableau doit avoir une dimension" msgid "array must not contain nulls" msgstr "le tableau ne doit pas contenir de valeurs NULL" -#: replication/logical/logicalfuncs.c:181 utils/adt/json.c:1128 -#: utils/adt/jsonb.c:1302 +#: replication/logical/logicalfuncs.c:181 utils/adt/json.c:1128 utils/adt/jsonb.c:1302 #, c-format msgid "array must have even number of elements" msgstr "le tableau doit avoir un nombre pair d'éléments" @@ -20663,8 +20133,7 @@ msgstr "l'origine de réplication d'OID %d est déjà active pour le PID %d" msgid "could not find free replication state slot for replication origin with ID %d" msgstr "n'a pas pu trouver de slot d'état de réplication libre pour l'origine de réplication d'OID %u" -#: replication/logical/origin.c:941 replication/logical/origin.c:1131 -#: replication/slot.c:1947 +#: replication/logical/origin.c:941 replication/logical/origin.c:1131 replication/slot.c:1947 #, c-format msgid "Increase max_replication_slots and try again." msgstr "Augmentez max_replication_slots et recommencez." @@ -20674,8 +20143,7 @@ msgstr "Augmentez max_replication_slots et recommencez." msgid "cannot setup replication origin when one is already setup" msgstr "ne peut pas configurer l'origine de réplication si une origine existe déjà " -#: replication/logical/origin.c:1168 replication/logical/origin.c:1380 -#: replication/logical/origin.c:1400 +#: replication/logical/origin.c:1168 replication/logical/origin.c:1380 replication/logical/origin.c:1400 #, c-format msgid "no replication origin is configured" msgstr "aucune origine de réplication n'est configurée" @@ -20722,14 +20190,12 @@ msgstr "la relation cible de la réplication logique « %s.%s » n'existe pas" msgid "could not write to data file for XID %u: %m" msgstr "n'a pas pu écrire dans le fichier pour le XID %u : %m" -#: replication/logical/reorderbuffer.c:4187 -#: replication/logical/reorderbuffer.c:4212 +#: replication/logical/reorderbuffer.c:4187 replication/logical/reorderbuffer.c:4212 #, c-format msgid "could not read from reorderbuffer spill file: %m" msgstr "n'a pas pu lire le fichier « reorderbuffer spill » : %m" -#: replication/logical/reorderbuffer.c:4191 -#: replication/logical/reorderbuffer.c:4216 +#: replication/logical/reorderbuffer.c:4191 replication/logical/reorderbuffer.c:4216 #, c-format msgid "could not read from reorderbuffer spill file: read %d instead of %u bytes" msgstr "" @@ -20758,8 +20224,7 @@ msgid_plural "exported logical decoding snapshot: \"%s\" with %u transaction IDs msgstr[0] "snapshot exporté pour le décodage logique : « %s » avec %u identifiant de transaction" msgstr[1] "snapshot exporté pour le décodage logique : « %s » avec %u identifiants de transaction" -#: replication/logical/snapbuild.c:1379 replication/logical/snapbuild.c:1486 -#: replication/logical/snapbuild.c:2015 +#: replication/logical/snapbuild.c:1379 replication/logical/snapbuild.c:1486 replication/logical/snapbuild.c:2015 #, c-format msgid "logical decoding found consistent point at %X/%X" msgstr "le décodage logique a trouvé le point de cohérence à %X/%X" @@ -20816,60 +20281,60 @@ msgstr "Le décodage logique commencera en utilisant un snapshot sauvegardé." msgid "could not parse file name \"%s\"" msgstr "n'a pas pu analyser le mode du fichier « %s »" -#: replication/logical/tablesync.c:151 +#: replication/logical/tablesync.c:158 #, c-format msgid "logical replication table synchronization worker for subscription \"%s\", table \"%s\" has finished" msgstr "le worker de synchronisation de table en réplication logique pour la souscription « %s », table « %s », a terminé" -#: replication/logical/tablesync.c:422 +#: replication/logical/tablesync.c:429 #, fuzzy, c-format #| msgid "logical replication apply worker for subscription \"%s\" will restart because of a parameter change" msgid "logical replication apply worker for subscription \"%s\" will restart so that two_phase can be enabled" msgstr "le processus apply de réplication logique pour la souscription « %s » redémarrera car un paramètre a été modifié" -#: replication/logical/tablesync.c:731 replication/logical/tablesync.c:872 +#: replication/logical/tablesync.c:748 replication/logical/tablesync.c:889 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "n'a pas pu récupérer l'information sur la table « %s.%s » à partir du publieur : %s" -#: replication/logical/tablesync.c:738 +#: replication/logical/tablesync.c:755 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "table « %s.%s » non trouvée sur le publieur" -#: replication/logical/tablesync.c:795 +#: replication/logical/tablesync.c:812 #, fuzzy, c-format #| msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "n'a pas pu récupérer l'information sur la table « %s.%s » à partir du publieur : %s" -#: replication/logical/tablesync.c:974 +#: replication/logical/tablesync.c:991 #, fuzzy, c-format #| msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgid "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: %s" msgstr "n'a pas pu récupérer l'information sur la table « %s.%s » à partir du publieur : %s" -#: replication/logical/tablesync.c:1111 +#: replication/logical/tablesync.c:1136 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "n'a pas pu lancer la copie initiale du contenu de la table « %s.%s » : %s" -#: replication/logical/tablesync.c:1323 replication/logical/worker.c:1635 +#: replication/logical/tablesync.c:1348 replication/logical/worker.c:1635 #, c-format msgid "user \"%s\" cannot replicate into relation with row-level security enabled: \"%s\"" msgstr "l'utilisateur « %s » ne peut pas répliquer la relation avec la sécurité niveau ligne activée : « %s »" -#: replication/logical/tablesync.c:1338 +#: replication/logical/tablesync.c:1363 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "la copie de table n'a pas pu démarrer la transaction sur le publieur : %s" -#: replication/logical/tablesync.c:1380 +#: replication/logical/tablesync.c:1405 #, c-format msgid "replication origin \"%s\" already exists" msgstr "l'origine de réplication « %s » existe déjà " -#: replication/logical/tablesync.c:1393 +#: replication/logical/tablesync.c:1418 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "la copie de table n'a pas pu finir la transaction sur le publieur : %s" @@ -21102,8 +20567,7 @@ msgstr "tous les slots de réplication sont utilisés" msgid "Free one or increase max_replication_slots." msgstr "Libérez un slot ou augmentez max_replication_slots." -#: replication/slot.c:472 replication/slotfuncs.c:727 -#: utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:704 +#: replication/slot.c:472 replication/slotfuncs.c:727 utils/activity/pgstat_replslot.c:55 utils/adt/genfile.c:704 #, c-format msgid "replication slot \"%s\" does not exist" msgstr "le slot de réplication « %s » n'existe pas" @@ -21460,9 +20924,7 @@ msgstr "ne peut pas exécuter des commandes SQL dans le walsender pour la répli msgid "received replication command: %s" msgstr "commande de réplication reçu : %s" -#: replication/walsender.c:1780 tcop/fastpath.c:208 tcop/postgres.c:1114 -#: tcop/postgres.c:1472 tcop/postgres.c:1712 tcop/postgres.c:2181 -#: tcop/postgres.c:2614 tcop/postgres.c:2692 +#: replication/walsender.c:1780 tcop/fastpath.c:208 tcop/postgres.c:1114 tcop/postgres.c:1472 tcop/postgres.c:1712 tcop/postgres.c:2181 tcop/postgres.c:2614 tcop/postgres.c:2692 #, c-format msgid "current transaction is aborted, commands ignored until end of transaction block" msgstr "" @@ -21489,231 +20951,230 @@ msgstr "type de message « %c » inattendu" msgid "terminating walsender process due to replication timeout" msgstr "arrêt du processus walreceiver suite à l'expiration du délai de réplication" -#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:1013 +#: rewrite/rewriteDefine.c:113 rewrite/rewriteDefine.c:1019 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "la règle « %s » existe déjà pour la relation « %s »" -#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:951 +#: rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:957 #, fuzzy, c-format #| msgid "relation \"%s\" is not a table" msgid "relation \"%s\" cannot have rules" msgstr "la relation « %s » n'est pas une table" -#: rewrite/rewriteDefine.c:302 +#: rewrite/rewriteDefine.c:303 #, c-format msgid "rule actions on OLD are not implemented" msgstr "les actions de la règle sur OLD ne sont pas implémentées" -#: rewrite/rewriteDefine.c:303 +#: rewrite/rewriteDefine.c:304 #, c-format msgid "Use views or triggers instead." msgstr "Utilisez à la place des vues ou des triggers." -#: rewrite/rewriteDefine.c:307 +#: rewrite/rewriteDefine.c:308 #, c-format msgid "rule actions on NEW are not implemented" msgstr "les actions de la règle sur NEW ne sont pas implémentées" -#: rewrite/rewriteDefine.c:308 +#: rewrite/rewriteDefine.c:309 #, c-format msgid "Use triggers instead." msgstr "Utilisez des triggers à la place." -#: rewrite/rewriteDefine.c:321 +#: rewrite/rewriteDefine.c:322 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "les règles INSTEAD NOTHING sur SELECT ne sont pas implémentées" -#: rewrite/rewriteDefine.c:322 +#: rewrite/rewriteDefine.c:323 #, c-format msgid "Use views instead." msgstr "Utilisez les vues à la place." -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:331 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "les actions multiples pour les règles sur SELECT ne sont pas implémentées" -#: rewrite/rewriteDefine.c:340 +#: rewrite/rewriteDefine.c:341 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "les règles sur SELECT doivent avoir une action INSTEAD SELECT" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:349 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "" "les règles sur SELECT ne doivent pas contenir d'instructions de modification\n" "de données avec WITH" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:357 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "" "les qualifications d'événements ne sont pas implémentées pour les règles sur\n" "SELECT" -#: rewrite/rewriteDefine.c:383 +#: rewrite/rewriteDefine.c:384 #, c-format msgid "\"%s\" is already a view" msgstr "« %s » est déjà une vue" -#: rewrite/rewriteDefine.c:407 +#: rewrite/rewriteDefine.c:408 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "la règle de la vue pour « %s » doit être nommée « %s »" -#: rewrite/rewriteDefine.c:436 +#: rewrite/rewriteDefine.c:442 #, c-format msgid "cannot convert partitioned table \"%s\" to a view" msgstr "ne peut pas convertir la table partitionnée « %s » en une vue" -#: rewrite/rewriteDefine.c:445 +#: rewrite/rewriteDefine.c:451 #, c-format msgid "cannot convert partition \"%s\" to a view" msgstr "ne peut pas convertir la partition « %s » en une vue" -#: rewrite/rewriteDefine.c:454 +#: rewrite/rewriteDefine.c:460 #, c-format msgid "could not convert table \"%s\" to a view because it is not empty" msgstr "n'a pas pu convertir la table « %s » en une vue car elle n'est pas vide" -#: rewrite/rewriteDefine.c:463 +#: rewrite/rewriteDefine.c:469 #, c-format msgid "could not convert table \"%s\" to a view because it has triggers" msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des triggers" -#: rewrite/rewriteDefine.c:465 +#: rewrite/rewriteDefine.c:471 #, c-format msgid "In particular, the table cannot be involved in any foreign key relationships." msgstr "" "En particulier, la table ne peut pas être impliquée dans les relations des\n" "clés étrangères." -#: rewrite/rewriteDefine.c:470 +#: rewrite/rewriteDefine.c:476 #, c-format msgid "could not convert table \"%s\" to a view because it has indexes" msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des index" -#: rewrite/rewriteDefine.c:476 +#: rewrite/rewriteDefine.c:482 #, c-format msgid "could not convert table \"%s\" to a view because it has child tables" msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des tables filles" -#: rewrite/rewriteDefine.c:482 +#: rewrite/rewriteDefine.c:488 #, c-format msgid "could not convert table \"%s\" to a view because it has parent tables" msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des tables parents" -#: rewrite/rewriteDefine.c:488 +#: rewrite/rewriteDefine.c:494 #, c-format msgid "could not convert table \"%s\" to a view because it has row security enabled" msgstr "n'a pas pu convertir la table « %s » en une vue parce que le mode sécurité des lignes est activé pour elle" -#: rewrite/rewriteDefine.c:494 +#: rewrite/rewriteDefine.c:500 #, c-format msgid "could not convert table \"%s\" to a view because it has row security policies" msgstr "n'a pas pu convertir la table « %s » en une vue parce qu'elle a des politiques de sécurité" -#: rewrite/rewriteDefine.c:521 +#: rewrite/rewriteDefine.c:527 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "ne peut pas avoir plusieurs listes RETURNING dans une règle" -#: rewrite/rewriteDefine.c:526 +#: rewrite/rewriteDefine.c:532 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "les listes RETURNING ne sont pas supportés dans des règles conditionnelles" -#: rewrite/rewriteDefine.c:530 +#: rewrite/rewriteDefine.c:536 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "les listes RETURNING ne sont pas supportées dans des règles autres que INSTEAD" -#: rewrite/rewriteDefine.c:544 +#: rewrite/rewriteDefine.c:550 #, fuzzy, c-format #| msgid "view rule for \"%s\" must be named \"%s\"" msgid "non-view rule for \"%s\" must not be named \"%s\"" msgstr "la règle de la vue pour « %s » doit être nommée « %s »" -#: rewrite/rewriteDefine.c:706 +#: rewrite/rewriteDefine.c:712 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "la liste cible de la règle SELECT a trop d'entrées" -#: rewrite/rewriteDefine.c:707 +#: rewrite/rewriteDefine.c:713 #, c-format msgid "RETURNING list has too many entries" msgstr "la liste RETURNING a trop d'entrées" -#: rewrite/rewriteDefine.c:734 +#: rewrite/rewriteDefine.c:740 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "ne peut pas convertir la relation contenant les colonnes supprimées de la vue" -#: rewrite/rewriteDefine.c:735 +#: rewrite/rewriteDefine.c:741 #, c-format msgid "cannot create a RETURNING list for a relation containing dropped columns" msgstr "ne peut pas créer une liste RETURNING pour une relation contenant des colonnes supprimées" -#: rewrite/rewriteDefine.c:741 +#: rewrite/rewriteDefine.c:747 #, c-format msgid "SELECT rule's target entry %d has different column name from column \"%s\"" msgstr "l'entrée cible de la règle SELECT %d a un nom de colonne différent pour la colonne « %s »" -#: rewrite/rewriteDefine.c:743 +#: rewrite/rewriteDefine.c:749 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "l'entrée cible de la règle SELECT est nommée « %s »." -#: rewrite/rewriteDefine.c:752 +#: rewrite/rewriteDefine.c:758 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "l'entrée cible de la règle SELECT %d a un type différent de la colonne « %s »" -#: rewrite/rewriteDefine.c:754 +#: rewrite/rewriteDefine.c:760 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "l'entrée %d de la liste RETURNING a un type différent de la colonne « %s »" -#: rewrite/rewriteDefine.c:757 rewrite/rewriteDefine.c:781 +#: rewrite/rewriteDefine.c:763 rewrite/rewriteDefine.c:787 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "l'entrée de la liste SELECT a le type %s alors que la colonne a le type %s." -#: rewrite/rewriteDefine.c:760 rewrite/rewriteDefine.c:785 +#: rewrite/rewriteDefine.c:766 rewrite/rewriteDefine.c:791 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "l'entrée de la liste RETURNING a le type %s alors que la colonne a le type %s." -#: rewrite/rewriteDefine.c:776 +#: rewrite/rewriteDefine.c:782 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "l'entrée cible de la règle SELECT %d a un taille différente de la colonne « %s »" -#: rewrite/rewriteDefine.c:778 +#: rewrite/rewriteDefine.c:784 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "l'entrée %d de la liste RETURNING a une taille différente de la colonne « %s »" -#: rewrite/rewriteDefine.c:795 +#: rewrite/rewriteDefine.c:801 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "l'entrée cible de la règle SELECT n'a pas assez d'entrées" -#: rewrite/rewriteDefine.c:796 +#: rewrite/rewriteDefine.c:802 #, c-format msgid "RETURNING list has too few entries" msgstr "la liste RETURNING n'a pas assez d'entrées" -#: rewrite/rewriteDefine.c:889 rewrite/rewriteDefine.c:1004 -#: rewrite/rewriteSupport.c:109 +#: rewrite/rewriteDefine.c:895 rewrite/rewriteDefine.c:1010 rewrite/rewriteSupport.c:109 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "la règle « %s » de la relation « %s » n'existe pas" -#: rewrite/rewriteDefine.c:1023 +#: rewrite/rewriteDefine.c:1029 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "le renommage d'une règle ON SELECT n'est pas autorisé" @@ -21820,8 +21281,7 @@ msgstr "Les vues qui renvoient des fonctions de fenêtrage ne sont pas automatiq msgid "Views that return set-returning functions are not automatically updatable." msgstr "Les vues qui renvoient des fonctions à plusieurs lignes ne sont pas automatiquement disponibles en écriture." -#: rewrite/rewriteHandler.c:2660 rewrite/rewriteHandler.c:2664 -#: rewrite/rewriteHandler.c:2672 +#: rewrite/rewriteHandler.c:2660 rewrite/rewriteHandler.c:2664 rewrite/rewriteHandler.c:2672 msgid "Views that do not select from a single table or view are not automatically updatable." msgstr "Les vues qui lisent plusieurs tables ou vues ne sont pas automatiquement disponibles en écriture." @@ -21872,8 +21332,7 @@ msgstr "" "les règles DO INSTEAD multi-instructions ne sont pas supportées pour les\n" "instructions de modification de données dans WITH" -#: rewrite/rewriteHandler.c:3976 rewrite/rewriteHandler.c:3984 -#: rewrite/rewriteHandler.c:3992 +#: rewrite/rewriteHandler.c:3976 rewrite/rewriteHandler.c:3984 rewrite/rewriteHandler.c:3992 #, c-format msgid "Views with conditional DO INSTEAD rules are not automatically updatable." msgstr "Les vues contenant des règles DO INSTEAD conditionnelles ne sont pas automatiquement disponibles en écriture." @@ -22065,8 +21524,7 @@ msgstr "" msgid "no Snowball stemmer available for language \"%s\" and encoding \"%s\"" msgstr "aucun stemmer Snowball disponible pour la langue « %s » et l'encodage « %s »" -#: snowball/dict_snowball.c:238 tsearch/dict_ispell.c:74 -#: tsearch/dict_simple.c:49 +#: snowball/dict_snowball.c:238 tsearch/dict_ispell.c:74 tsearch/dict_simple.c:49 #, c-format msgid "multiple StopWords parameters" msgstr "plusieurs paramètres StopWords" @@ -22213,8 +21671,7 @@ msgstr "nombre de descripteurs de fichier insuffisant pour lancer le processus s msgid "System allows %d, we need at least %d." msgstr "Le système autorise %d, nous avons besoin d'au moins %d." -#: storage/file/fd.c:1153 storage/file/fd.c:2496 storage/file/fd.c:2606 -#: storage/file/fd.c:2757 +#: storage/file/fd.c:1153 storage/file/fd.c:2496 storage/file/fd.c:2606 storage/file/fd.c:2757 #, c-format msgid "out of file descriptors: %m; release and retry" msgstr "plus de descripteurs de fichiers : %m; quittez et ré-essayez" @@ -22331,26 +21788,22 @@ msgstr "le segment contrôle de mémoire partagée dynamique n'est pas valide" msgid "too many dynamic shared memory segments" msgstr "trop de segments de mémoire partagée dynamique" -#: storage/ipc/dsm_impl.c:235 storage/ipc/dsm_impl.c:544 -#: storage/ipc/dsm_impl.c:648 storage/ipc/dsm_impl.c:819 +#: storage/ipc/dsm_impl.c:235 storage/ipc/dsm_impl.c:544 storage/ipc/dsm_impl.c:648 storage/ipc/dsm_impl.c:819 #, c-format msgid "could not unmap shared memory segment \"%s\": %m" msgstr "n'a pas pu annuler le mappage du segment de mémoire partagée « %s » : %m" -#: storage/ipc/dsm_impl.c:245 storage/ipc/dsm_impl.c:554 -#: storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:829 +#: storage/ipc/dsm_impl.c:245 storage/ipc/dsm_impl.c:554 storage/ipc/dsm_impl.c:658 storage/ipc/dsm_impl.c:829 #, c-format msgid "could not remove shared memory segment \"%s\": %m" msgstr "n'a pas pu supprimer le segment de mémoire partagée « %s » : %m" -#: storage/ipc/dsm_impl.c:269 storage/ipc/dsm_impl.c:729 -#: storage/ipc/dsm_impl.c:843 +#: storage/ipc/dsm_impl.c:269 storage/ipc/dsm_impl.c:729 storage/ipc/dsm_impl.c:843 #, c-format msgid "could not open shared memory segment \"%s\": %m" msgstr "n'a pas pu ouvrir le segment de mémoire partagée « %s » : %m" -#: storage/ipc/dsm_impl.c:294 storage/ipc/dsm_impl.c:570 -#: storage/ipc/dsm_impl.c:774 storage/ipc/dsm_impl.c:867 +#: storage/ipc/dsm_impl.c:294 storage/ipc/dsm_impl.c:570 storage/ipc/dsm_impl.c:774 storage/ipc/dsm_impl.c:867 #, c-format msgid "could not stat shared memory segment \"%s\": %m" msgstr "n'a pas pu obtenir des informations sur le segment de mémoire partagée « %s » : %m" @@ -22360,8 +21813,7 @@ msgstr "n'a pas pu obtenir des informations sur le segment de mémoire partagée msgid "could not resize shared memory segment \"%s\" to %zu bytes: %m" msgstr "n'a pas pu retailler le segment de mémoire partagée « %s » en %zu octets : %m" -#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:591 -#: storage/ipc/dsm_impl.c:750 storage/ipc/dsm_impl.c:940 +#: storage/ipc/dsm_impl.c:335 storage/ipc/dsm_impl.c:591 storage/ipc/dsm_impl.c:750 storage/ipc/dsm_impl.c:940 #, c-format msgid "could not map shared memory segment \"%s\": %m" msgstr "n'a pas pu mapper le segment de mémoire partagée « %s » : %m" @@ -22386,17 +21838,17 @@ msgstr "n'a pas pu fermer le segment de mémoire partagée « %s » : %m" msgid "could not duplicate handle for \"%s\": %m" msgstr "n'a pas pu dupliquer le lien pour « %s » : %m" -#: storage/ipc/procarray.c:3846 +#: storage/ipc/procarray.c:3845 #, c-format msgid "database \"%s\" is being used by prepared transactions" msgstr "la base de données « %s » est utilisée par des transactions préparées." -#: storage/ipc/procarray.c:3878 storage/ipc/signalfuncs.c:226 +#: storage/ipc/procarray.c:3877 storage/ipc/signalfuncs.c:231 #, c-format msgid "must be a superuser to terminate superuser process" msgstr "doit être super-utilisateur pour terminer le processus d'un super-utilisateur" -#: storage/ipc/procarray.c:3885 storage/ipc/signalfuncs.c:231 +#: storage/ipc/procarray.c:3884 storage/ipc/signalfuncs.c:236 #, c-format msgid "must be a member of the role whose process is being terminated or member of pg_signal_backend" msgstr "doit être un membre du rôle dont le processus est en cours d'arrêt ou membre de pg_signal_backend" @@ -22416,12 +21868,7 @@ msgstr "ne peut pas envoyer un message de taille %zu via la queue en mémoire pa msgid "invalid message size %zu in shared memory queue" msgstr "taille %zu invalide pour le message dans la queue de mémoire partagée" -#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:963 -#: storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2821 storage/lmgr/lock.c:4235 -#: storage/lmgr/lock.c:4300 storage/lmgr/lock.c:4650 -#: storage/lmgr/predicate.c:2485 storage/lmgr/predicate.c:2500 -#: storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:5106 -#: utils/hash/dynahash.c:1112 +#: storage/ipc/shm_toc.c:118 storage/ipc/shm_toc.c:200 storage/lmgr/lock.c:963 storage/lmgr/lock.c:1001 storage/lmgr/lock.c:2821 storage/lmgr/lock.c:4235 storage/lmgr/lock.c:4300 storage/lmgr/lock.c:4650 storage/lmgr/predicate.c:2485 storage/lmgr/predicate.c:2500 storage/lmgr/predicate.c:3990 storage/lmgr/predicate.c:5106 utils/hash/dynahash.c:1112 #, c-format msgid "out of shared memory" msgstr "mémoire partagée épuisée" @@ -22457,51 +21904,50 @@ msgstr "la taille de la mémoire partagée demandée dépasse size_t" msgid "PID %d is not a PostgreSQL backend process" msgstr "le PID %d n'est pas un processus du serveur PostgreSQL" -#: storage/ipc/signalfuncs.c:104 storage/lmgr/proc.c:1442 -#: utils/adt/mcxtfuncs.c:190 +#: storage/ipc/signalfuncs.c:109 storage/lmgr/proc.c:1442 utils/adt/mcxtfuncs.c:190 #, c-format msgid "could not send signal to process %d: %m" msgstr "n'a pas pu envoyer le signal au processus %d : %m" -#: storage/ipc/signalfuncs.c:124 +#: storage/ipc/signalfuncs.c:129 #, c-format msgid "must be a superuser to cancel superuser query" msgstr "doit être super-utilisateur pour annuler la requête d'un super-utilisateur" -#: storage/ipc/signalfuncs.c:129 +#: storage/ipc/signalfuncs.c:134 #, c-format msgid "must be a member of the role whose query is being canceled or member of pg_signal_backend" msgstr "doit être un membre du rôle dont la requête est en cours d'annulation ou membre de pg_signal_backend" -#: storage/ipc/signalfuncs.c:170 +#: storage/ipc/signalfuncs.c:175 #, c-format msgid "could not check the existence of the backend with PID %d: %m" msgstr "n'a pas pu vérifier l'existence du processus serveur de PID %d : %m" -#: storage/ipc/signalfuncs.c:188 +#: storage/ipc/signalfuncs.c:193 #, c-format msgid "backend with PID %d did not terminate within %lld millisecond" msgid_plural "backend with PID %d did not terminate within %lld milliseconds" msgstr[0] "le processus serveur de PID %d ne s'est pas terminé en %lld seconde" msgstr[1] "le processus serveur de PID %d ne s'est pas terminé en %lld secondes" -#: storage/ipc/signalfuncs.c:219 +#: storage/ipc/signalfuncs.c:224 #, c-format msgid "\"timeout\" must not be negative" msgstr "« timeout » ne doit pas être négatif" -#: storage/ipc/signalfuncs.c:271 +#: storage/ipc/signalfuncs.c:276 #, c-format msgid "must be superuser to rotate log files with adminpack 1.0" msgstr "doit être super-utilisateur pour exécuter la rotation des journaux applicatifs avec adminpack 1.0" #. translator: %s is a SQL function name -#: storage/ipc/signalfuncs.c:273 utils/adt/genfile.c:250 +#: storage/ipc/signalfuncs.c:278 utils/adt/genfile.c:250 #, c-format msgid "Consider using %s, which is part of core, instead." msgstr "Considérer l'utilisation de %s, qui fait partie de l'installation par défaut, à la place." -#: storage/ipc/signalfuncs.c:279 storage/ipc/signalfuncs.c:299 +#: storage/ipc/signalfuncs.c:284 storage/ipc/signalfuncs.c:304 #, c-format msgid "rotation not possible because log collection not active" msgstr "rotation impossible car la récupération des journaux applicatifs n'est pas activée" @@ -22634,62 +22080,62 @@ msgstr "lors de la re-vérification de l'enregistrement mis à jour (%u,%u) dans msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "lors de la vérification de la contrainte d'exclusion sur l'enregistrement (%u,%u) dans la relation « %s »" -#: storage/lmgr/lmgr.c:1135 +#: storage/lmgr/lmgr.c:1173 #, c-format msgid "relation %u of database %u" msgstr "relation %u de la base de données %u" -#: storage/lmgr/lmgr.c:1141 +#: storage/lmgr/lmgr.c:1179 #, c-format msgid "extension of relation %u of database %u" msgstr "extension de la relation %u de la base de données %u" -#: storage/lmgr/lmgr.c:1147 +#: storage/lmgr/lmgr.c:1185 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid de la base %u" -#: storage/lmgr/lmgr.c:1152 +#: storage/lmgr/lmgr.c:1190 #, c-format msgid "page %u of relation %u of database %u" msgstr "page %u de la relation %u de la base de données %u" -#: storage/lmgr/lmgr.c:1159 +#: storage/lmgr/lmgr.c:1197 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "ligne (%u,%u) de la relation %u de la base de données %u" -#: storage/lmgr/lmgr.c:1167 +#: storage/lmgr/lmgr.c:1205 #, c-format msgid "transaction %u" msgstr "transaction %u" -#: storage/lmgr/lmgr.c:1172 +#: storage/lmgr/lmgr.c:1210 #, c-format msgid "virtual transaction %d/%u" msgstr "transaction virtuelle %d/%u" -#: storage/lmgr/lmgr.c:1178 +#: storage/lmgr/lmgr.c:1216 #, c-format msgid "speculative token %u of transaction %u" msgstr "jeton spéculatif %u de la transaction %u" -#: storage/lmgr/lmgr.c:1184 +#: storage/lmgr/lmgr.c:1222 #, c-format msgid "object %u of class %u of database %u" msgstr "objet %u de la classe %u de la base de données %u" -#: storage/lmgr/lmgr.c:1192 +#: storage/lmgr/lmgr.c:1230 #, c-format msgid "user lock [%u,%u,%u]" msgstr "verrou utilisateur [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1199 +#: storage/lmgr/lmgr.c:1237 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "verrou informatif [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1207 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "unrecognized locktag type %d" msgstr "type locktag non reconnu %d" @@ -22708,8 +22154,7 @@ msgstr "" "Seuls RowExclusiveLock et les verrous inférieurs peuvent être acquis sur les\n" "objets d'une base pendant une restauration." -#: storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002 storage/lmgr/lock.c:2822 -#: storage/lmgr/lock.c:4236 storage/lmgr/lock.c:4301 storage/lmgr/lock.c:4651 +#: storage/lmgr/lock.c:964 storage/lmgr/lock.c:1002 storage/lmgr/lock.c:2822 storage/lmgr/lock.c:4236 storage/lmgr/lock.c:4301 storage/lmgr/lock.c:4651 #, c-format msgid "You might need to increase max_locks_per_transaction." msgstr "Vous pourriez avoir besoin d'augmenter max_locks_per_transaction." @@ -22753,8 +22198,7 @@ msgstr "" msgid "a snapshot-importing transaction must not be READ ONLY DEFERRABLE" msgstr "une transaction important un snapshot ne doit pas être READ ONLY DEFERRABLE" -#: storage/lmgr/predicate.c:1826 utils/time/snapmgr.c:569 -#: utils/time/snapmgr.c:575 +#: storage/lmgr/predicate.c:1826 utils/time/snapmgr.c:569 utils/time/snapmgr.c:575 #, c-format msgid "could not import the requested snapshot" msgstr "n'a pas pu importer le snapshot demandé" @@ -22764,28 +22208,19 @@ msgstr "n'a pas pu importer le snapshot demandé" msgid "The source process with PID %d is not running anymore." msgstr "Le processus source de PID %d n'est plus en cours d'exécution." -#: storage/lmgr/predicate.c:2486 storage/lmgr/predicate.c:2501 -#: storage/lmgr/predicate.c:3991 +#: storage/lmgr/predicate.c:2486 storage/lmgr/predicate.c:2501 storage/lmgr/predicate.c:3991 #, c-format msgid "You might need to increase max_pred_locks_per_transaction." msgstr "Vous pourriez avoir besoin d'augmenter max_pred_locks_per_transaction." -#: storage/lmgr/predicate.c:4122 storage/lmgr/predicate.c:4158 -#: storage/lmgr/predicate.c:4191 storage/lmgr/predicate.c:4199 -#: storage/lmgr/predicate.c:4238 storage/lmgr/predicate.c:4480 -#: storage/lmgr/predicate.c:4817 storage/lmgr/predicate.c:4829 -#: storage/lmgr/predicate.c:4876 storage/lmgr/predicate.c:4914 +#: storage/lmgr/predicate.c:4122 storage/lmgr/predicate.c:4158 storage/lmgr/predicate.c:4191 storage/lmgr/predicate.c:4199 storage/lmgr/predicate.c:4238 storage/lmgr/predicate.c:4480 storage/lmgr/predicate.c:4817 storage/lmgr/predicate.c:4829 storage/lmgr/predicate.c:4876 storage/lmgr/predicate.c:4914 #, c-format msgid "could not serialize access due to read/write dependencies among transactions" msgstr "" "n'a pas pu sérialiser un accès à cause des dépendances de lecture/écriture\n" "parmi les transactions" -#: storage/lmgr/predicate.c:4124 storage/lmgr/predicate.c:4160 -#: storage/lmgr/predicate.c:4193 storage/lmgr/predicate.c:4201 -#: storage/lmgr/predicate.c:4240 storage/lmgr/predicate.c:4482 -#: storage/lmgr/predicate.c:4819 storage/lmgr/predicate.c:4831 -#: storage/lmgr/predicate.c:4878 storage/lmgr/predicate.c:4916 +#: storage/lmgr/predicate.c:4124 storage/lmgr/predicate.c:4160 storage/lmgr/predicate.c:4193 storage/lmgr/predicate.c:4201 storage/lmgr/predicate.c:4240 storage/lmgr/predicate.c:4482 storage/lmgr/predicate.c:4819 storage/lmgr/predicate.c:4831 storage/lmgr/predicate.c:4878 storage/lmgr/predicate.c:4916 #, c-format msgid "The transaction might succeed if retried." msgstr "La transaction pourrait réussir après une nouvelle tentative." @@ -22831,9 +22266,7 @@ msgstr "le processus %d a échoué pour l'acquisition de %s sur %s après %ld.%0 msgid "page verification failed, calculated checksum %u but expected %u" msgstr "échec de la vérification de la page, somme de contrôle calculé %u, mais attendait %u" -#: storage/page/bufpage.c:217 storage/page/bufpage.c:730 -#: storage/page/bufpage.c:1073 storage/page/bufpage.c:1208 -#: storage/page/bufpage.c:1314 storage/page/bufpage.c:1426 +#: storage/page/bufpage.c:217 storage/page/bufpage.c:730 storage/page/bufpage.c:1073 storage/page/bufpage.c:1208 storage/page/bufpage.c:1314 storage/page/bufpage.c:1426 #, c-format msgid "corrupted page pointers: lower = %u, upper = %u, special = %u" msgstr "pointeurs de page corrompus : le plus bas = %u, le plus haut = %u, spécial = %u" @@ -22848,8 +22281,7 @@ msgstr "pointeur de ligne corrompu : %u" msgid "corrupted item lengths: total %u, available space %u" msgstr "longueurs d'élément corrompues : total %u, espace disponible %u" -#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 -#: storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 +#: storage/page/bufpage.c:1092 storage/page/bufpage.c:1233 storage/page/bufpage.c:1330 storage/page/bufpage.c:1442 #, c-format msgid "corrupted line pointer: offset = %u, size = %u" msgstr "pointeur de ligne corrompu : décalage = %u, taille = %u" @@ -22925,8 +22357,7 @@ msgstr "ne peut pas appeler la fonction « %s » via l'interface fastpath" msgid "fastpath function call: \"%s\" (OID %u)" msgstr "appel de fonction fastpath : « %s » (OID %u)" -#: tcop/fastpath.c:312 tcop/postgres.c:1341 tcop/postgres.c:1577 -#: tcop/postgres.c:2036 tcop/postgres.c:2280 +#: tcop/fastpath.c:312 tcop/postgres.c:1341 tcop/postgres.c:1577 tcop/postgres.c:2036 tcop/postgres.c:2280 #, c-format msgid "duration: %s ms" msgstr "durée : %s ms" @@ -23444,8 +22875,7 @@ msgstr "paramètre Thesaurus non reconnu : « %s »" msgid "missing Dictionary parameter" msgstr "paramètre Dictionary manquant" -#: tsearch/spell.c:381 tsearch/spell.c:398 tsearch/spell.c:407 -#: tsearch/spell.c:1063 +#: tsearch/spell.c:381 tsearch/spell.c:398 tsearch/spell.c:407 tsearch/spell.c:1063 #, c-format msgid "invalid affix flag \"%s\"" msgstr "drapeau d'affixe invalide « %s »" @@ -23475,8 +22905,7 @@ msgstr "n'a pas pu ouvrir le fichier dictionnaire « %s » : %m" msgid "invalid regular expression: %s" msgstr "expression rationnelle invalide : %s" -#: tsearch/spell.c:1190 tsearch/spell.c:1202 tsearch/spell.c:1762 -#: tsearch/spell.c:1767 tsearch/spell.c:1772 +#: tsearch/spell.c:1190 tsearch/spell.c:1202 tsearch/spell.c:1762 tsearch/spell.c:1767 tsearch/spell.c:1772 #, c-format msgid "invalid affix alias \"%s\"" msgstr "alias d'affixe invalide « %s »" @@ -23521,14 +22950,12 @@ msgstr "ligne %d du fichier de configuration « %s » : « %s »" msgid "conversion from wchar_t to server encoding failed: %m" msgstr "échec de l'encodage de wchar_t vers l'encodage du serveur : %m" -#: tsearch/ts_parse.c:386 tsearch/ts_parse.c:393 tsearch/ts_parse.c:572 -#: tsearch/ts_parse.c:579 +#: tsearch/ts_parse.c:386 tsearch/ts_parse.c:393 tsearch/ts_parse.c:572 tsearch/ts_parse.c:579 #, c-format msgid "word is too long to be indexed" msgstr "le mot est trop long pour être indexé" -#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:573 -#: tsearch/ts_parse.c:580 +#: tsearch/ts_parse.c:387 tsearch/ts_parse.c:394 tsearch/ts_parse.c:573 tsearch/ts_parse.c:580 #, c-format msgid "Words longer than %d characters are ignored." msgstr "Les mots de plus de %d caractères sont ignorés." @@ -23579,40 +23006,40 @@ msgstr "MaxFragments devrait être positif ou nul" msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier de statistiques « %s » : %m" -#: utils/activity/pgstat.c:1226 +#: utils/activity/pgstat.c:1229 #, fuzzy, c-format #| msgid "unrecognized statistics kind \"%s\"" msgid "invalid statistics kind: \"%s\"" msgstr "type de statistique « %s » non reconnu" -#: utils/activity/pgstat.c:1306 +#: utils/activity/pgstat.c:1309 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier temporaire des statistiques « %s » : %m" -#: utils/activity/pgstat.c:1412 +#: utils/activity/pgstat.c:1415 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "n'a pas pu écrire le fichier temporaire des statistiques « %s » : %m" -#: utils/activity/pgstat.c:1421 +#: utils/activity/pgstat.c:1424 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "n'a pas pu fermer le fichier temporaire des statistiques « %s » : %m" -#: utils/activity/pgstat.c:1429 +#: utils/activity/pgstat.c:1432 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "" "n'a pas pu renommer le fichier temporaire des statistiques « %s » en\n" "« %s » : %m" -#: utils/activity/pgstat.c:1478 +#: utils/activity/pgstat.c:1481 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier de statistiques « %s » : %m" -#: utils/activity/pgstat.c:1634 +#: utils/activity/pgstat.c:1637 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "fichier de statistiques « %s » corrompu" @@ -23738,10 +23165,7 @@ msgstr "la fonction « %s » n'existe pas" msgid "must be member of role \"%s\"" msgstr "doit être un membre du rôle « %s »" -#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:467 -#: utils/adt/array_userfuncs.c:547 utils/adt/json.c:645 utils/adt/json.c:740 -#: utils/adt/json.c:778 utils/adt/jsonb.c:1114 utils/adt/jsonb.c:1143 -#: utils/adt/jsonb.c:1537 utils/adt/jsonb.c:1701 utils/adt/jsonb.c:1711 +#: utils/adt/array_userfuncs.c:80 utils/adt/array_userfuncs.c:467 utils/adt/array_userfuncs.c:547 utils/adt/json.c:645 utils/adt/json.c:740 utils/adt/json.c:778 utils/adt/jsonb.c:1114 utils/adt/jsonb.c:1143 utils/adt/jsonb.c:1537 utils/adt/jsonb.c:1701 utils/adt/jsonb.c:1711 #, c-format msgid "could not determine input data type" msgstr "n'a pas pu déterminer le type de données date en entrée" @@ -23751,17 +23175,7 @@ msgstr "n'a pas pu déterminer le type de données date en entrée" msgid "input data type is not an array" msgstr "le type de données en entrée n'est pas un tableau" -#: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181 -#: utils/adt/float.c:1234 utils/adt/float.c:1308 utils/adt/float.c:4046 -#: utils/adt/float.c:4060 utils/adt/int.c:777 utils/adt/int.c:799 -#: utils/adt/int.c:813 utils/adt/int.c:827 utils/adt/int.c:858 -#: utils/adt/int.c:879 utils/adt/int.c:996 utils/adt/int.c:1010 -#: utils/adt/int.c:1024 utils/adt/int.c:1057 utils/adt/int.c:1071 -#: utils/adt/int.c:1085 utils/adt/int.c:1116 utils/adt/int.c:1198 -#: utils/adt/int.c:1262 utils/adt/int.c:1330 utils/adt/int.c:1336 -#: utils/adt/int8.c:1257 utils/adt/numeric.c:1830 utils/adt/numeric.c:4293 -#: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1113 -#: utils/adt/varlena.c:3391 +#: utils/adt/array_userfuncs.c:129 utils/adt/array_userfuncs.c:181 utils/adt/float.c:1234 utils/adt/float.c:1308 utils/adt/float.c:4046 utils/adt/float.c:4060 utils/adt/int.c:777 utils/adt/int.c:799 utils/adt/int.c:813 utils/adt/int.c:827 utils/adt/int.c:858 utils/adt/int.c:879 utils/adt/int.c:996 utils/adt/int.c:1010 utils/adt/int.c:1024 utils/adt/int.c:1057 utils/adt/int.c:1071 utils/adt/int.c:1085 utils/adt/int.c:1116 utils/adt/int.c:1198 utils/adt/int.c:1262 utils/adt/int.c:1330 utils/adt/int.c:1336 utils/adt/int8.c:1272 utils/adt/numeric.c:1830 utils/adt/numeric.c:4293 utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1113 utils/adt/varlena.c:3391 #, c-format msgid "integer out of range" msgstr "entier en dehors des limites" @@ -23771,9 +23185,7 @@ msgstr "entier en dehors des limites" msgid "argument must be empty or one-dimensional array" msgstr "l'argument doit être vide ou doit être un tableau à une dimension" -#: utils/adt/array_userfuncs.c:273 utils/adt/array_userfuncs.c:312 -#: utils/adt/array_userfuncs.c:349 utils/adt/array_userfuncs.c:378 -#: utils/adt/array_userfuncs.c:406 +#: utils/adt/array_userfuncs.c:273 utils/adt/array_userfuncs.c:312 utils/adt/array_userfuncs.c:349 utils/adt/array_userfuncs.c:378 utils/adt/array_userfuncs.c:406 #, c-format msgid "cannot concatenate incompatible arrays" msgstr "ne peut pas concaténer des tableaux non compatibles" @@ -23808,253 +23220,224 @@ msgstr "la recherche d'éléments dans des tableaux multidimensionnels n'est pas msgid "initial position must not be null" msgstr "la position initiale ne doit pas être NULL" -#: utils/adt/arrayfuncs.c:271 utils/adt/arrayfuncs.c:285 -#: utils/adt/arrayfuncs.c:296 utils/adt/arrayfuncs.c:318 -#: utils/adt/arrayfuncs.c:333 utils/adt/arrayfuncs.c:347 -#: utils/adt/arrayfuncs.c:353 utils/adt/arrayfuncs.c:360 -#: utils/adt/arrayfuncs.c:493 utils/adt/arrayfuncs.c:509 -#: utils/adt/arrayfuncs.c:520 utils/adt/arrayfuncs.c:535 -#: utils/adt/arrayfuncs.c:556 utils/adt/arrayfuncs.c:586 -#: utils/adt/arrayfuncs.c:593 utils/adt/arrayfuncs.c:601 -#: utils/adt/arrayfuncs.c:635 utils/adt/arrayfuncs.c:658 -#: utils/adt/arrayfuncs.c:678 utils/adt/arrayfuncs.c:790 -#: utils/adt/arrayfuncs.c:799 utils/adt/arrayfuncs.c:829 -#: utils/adt/arrayfuncs.c:844 utils/adt/arrayfuncs.c:897 +#: utils/adt/arrayfuncs.c:272 utils/adt/arrayfuncs.c:286 utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:319 utils/adt/arrayfuncs.c:334 utils/adt/arrayfuncs.c:348 utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361 utils/adt/arrayfuncs.c:494 utils/adt/arrayfuncs.c:510 utils/adt/arrayfuncs.c:521 utils/adt/arrayfuncs.c:536 utils/adt/arrayfuncs.c:557 utils/adt/arrayfuncs.c:587 utils/adt/arrayfuncs.c:594 utils/adt/arrayfuncs.c:602 utils/adt/arrayfuncs.c:636 utils/adt/arrayfuncs.c:659 utils/adt/arrayfuncs.c:679 utils/adt/arrayfuncs.c:791 utils/adt/arrayfuncs.c:800 utils/adt/arrayfuncs.c:830 utils/adt/arrayfuncs.c:845 utils/adt/arrayfuncs.c:898 #, c-format msgid "malformed array literal: \"%s\"" msgstr "tableau litéral mal formé : « %s »" -#: utils/adt/arrayfuncs.c:272 +#: utils/adt/arrayfuncs.c:273 #, c-format msgid "\"[\" must introduce explicitly-specified array dimensions." msgstr "« [ » doit introduire des dimensions explicites de tableau." -#: utils/adt/arrayfuncs.c:286 +#: utils/adt/arrayfuncs.c:287 #, c-format msgid "Missing array dimension value." msgstr "Valeur manquante de la dimension du tableau." -#: utils/adt/arrayfuncs.c:297 utils/adt/arrayfuncs.c:334 +#: utils/adt/arrayfuncs.c:298 utils/adt/arrayfuncs.c:335 #, c-format msgid "Missing \"%s\" after array dimensions." msgstr "« %s » manquant après les dimensions du tableau." -#: utils/adt/arrayfuncs.c:306 utils/adt/arrayfuncs.c:2909 -#: utils/adt/arrayfuncs.c:2941 utils/adt/arrayfuncs.c:2956 +#: utils/adt/arrayfuncs.c:307 utils/adt/arrayfuncs.c:2945 utils/adt/arrayfuncs.c:2990 utils/adt/arrayfuncs.c:3005 #, c-format msgid "upper bound cannot be less than lower bound" msgstr "la limite supérieure ne peut pas être plus petite que la limite inférieure" -#: utils/adt/arrayfuncs.c:319 +#: utils/adt/arrayfuncs.c:320 #, c-format msgid "Array value must start with \"{\" or dimension information." msgstr "La valeur du tableau doit commencer par « { » ou par l'information de la dimension." -#: utils/adt/arrayfuncs.c:348 +#: utils/adt/arrayfuncs.c:349 #, c-format msgid "Array contents must start with \"{\"." msgstr "Le contenu du tableau doit commencer par « { »." -#: utils/adt/arrayfuncs.c:354 utils/adt/arrayfuncs.c:361 +#: utils/adt/arrayfuncs.c:355 utils/adt/arrayfuncs.c:362 #, c-format msgid "Specified array dimensions do not match array contents." msgstr "Les dimensions spécifiées du tableau ne correspondent pas au contenu du tableau." -#: utils/adt/arrayfuncs.c:494 utils/adt/arrayfuncs.c:521 -#: utils/adt/multirangetypes.c:164 utils/adt/rangetypes.c:2310 -#: utils/adt/rangetypes.c:2318 utils/adt/rowtypes.c:211 -#: utils/adt/rowtypes.c:219 +#: utils/adt/arrayfuncs.c:495 utils/adt/arrayfuncs.c:522 utils/adt/multirangetypes.c:164 utils/adt/rangetypes.c:2310 utils/adt/rangetypes.c:2318 utils/adt/rowtypes.c:211 utils/adt/rowtypes.c:219 #, c-format msgid "Unexpected end of input." msgstr "Fin de l'entrée inattendue." -#: utils/adt/arrayfuncs.c:510 utils/adt/arrayfuncs.c:557 -#: utils/adt/arrayfuncs.c:587 utils/adt/arrayfuncs.c:636 +#: utils/adt/arrayfuncs.c:511 utils/adt/arrayfuncs.c:558 utils/adt/arrayfuncs.c:588 utils/adt/arrayfuncs.c:637 #, c-format msgid "Unexpected \"%c\" character." msgstr "Caractère « %c » inattendu." -#: utils/adt/arrayfuncs.c:536 utils/adt/arrayfuncs.c:659 +#: utils/adt/arrayfuncs.c:537 utils/adt/arrayfuncs.c:660 #, c-format msgid "Unexpected array element." msgstr "Élément de tableau inattendu." -#: utils/adt/arrayfuncs.c:594 +#: utils/adt/arrayfuncs.c:595 #, c-format msgid "Unmatched \"%c\" character." msgstr "Caractère « %c » sans correspondance." -#: utils/adt/arrayfuncs.c:602 utils/adt/jsonfuncs.c:2490 +#: utils/adt/arrayfuncs.c:603 utils/adt/jsonfuncs.c:2490 #, c-format msgid "Multidimensional arrays must have sub-arrays with matching dimensions." msgstr "Les tableaux multidimensionnels doivent avoir des sous-tableaux avec les dimensions correspondantes" -#: utils/adt/arrayfuncs.c:679 utils/adt/multirangetypes.c:287 +#: utils/adt/arrayfuncs.c:680 utils/adt/multirangetypes.c:287 #, c-format msgid "Junk after closing right brace." msgstr "Problème après la parenthèse droite fermante." -#: utils/adt/arrayfuncs.c:1301 utils/adt/arrayfuncs.c:3369 -#: utils/adt/arrayfuncs.c:5883 +#: utils/adt/arrayfuncs.c:1302 utils/adt/arrayfuncs.c:3418 utils/adt/arrayfuncs.c:5932 #, c-format msgid "invalid number of dimensions: %d" msgstr "nombre de dimensions invalide : %d" -#: utils/adt/arrayfuncs.c:1312 +#: utils/adt/arrayfuncs.c:1313 #, c-format msgid "invalid array flags" msgstr "drapeaux de tableau invalides" -#: utils/adt/arrayfuncs.c:1334 +#: utils/adt/arrayfuncs.c:1335 #, c-format msgid "binary data has array element type %u (%s) instead of expected %u (%s)" msgstr "la donnée binaire a le type des éléments du tableau, %u (%s), au lieu de l'attendu %u (%s)" -#: utils/adt/arrayfuncs.c:1378 utils/adt/multirangetypes.c:445 -#: utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2915 +#: utils/adt/arrayfuncs.c:1379 utils/adt/multirangetypes.c:445 utils/adt/rangetypes.c:333 utils/cache/lsyscache.c:2915 #, c-format msgid "no binary input function available for type %s" msgstr "aucune fonction d'entrée binaire disponible pour le type %s" -#: utils/adt/arrayfuncs.c:1518 +#: utils/adt/arrayfuncs.c:1519 #, c-format msgid "improper binary format in array element %d" msgstr "format binaire mal conçu dans l'élément du tableau %d" -#: utils/adt/arrayfuncs.c:1599 utils/adt/multirangetypes.c:450 -#: utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2948 +#: utils/adt/arrayfuncs.c:1600 utils/adt/multirangetypes.c:450 utils/adt/rangetypes.c:338 utils/cache/lsyscache.c:2948 #, c-format msgid "no binary output function available for type %s" msgstr "aucune fonction de sortie binaire disponible pour le type %s" -#: utils/adt/arrayfuncs.c:2078 +#: utils/adt/arrayfuncs.c:2079 #, c-format msgid "slices of fixed-length arrays not implemented" msgstr "les morceaux des tableaux à longueur fixe ne sont pas implémentés" -#: utils/adt/arrayfuncs.c:2256 utils/adt/arrayfuncs.c:2278 -#: utils/adt/arrayfuncs.c:2327 utils/adt/arrayfuncs.c:2565 -#: utils/adt/arrayfuncs.c:2887 utils/adt/arrayfuncs.c:5869 -#: utils/adt/arrayfuncs.c:5895 utils/adt/arrayfuncs.c:5906 -#: utils/adt/json.c:1141 utils/adt/json.c:1215 utils/adt/jsonb.c:1315 -#: utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4326 utils/adt/jsonfuncs.c:4480 -#: utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4641 +#: utils/adt/arrayfuncs.c:2257 utils/adt/arrayfuncs.c:2279 utils/adt/arrayfuncs.c:2328 utils/adt/arrayfuncs.c:2582 utils/adt/arrayfuncs.c:2920 utils/adt/arrayfuncs.c:5918 utils/adt/arrayfuncs.c:5944 utils/adt/arrayfuncs.c:5955 utils/adt/json.c:1141 utils/adt/json.c:1215 utils/adt/jsonb.c:1315 utils/adt/jsonb.c:1401 utils/adt/jsonfuncs.c:4326 utils/adt/jsonfuncs.c:4480 utils/adt/jsonfuncs.c:4592 utils/adt/jsonfuncs.c:4641 #, c-format msgid "wrong number of array subscripts" msgstr "mauvais nombre d'indices du tableau" -#: utils/adt/arrayfuncs.c:2261 utils/adt/arrayfuncs.c:2369 -#: utils/adt/arrayfuncs.c:2632 utils/adt/arrayfuncs.c:2946 +#: utils/adt/arrayfuncs.c:2262 utils/adt/arrayfuncs.c:2386 utils/adt/arrayfuncs.c:2665 utils/adt/arrayfuncs.c:2995 #, c-format msgid "array subscript out of range" msgstr "indice du tableau en dehors de l'intervalle" -#: utils/adt/arrayfuncs.c:2266 +#: utils/adt/arrayfuncs.c:2267 #, c-format msgid "cannot assign null value to an element of a fixed-length array" msgstr "ne peut pas affecter une valeur NULL à un élément d'un tableau à longueur fixe" -#: utils/adt/arrayfuncs.c:2834 +#: utils/adt/arrayfuncs.c:2867 #, c-format msgid "updates on slices of fixed-length arrays not implemented" msgstr "" "les mises à jour de morceaux des tableaux à longueur fixe ne sont pas\n" "implémentées" -#: utils/adt/arrayfuncs.c:2865 +#: utils/adt/arrayfuncs.c:2898 #, c-format msgid "array slice subscript must provide both boundaries" msgstr "la tranche d'indice de tableau doit fournir les deux limites" -#: utils/adt/arrayfuncs.c:2866 +#: utils/adt/arrayfuncs.c:2899 #, c-format msgid "When assigning to a slice of an empty array value, slice boundaries must be fully specified." msgstr "Les limites de tranches doivent être entièrement spécifiées lors de l'assignation d'une valeur d'un tableau vide à une tranche." -#: utils/adt/arrayfuncs.c:2877 utils/adt/arrayfuncs.c:2973 +#: utils/adt/arrayfuncs.c:2910 utils/adt/arrayfuncs.c:3022 #, c-format msgid "source array too small" msgstr "tableau source trop petit" -#: utils/adt/arrayfuncs.c:3527 +#: utils/adt/arrayfuncs.c:3576 #, c-format msgid "null array element not allowed in this context" msgstr "élément NULL de tableau interdit dans ce contexte" -#: utils/adt/arrayfuncs.c:3629 utils/adt/arrayfuncs.c:3800 -#: utils/adt/arrayfuncs.c:4191 +#: utils/adt/arrayfuncs.c:3678 utils/adt/arrayfuncs.c:3849 utils/adt/arrayfuncs.c:4240 #, c-format msgid "cannot compare arrays of different element types" msgstr "ne peut pas comparer des tableaux ayant des types d'éléments différents" -#: utils/adt/arrayfuncs.c:3978 utils/adt/multirangetypes.c:2799 -#: utils/adt/multirangetypes.c:2871 utils/adt/rangetypes.c:1343 -#: utils/adt/rangetypes.c:1407 utils/adt/rowtypes.c:1858 +#: utils/adt/arrayfuncs.c:4027 utils/adt/multirangetypes.c:2799 utils/adt/multirangetypes.c:2871 utils/adt/rangetypes.c:1343 utils/adt/rangetypes.c:1407 utils/adt/rowtypes.c:1858 #, c-format msgid "could not identify a hash function for type %s" msgstr "n'a pas pu identifier une fonction de hachage pour le type %s" -#: utils/adt/arrayfuncs.c:4106 utils/adt/rowtypes.c:1979 +#: utils/adt/arrayfuncs.c:4155 utils/adt/rowtypes.c:1979 #, c-format msgid "could not identify an extended hash function for type %s" msgstr "n'a pas pu identifier une fonction de hachage étendue pour le type %s" -#: utils/adt/arrayfuncs.c:5283 +#: utils/adt/arrayfuncs.c:5332 #, c-format msgid "data type %s is not an array type" msgstr "le type de données %s n'est pas un type tableau" -#: utils/adt/arrayfuncs.c:5338 +#: utils/adt/arrayfuncs.c:5387 #, c-format msgid "cannot accumulate null arrays" msgstr "ne peut pas accumuler des tableaux NULL" -#: utils/adt/arrayfuncs.c:5366 +#: utils/adt/arrayfuncs.c:5415 #, c-format msgid "cannot accumulate empty arrays" msgstr "ne peut pas concaténer des tableaux vides" -#: utils/adt/arrayfuncs.c:5393 utils/adt/arrayfuncs.c:5399 +#: utils/adt/arrayfuncs.c:5442 utils/adt/arrayfuncs.c:5448 #, c-format msgid "cannot accumulate arrays of different dimensionality" msgstr "ne peut pas accumuler des tableaux de dimensions différentes" -#: utils/adt/arrayfuncs.c:5767 utils/adt/arrayfuncs.c:5807 +#: utils/adt/arrayfuncs.c:5816 utils/adt/arrayfuncs.c:5856 #, c-format msgid "dimension array or low bound array cannot be null" msgstr "la dimension ou la limite basse du tableau ne peut pas être NULL" -#: utils/adt/arrayfuncs.c:5870 utils/adt/arrayfuncs.c:5896 +#: utils/adt/arrayfuncs.c:5919 utils/adt/arrayfuncs.c:5945 #, c-format msgid "Dimension array must be one dimensional." msgstr "Le tableau doit avoir une seule dimension." -#: utils/adt/arrayfuncs.c:5875 utils/adt/arrayfuncs.c:5901 +#: utils/adt/arrayfuncs.c:5924 utils/adt/arrayfuncs.c:5950 #, c-format msgid "dimension values cannot be null" msgstr "les valeurs de dimension ne peuvent pas être NULL" -#: utils/adt/arrayfuncs.c:5907 +#: utils/adt/arrayfuncs.c:5956 #, c-format msgid "Low bound array has different size than dimensions array." msgstr "La limite basse du tableau a une taille différentes des dimensions du tableau." -#: utils/adt/arrayfuncs.c:6185 +#: utils/adt/arrayfuncs.c:6234 #, c-format msgid "removing elements from multidimensional arrays is not supported" msgstr "la suppression d'éléments de tableaux multidimensionnels n'est pas supportée" -#: utils/adt/arrayfuncs.c:6462 +#: utils/adt/arrayfuncs.c:6511 #, c-format msgid "thresholds must be one-dimensional array" msgstr "les limites doivent être un tableau à une dimension" -#: utils/adt/arrayfuncs.c:6467 +#: utils/adt/arrayfuncs.c:6516 #, c-format msgid "thresholds array must not contain NULLs" msgstr "le tableau de limites ne doit pas contenir de valeurs NULL" -#: utils/adt/arrayfuncs.c:6700 +#: utils/adt/arrayfuncs.c:6749 #, c-format msgid "number of elements to trim must be between 0 and %d" msgstr "le nombre d'éléments à couper doit être compris entre 0 et %d" @@ -24069,22 +23452,22 @@ msgstr "l'indice d'un tableau doit être de type entier" msgid "array subscript in assignment must not be null" msgstr "l'indice du tableau dans l'affectation ne doit pas être NULL" -#: utils/adt/arrayutils.c:140 +#: utils/adt/arrayutils.c:134 #, c-format msgid "array lower bound is too large: %d" msgstr "la limite basse du tableau est trop grande : %d" -#: utils/adt/arrayutils.c:240 +#: utils/adt/arrayutils.c:234 #, c-format msgid "typmod array must be type cstring[]" msgstr "le tableau typmod doit être de type cstring[]" -#: utils/adt/arrayutils.c:245 +#: utils/adt/arrayutils.c:239 #, c-format msgid "typmod array must be one-dimensional" msgstr "le tableau typmod doit avoir une seule dimension" -#: utils/adt/arrayutils.c:250 +#: utils/adt/arrayutils.c:244 #, c-format msgid "typmod array must not contain nulls" msgstr "le tableau typmod ne doit pas contenir de valeurs NULL" @@ -24095,46 +23478,18 @@ msgid "encoding conversion from %s to ASCII not supported" msgstr "la conversion de l'encodage de %s vers l'ASCII n'est pas supportée" #. translator: first %s is inet or cidr -#: utils/adt/bool.c:153 utils/adt/cash.c:276 utils/adt/datetime.c:4050 -#: utils/adt/float.c:188 utils/adt/float.c:272 utils/adt/float.c:284 -#: utils/adt/float.c:401 utils/adt/float.c:486 utils/adt/float.c:502 -#: utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242 -#: utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326 -#: utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1389 utils/adt/geo_ops.c:1424 -#: utils/adt/geo_ops.c:1432 utils/adt/geo_ops.c:3392 utils/adt/geo_ops.c:4607 -#: utils/adt/geo_ops.c:4622 utils/adt/geo_ops.c:4629 utils/adt/int.c:173 -#: utils/adt/int.c:185 utils/adt/jsonpath.c:182 utils/adt/mac.c:93 -#: utils/adt/mac8.c:93 utils/adt/mac8.c:166 utils/adt/mac8.c:184 -#: utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/network.c:99 -#: utils/adt/numeric.c:698 utils/adt/numeric.c:717 utils/adt/numeric.c:6882 -#: utils/adt/numeric.c:6906 utils/adt/numeric.c:6930 utils/adt/numeric.c:7932 -#: utils/adt/numutils.c:158 utils/adt/numutils.c:234 utils/adt/numutils.c:318 -#: utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 -#: utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 -#: utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:346 +#: utils/adt/bool.c:153 utils/adt/cash.c:276 utils/adt/datetime.c:4050 utils/adt/float.c:188 utils/adt/float.c:272 utils/adt/float.c:284 utils/adt/float.c:401 utils/adt/float.c:486 utils/adt/float.c:502 utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242 utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326 utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1389 utils/adt/geo_ops.c:1424 utils/adt/geo_ops.c:1432 utils/adt/geo_ops.c:3392 utils/adt/geo_ops.c:4607 utils/adt/geo_ops.c:4622 utils/adt/geo_ops.c:4629 utils/adt/int.c:173 utils/adt/int.c:185 utils/adt/jsonpath.c:182 utils/adt/mac.c:93 utils/adt/mac8.c:93 utils/adt/mac8.c:166 +#: utils/adt/mac8.c:184 utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/network.c:99 utils/adt/numeric.c:698 utils/adt/numeric.c:717 utils/adt/numeric.c:6882 utils/adt/numeric.c:6906 utils/adt/numeric.c:6930 utils/adt/numeric.c:7932 utils/adt/numutils.c:158 utils/adt/numutils.c:234 utils/adt/numutils.c:318 utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 utils/adt/uuid.c:135 utils/adt/xid8funcs.c:354 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "syntaxe en entrée invalide pour le type %s : « %s »" -#: utils/adt/cash.c:214 utils/adt/cash.c:239 utils/adt/cash.c:249 -#: utils/adt/cash.c:289 utils/adt/int.c:179 utils/adt/numutils.c:152 -#: utils/adt/numutils.c:228 utils/adt/numutils.c:312 utils/adt/oid.c:70 -#: utils/adt/oid.c:109 +#: utils/adt/cash.c:214 utils/adt/cash.c:239 utils/adt/cash.c:249 utils/adt/cash.c:289 utils/adt/int.c:179 utils/adt/numutils.c:152 utils/adt/numutils.c:228 utils/adt/numutils.c:312 utils/adt/oid.c:70 utils/adt/oid.c:109 #, c-format msgid "value \"%s\" is out of range for type %s" msgstr "la valeur « %s » est en dehors des limites pour le type %s" -#: utils/adt/cash.c:651 utils/adt/cash.c:701 utils/adt/cash.c:752 -#: utils/adt/cash.c:801 utils/adt/cash.c:853 utils/adt/cash.c:903 -#: utils/adt/float.c:105 utils/adt/int.c:842 utils/adt/int.c:958 -#: utils/adt/int.c:1038 utils/adt/int.c:1100 utils/adt/int.c:1138 -#: utils/adt/int.c:1166 utils/adt/int8.c:515 utils/adt/int8.c:573 -#: utils/adt/int8.c:943 utils/adt/int8.c:1023 utils/adt/int8.c:1085 -#: utils/adt/int8.c:1165 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116 -#: utils/adt/numeric.c:3201 utils/adt/numeric.c:3219 utils/adt/numeric.c:3315 -#: utils/adt/numeric.c:8481 utils/adt/numeric.c:8771 utils/adt/numeric.c:9096 -#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3337 +#: utils/adt/cash.c:651 utils/adt/cash.c:701 utils/adt/cash.c:752 utils/adt/cash.c:801 utils/adt/cash.c:853 utils/adt/cash.c:903 utils/adt/float.c:105 utils/adt/int.c:842 utils/adt/int.c:958 utils/adt/int.c:1038 utils/adt/int.c:1100 utils/adt/int.c:1138 utils/adt/int.c:1166 utils/adt/int8.c:515 utils/adt/int8.c:573 utils/adt/int8.c:958 utils/adt/int8.c:1038 utils/adt/int8.c:1100 utils/adt/int8.c:1180 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116 utils/adt/numeric.c:3201 utils/adt/numeric.c:3219 utils/adt/numeric.c:3315 utils/adt/numeric.c:8481 utils/adt/numeric.c:8771 utils/adt/numeric.c:9096 utils/adt/numeric.c:10553 utils/adt/timestamp.c:3373 #, c-format msgid "division by zero" msgstr "division par zéro" @@ -24149,8 +23504,7 @@ msgstr "« char » hors des limites" msgid "could not compute %s hash: %s" msgstr "n'a pas pu calculer le hachage %s : %s" -#: utils/adt/date.c:63 utils/adt/timestamp.c:98 utils/adt/varbit.c:105 -#: utils/adt/varchar.c:48 +#: utils/adt/date.c:63 utils/adt/timestamp.c:98 utils/adt/varbit.c:105 utils/adt/varchar.c:48 #, c-format msgid "invalid type modifier" msgstr "modifieur de type invalide" @@ -24165,15 +23519,12 @@ msgstr "la précision de TIME(%d)%s ne doit pas être négative" msgid "TIME(%d)%s precision reduced to maximum allowed, %d" msgstr "la précision de TIME(%d)%s a été réduite au maximum autorisée, %d" -#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4299 -#: utils/adt/formatting.c:4308 utils/adt/formatting.c:4414 -#: utils/adt/formatting.c:4424 +#: utils/adt/date.c:160 utils/adt/date.c:168 utils/adt/formatting.c:4299 utils/adt/formatting.c:4308 utils/adt/formatting.c:4414 utils/adt/formatting.c:4424 #, c-format msgid "date out of range: \"%s\"" msgstr "date en dehors des limites : « %s »" -#: utils/adt/date.c:215 utils/adt/date.c:513 utils/adt/date.c:537 -#: utils/adt/xml.c:2209 +#: utils/adt/date.c:215 utils/adt/date.c:513 utils/adt/date.c:537 utils/adt/xml.c:2219 #, c-format msgid "date out of range" msgstr "date en dehors des limites" @@ -24193,57 +23544,26 @@ msgstr "date en dehors des limites : %d-%02d-%02d" msgid "cannot subtract infinite dates" msgstr "ne peut pas soustraire les valeurs dates infinies" -#: utils/adt/date.c:586 utils/adt/date.c:649 utils/adt/date.c:685 -#: utils/adt/date.c:2868 utils/adt/date.c:2878 +#: utils/adt/date.c:586 utils/adt/date.c:649 utils/adt/date.c:685 utils/adt/date.c:2868 utils/adt/date.c:2878 #, c-format msgid "date out of range for timestamp" msgstr "date en dehors des limites pour un timestamp" -#: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 -#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4032 -#: utils/adt/timestamp.c:4225 utils/adt/timestamp.c:4397 -#: utils/adt/timestamp.c:4650 utils/adt/timestamp.c:4851 -#: utils/adt/timestamp.c:4898 utils/adt/timestamp.c:5122 -#: utils/adt/timestamp.c:5169 utils/adt/timestamp.c:5299 +#: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4107 utils/adt/timestamp.c:4317 utils/adt/timestamp.c:4489 utils/adt/timestamp.c:4742 utils/adt/timestamp.c:4943 utils/adt/timestamp.c:4990 utils/adt/timestamp.c:5214 utils/adt/timestamp.c:5261 utils/adt/timestamp.c:5391 #, fuzzy, c-format #| msgid "date units \"%s\" not supported" msgid "unit \"%s\" not supported for type %s" msgstr "unités de date « %s » non supportées" -#: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 -#: utils/adt/timestamp.c:4046 utils/adt/timestamp.c:4242 -#: utils/adt/timestamp.c:4411 utils/adt/timestamp.c:4610 -#: utils/adt/timestamp.c:4907 utils/adt/timestamp.c:5178 -#: utils/adt/timestamp.c:5360 +#: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 utils/adt/timestamp.c:4121 utils/adt/timestamp.c:4334 utils/adt/timestamp.c:4503 utils/adt/timestamp.c:4702 utils/adt/timestamp.c:4999 utils/adt/timestamp.c:5270 utils/adt/timestamp.c:5452 #, fuzzy, c-format #| msgid "date units \"%s\" not recognized" msgid "unit \"%s\" not recognized for type %s" msgstr "unités de date « %s » non reconnues" -#: utils/adt/date.c:1307 utils/adt/date.c:1353 utils/adt/date.c:1907 -#: utils/adt/date.c:1938 utils/adt/date.c:1967 utils/adt/date.c:2831 -#: utils/adt/date.c:3078 utils/adt/datetime.c:420 utils/adt/datetime.c:1869 -#: utils/adt/formatting.c:4141 utils/adt/formatting.c:4177 -#: utils/adt/formatting.c:4268 utils/adt/formatting.c:4390 utils/adt/json.c:418 -#: utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257 -#: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 -#: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 -#: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937 -#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2959 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:3022 -#: utils/adt/timestamp.c:3045 utils/adt/timestamp.c:3058 -#: utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3077 -#: utils/adt/timestamp.c:3736 utils/adt/timestamp.c:3860 -#: utils/adt/timestamp.c:3950 utils/adt/timestamp.c:4040 -#: utils/adt/timestamp.c:4133 utils/adt/timestamp.c:4236 -#: utils/adt/timestamp.c:4715 utils/adt/timestamp.c:4989 -#: utils/adt/timestamp.c:5439 utils/adt/timestamp.c:5453 -#: utils/adt/timestamp.c:5458 utils/adt/timestamp.c:5472 -#: utils/adt/timestamp.c:5505 utils/adt/timestamp.c:5592 -#: utils/adt/timestamp.c:5633 utils/adt/timestamp.c:5637 -#: utils/adt/timestamp.c:5706 utils/adt/timestamp.c:5710 -#: utils/adt/timestamp.c:5724 utils/adt/timestamp.c:5758 utils/adt/xml.c:2231 -#: utils/adt/xml.c:2238 utils/adt/xml.c:2258 utils/adt/xml.c:2265 +#: utils/adt/date.c:1307 utils/adt/date.c:1353 utils/adt/date.c:1907 utils/adt/date.c:1938 utils/adt/date.c:1967 utils/adt/date.c:2831 utils/adt/date.c:3078 utils/adt/datetime.c:420 utils/adt/datetime.c:1869 utils/adt/formatting.c:4141 utils/adt/formatting.c:4177 utils/adt/formatting.c:4268 utils/adt/formatting.c:4390 utils/adt/json.c:418 utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257 utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2921 utils/adt/timestamp.c:2940 utils/adt/timestamp.c:2953 utils/adt/timestamp.c:2964 utils/adt/timestamp.c:2970 +#: utils/adt/timestamp.c:2976 utils/adt/timestamp.c:2981 utils/adt/timestamp.c:3036 utils/adt/timestamp.c:3041 utils/adt/timestamp.c:3062 utils/adt/timestamp.c:3075 utils/adt/timestamp.c:3089 utils/adt/timestamp.c:3097 utils/adt/timestamp.c:3103 utils/adt/timestamp.c:3108 utils/adt/timestamp.c:3794 utils/adt/timestamp.c:3918 utils/adt/timestamp.c:3989 utils/adt/timestamp.c:4025 utils/adt/timestamp.c:4115 utils/adt/timestamp.c:4189 utils/adt/timestamp.c:4225 utils/adt/timestamp.c:4328 utils/adt/timestamp.c:4807 utils/adt/timestamp.c:5081 utils/adt/timestamp.c:5531 utils/adt/timestamp.c:5545 utils/adt/timestamp.c:5550 utils/adt/timestamp.c:5564 utils/adt/timestamp.c:5597 +#: utils/adt/timestamp.c:5684 utils/adt/timestamp.c:5725 utils/adt/timestamp.c:5729 utils/adt/timestamp.c:5798 utils/adt/timestamp.c:5802 utils/adt/timestamp.c:5816 utils/adt/timestamp.c:5850 utils/adt/xml.c:2241 utils/adt/xml.c:2248 utils/adt/xml.c:2268 utils/adt/xml.c:2275 #, c-format msgid "timestamp out of range" msgstr "timestamp en dehors des limites" @@ -24258,11 +23578,7 @@ msgstr "heure en dehors des limites" msgid "time field value out of range: %d:%02d:%02g" msgstr "valeur du champ time en dehors des limites : %d:%02d:%02g" -#: utils/adt/date.c:2096 utils/adt/date.c:2630 utils/adt/float.c:1048 -#: utils/adt/float.c:1124 utils/adt/int.c:634 utils/adt/int.c:681 -#: utils/adt/int.c:716 utils/adt/int8.c:414 utils/adt/numeric.c:2497 -#: utils/adt/timestamp.c:3386 utils/adt/timestamp.c:3417 -#: utils/adt/timestamp.c:3448 +#: utils/adt/date.c:2096 utils/adt/date.c:2630 utils/adt/float.c:1048 utils/adt/float.c:1124 utils/adt/int.c:634 utils/adt/int.c:681 utils/adt/int.c:716 utils/adt/int8.c:414 utils/adt/numeric.c:2497 utils/adt/timestamp.c:3444 utils/adt/timestamp.c:3475 utils/adt/timestamp.c:3506 #, c-format msgid "invalid preceding or following size in window function" msgstr "taille précédente ou suivante invalide dans la fonction de fenêtrage" @@ -24272,15 +23588,12 @@ msgstr "taille précédente ou suivante invalide dans la fonction de fenêtrage" msgid "time zone displacement out of range" msgstr "déplacement du fuseau horaire en dehors des limites" -#: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 -#: utils/adt/datetime.c:4898 utils/adt/timestamp.c:516 -#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4319 -#: utils/adt/timestamp.c:5464 utils/adt/timestamp.c:5716 +#: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 utils/adt/datetime.c:4898 utils/adt/timestamp.c:516 utils/adt/timestamp.c:543 utils/adt/timestamp.c:4411 utils/adt/timestamp.c:5556 utils/adt/timestamp.c:5808 #, c-format msgid "time zone \"%s\" not recognized" msgstr "le fuseau horaire « %s » n'est pas reconnu" -#: utils/adt/date.c:3117 utils/adt/timestamp.c:5494 utils/adt/timestamp.c:5747 +#: utils/adt/date.c:3117 utils/adt/timestamp.c:5586 utils/adt/timestamp.c:5839 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "l'intervalle de fuseau horaire « %s » ne doit pas spécifier de mois ou de jours" @@ -24391,8 +23704,7 @@ msgstr "utilisation non sûre de la nouvelle valeur « %s » du type enum %s" msgid "New enum values must be committed before they can be used." msgstr "Les nouvelles valeurs enum doivent être validées (COMMIT) avant de pouvoir être utilisées." -#: utils/adt/enum.c:120 utils/adt/enum.c:130 utils/adt/enum.c:188 -#: utils/adt/enum.c:198 +#: utils/adt/enum.c:120 utils/adt/enum.c:130 utils/adt/enum.c:188 utils/adt/enum.c:198 #, c-format msgid "invalid input value for enum %s: \"%s\"" msgstr "valeur en entrée invalide pour le enum %s : « %s »" @@ -24402,8 +23714,7 @@ msgstr "valeur en entrée invalide pour le enum %s : « %s »" msgid "invalid internal value for enum: %u" msgstr "valeur interne invalide pour le enum : %u" -#: utils/adt/enum.c:445 utils/adt/enum.c:474 utils/adt/enum.c:514 -#: utils/adt/enum.c:534 +#: utils/adt/enum.c:445 utils/adt/enum.c:474 utils/adt/enum.c:514 utils/adt/enum.c:534 #, c-format msgid "could not determine actual enum type" msgstr "n'a pas pu déterminer le type enum actuel" @@ -24433,10 +23744,7 @@ msgstr "« %s » est en dehors des limites du type real" msgid "\"%s\" is out of range for type double precision" msgstr "« %s » est en dehors des limites du type double precision" -#: utils/adt/float.c:1259 utils/adt/float.c:1333 utils/adt/int.c:354 -#: utils/adt/int.c:892 utils/adt/int.c:914 utils/adt/int.c:928 -#: utils/adt/int.c:942 utils/adt/int.c:974 utils/adt/int.c:1212 -#: utils/adt/int8.c:1278 utils/adt/numeric.c:4405 utils/adt/numeric.c:4410 +#: utils/adt/float.c:1259 utils/adt/float.c:1333 utils/adt/int.c:354 utils/adt/int.c:892 utils/adt/int.c:914 utils/adt/int.c:928 utils/adt/int.c:942 utils/adt/int.c:974 utils/adt/int.c:1212 utils/adt/int8.c:1293 utils/adt/numeric.c:4405 utils/adt/numeric.c:4410 #, c-format msgid "smallint out of range" msgstr "smallint en dehors des limites" @@ -24456,23 +23764,17 @@ msgstr "zéro à une puissance négative est indéfini" msgid "a negative number raised to a non-integer power yields a complex result" msgstr "un nombre négatif élevé à une puissance non entière donne un résultat complexe" -#: utils/adt/float.c:1707 utils/adt/float.c:1740 utils/adt/numeric.c:3798 -#: utils/adt/numeric.c:10181 +#: utils/adt/float.c:1707 utils/adt/float.c:1740 utils/adt/numeric.c:3798 utils/adt/numeric.c:10181 #, c-format msgid "cannot take logarithm of zero" msgstr "ne peut pas calculer le logarithme de zéro" -#: utils/adt/float.c:1711 utils/adt/float.c:1744 utils/adt/numeric.c:3736 -#: utils/adt/numeric.c:3793 utils/adt/numeric.c:10185 +#: utils/adt/float.c:1711 utils/adt/float.c:1744 utils/adt/numeric.c:3736 utils/adt/numeric.c:3793 utils/adt/numeric.c:10185 #, c-format msgid "cannot take logarithm of a negative number" msgstr "ne peut pas calculer le logarithme sur un nombre négatif" -#: utils/adt/float.c:1777 utils/adt/float.c:1808 utils/adt/float.c:1903 -#: utils/adt/float.c:1930 utils/adt/float.c:1958 utils/adt/float.c:1985 -#: utils/adt/float.c:2132 utils/adt/float.c:2169 utils/adt/float.c:2339 -#: utils/adt/float.c:2395 utils/adt/float.c:2460 utils/adt/float.c:2517 -#: utils/adt/float.c:2708 utils/adt/float.c:2732 +#: utils/adt/float.c:1777 utils/adt/float.c:1808 utils/adt/float.c:1903 utils/adt/float.c:1930 utils/adt/float.c:1958 utils/adt/float.c:1985 utils/adt/float.c:2132 utils/adt/float.c:2169 utils/adt/float.c:2339 utils/adt/float.c:2395 utils/adt/float.c:2460 utils/adt/float.c:2517 utils/adt/float.c:2708 utils/adt/float.c:2732 #, c-format msgid "input is out of range" msgstr "l'entrée est en dehors des limites" @@ -24597,8 +23899,7 @@ msgstr "« %s » n'est pas un nombre" msgid "case conversion failed: %s" msgstr "échec de la conversion de casse : %s" -#: utils/adt/formatting.c:1688 utils/adt/formatting.c:1810 -#: utils/adt/formatting.c:1933 +#: utils/adt/formatting.c:1688 utils/adt/formatting.c:1810 utils/adt/formatting.c:1933 #, c-format msgid "could not determine which collation to use for %s function" msgstr "n'a pas pu déterminer le collationnement à utiliser pour la fonction %s" @@ -24642,8 +23943,7 @@ msgstr "" "Si votre chaîne source n'a pas une taille fixe, essayez d'utiliser le\n" "modifieur « FM »." -#: utils/adt/formatting.c:2428 utils/adt/formatting.c:2442 -#: utils/adt/formatting.c:2665 +#: utils/adt/formatting.c:2428 utils/adt/formatting.c:2442 utils/adt/formatting.c:2665 #, c-format msgid "invalid value \"%s\" for \"%s\"" msgstr "valeur « %s » invalide pour « %s »" @@ -24673,12 +23973,7 @@ msgstr "La valeur doit être compris entre %d et %d." msgid "The given value did not match any of the allowed values for this field." msgstr "La valeur donnée ne correspond pas aux valeurs autorisées pour ce champ." -#: utils/adt/formatting.c:2886 utils/adt/formatting.c:2906 -#: utils/adt/formatting.c:2926 utils/adt/formatting.c:2946 -#: utils/adt/formatting.c:2965 utils/adt/formatting.c:2984 -#: utils/adt/formatting.c:3008 utils/adt/formatting.c:3026 -#: utils/adt/formatting.c:3044 utils/adt/formatting.c:3062 -#: utils/adt/formatting.c:3079 utils/adt/formatting.c:3096 +#: utils/adt/formatting.c:2886 utils/adt/formatting.c:2906 utils/adt/formatting.c:2926 utils/adt/formatting.c:2946 utils/adt/formatting.c:2965 utils/adt/formatting.c:2984 utils/adt/formatting.c:3008 utils/adt/formatting.c:3026 utils/adt/formatting.c:3044 utils/adt/formatting.c:3062 utils/adt/formatting.c:3079 utils/adt/formatting.c:3096 #, c-format msgid "localized string format value too long" msgstr "chaîne localisée trop longue" @@ -24778,9 +24073,7 @@ msgstr "chemin absolu non autorisé" msgid "path must be in or below the current directory" msgstr "le chemin doit être dans ou en-dessous du répertoire courant" -#: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:189 -#: utils/adt/oracle_compat.c:287 utils/adt/oracle_compat.c:838 -#: utils/adt/oracle_compat.c:1141 +#: utils/adt/genfile.c:114 utils/adt/oracle_compat.c:189 utils/adt/oracle_compat.c:287 utils/adt/oracle_compat.c:838 utils/adt/oracle_compat.c:1141 #, c-format msgid "requested length too large" msgstr "longueur demandée trop importante" @@ -24810,8 +24103,7 @@ msgstr "spécification invalide de ligne : A et B ne peuvent pas être à zéro msgid "invalid line specification: must be two distinct points" msgstr "spécification de ligne invalide : doit être deux points distincts" -#: utils/adt/geo_ops.c:1410 utils/adt/geo_ops.c:3402 utils/adt/geo_ops.c:4330 -#: utils/adt/geo_ops.c:5210 +#: utils/adt/geo_ops.c:1410 utils/adt/geo_ops.c:3402 utils/adt/geo_ops.c:4330 utils/adt/geo_ops.c:5210 #, c-format msgid "too many points requested" msgstr "trop de points demandé" @@ -24851,28 +24143,17 @@ msgstr "doit demander au moins deux points" msgid "invalid int2vector data" msgstr "données int2vector invalide" -#: utils/adt/int.c:1528 utils/adt/int8.c:1404 utils/adt/numeric.c:1678 -#: utils/adt/timestamp.c:5809 utils/adt/timestamp.c:5889 +#: utils/adt/int.c:1528 utils/adt/int8.c:1419 utils/adt/numeric.c:1678 utils/adt/timestamp.c:5901 utils/adt/timestamp.c:5981 #, c-format msgid "step size cannot equal zero" msgstr "la taille du pas ne peut pas valoir zéro" -#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486 -#: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 -#: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 -#: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 -#: utils/adt/int8.c:788 utils/adt/int8.c:900 utils/adt/int8.c:914 -#: utils/adt/int8.c:928 utils/adt/int8.c:959 utils/adt/int8.c:981 -#: utils/adt/int8.c:995 utils/adt/int8.c:1009 utils/adt/int8.c:1042 -#: utils/adt/int8.c:1056 utils/adt/int8.c:1070 utils/adt/int8.c:1101 -#: utils/adt/int8.c:1123 utils/adt/int8.c:1137 utils/adt/int8.c:1151 -#: utils/adt/int8.c:1313 utils/adt/int8.c:1348 utils/adt/numeric.c:4364 -#: utils/adt/varbit.c:1676 +#: utils/adt/int8.c:449 utils/adt/int8.c:472 utils/adt/int8.c:486 utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 utils/adt/int8.c:788 utils/adt/int8.c:915 utils/adt/int8.c:929 utils/adt/int8.c:943 utils/adt/int8.c:974 utils/adt/int8.c:996 utils/adt/int8.c:1010 utils/adt/int8.c:1024 utils/adt/int8.c:1057 utils/adt/int8.c:1071 utils/adt/int8.c:1085 utils/adt/int8.c:1116 utils/adt/int8.c:1138 utils/adt/int8.c:1152 utils/adt/int8.c:1166 utils/adt/int8.c:1328 utils/adt/int8.c:1363 utils/adt/numeric.c:4364 utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigint en dehors des limites" -#: utils/adt/int8.c:1361 +#: utils/adt/int8.c:1376 #, c-format msgid "OID out of range" msgstr "OID en dehors des limites" @@ -24882,7 +24163,7 @@ msgstr "OID en dehors des limites" msgid "key value must be scalar, not array, composite, or json" msgstr "la valeur clé doit être scalaire, et non pas un tableau ou une valeur composite ou un json" -#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2104 +#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2112 #, c-format msgid "could not determine data type for argument %d" msgstr "n'a pas pu déterminer le type de données pour l'argument %d" @@ -24918,8 +24199,7 @@ msgstr "Les clés de l'objet doivent être du texte." msgid "array must have two columns" msgstr "le tableau doit avoir deux colonnes" -#: utils/adt/json.c:1159 utils/adt/json.c:1242 utils/adt/jsonb.c:1333 -#: utils/adt/jsonb.c:1428 +#: utils/adt/json.c:1159 utils/adt/json.c:1242 utils/adt/jsonb.c:1333 utils/adt/jsonb.c:1428 #, c-format msgid "null value not allowed for object key" msgstr "valeur NULL non autorisée pour une clé d'objet" @@ -24999,8 +24279,7 @@ msgstr "le nombre d'éléments du tableau jsonb dépasse le maximum autorisé (% msgid "total size of jsonb array elements exceeds the maximum of %u bytes" msgstr "la taille totale des éléments du tableau jsonb dépasse le maximum de %u octets" -#: utils/adt/jsonb_util.c:1748 utils/adt/jsonb_util.c:1783 -#: utils/adt/jsonb_util.c:1803 +#: utils/adt/jsonb_util.c:1748 utils/adt/jsonb_util.c:1783 utils/adt/jsonb_util.c:1803 #, c-format msgid "total size of jsonb object elements exceeds the maximum of %u bytes" msgstr "la taille totale des éléments de l'objet JSON dépasse le maximum de %u octets" @@ -25035,15 +24314,12 @@ msgstr "l'indice d'un jsonb doit être de type text" msgid "jsonb subscript in assignment must not be null" msgstr "l'indice d'un jsonb lors d'une affectation ne doit pas être NULL" -#: utils/adt/jsonfuncs.c:561 utils/adt/jsonfuncs.c:798 -#: utils/adt/jsonfuncs.c:2368 utils/adt/jsonfuncs.c:2808 -#: utils/adt/jsonfuncs.c:3597 utils/adt/jsonfuncs.c:3930 +#: utils/adt/jsonfuncs.c:561 utils/adt/jsonfuncs.c:798 utils/adt/jsonfuncs.c:2368 utils/adt/jsonfuncs.c:2808 utils/adt/jsonfuncs.c:3597 utils/adt/jsonfuncs.c:3930 #, c-format msgid "cannot call %s on a scalar" msgstr "ne peut pas appeler %s sur un scalaire" -#: utils/adt/jsonfuncs.c:566 utils/adt/jsonfuncs.c:785 -#: utils/adt/jsonfuncs.c:2810 utils/adt/jsonfuncs.c:3586 +#: utils/adt/jsonfuncs.c:566 utils/adt/jsonfuncs.c:785 utils/adt/jsonfuncs.c:2810 utils/adt/jsonfuncs.c:3586 #, c-format msgid "cannot call %s on an array" msgstr "ne peut pas appeler %s sur un tableau" @@ -25093,8 +24369,7 @@ msgstr "ne peut pas extraire des éléments d'un objet" msgid "cannot call %s on a non-array" msgstr "ne peut pas appeler %s sur un type non tableau" -#: utils/adt/jsonfuncs.c:2425 utils/adt/jsonfuncs.c:2430 -#: utils/adt/jsonfuncs.c:2447 utils/adt/jsonfuncs.c:2453 +#: utils/adt/jsonfuncs.c:2425 utils/adt/jsonfuncs.c:2430 utils/adt/jsonfuncs.c:2447 utils/adt/jsonfuncs.c:2453 #, c-format msgid "expected JSON array" msgstr "attendait un tableau JSON" @@ -25151,8 +24426,7 @@ msgstr "l'argument de %s doit être un tableau d'objets" msgid "cannot call %s on an object" msgstr "ne peut pas appeler %s sur un objet" -#: utils/adt/jsonfuncs.c:4272 utils/adt/jsonfuncs.c:4331 -#: utils/adt/jsonfuncs.c:4412 +#: utils/adt/jsonfuncs.c:4272 utils/adt/jsonfuncs.c:4331 utils/adt/jsonfuncs.c:4412 #, c-format msgid "cannot delete from scalar" msgstr "ne peut pas supprimer à partir du scalaire" @@ -25197,8 +24471,7 @@ msgstr "ne peut pas supprimer un chemin dans le scalaire" msgid "path element at position %d is null" msgstr "l'élément de chemin à la position %d est nul" -#: utils/adt/jsonfuncs.c:4832 utils/adt/jsonfuncs.c:4863 -#: utils/adt/jsonfuncs.c:4936 +#: utils/adt/jsonfuncs.c:4832 utils/adt/jsonfuncs.c:4863 utils/adt/jsonfuncs.c:4936 #, c-format msgid "cannot replace existing key" msgstr "ne peut pas remplacer une clé existante" @@ -25318,67 +24591,67 @@ msgstr "l'argument chaîne de la méthode jsonpath .%s() n'est pas une représen msgid "jsonpath item method .%s() can only be applied to a string or numeric value" msgstr "la méthode de l'objet jsonpath .%s() ne peut être appliquée qu'à une chaîne ou une valeur numérique" -#: utils/adt/jsonpath_exec.c:1583 +#: utils/adt/jsonpath_exec.c:1586 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "l'opérande gauche de l'opérateur jsonpath %s n'est pas une valeur numérique unique" -#: utils/adt/jsonpath_exec.c:1590 +#: utils/adt/jsonpath_exec.c:1593 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "l'opérande droite de l'opérateur jsonpath %s n'est pas une valeur numérique unique" -#: utils/adt/jsonpath_exec.c:1658 +#: utils/adt/jsonpath_exec.c:1661 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "l'opérande de l'opérateur jsonpath unaire %s n'est pas une valeur numérique" -#: utils/adt/jsonpath_exec.c:1756 +#: utils/adt/jsonpath_exec.c:1759 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "la méthode de l'objet jsonpath .%s() ne peut être appliquée qu'à une valeur numérique" -#: utils/adt/jsonpath_exec.c:1796 +#: utils/adt/jsonpath_exec.c:1799 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "la méthode de l'objet jsonpath .%s() ne peut être appliquée qu'à une chaîne" -#: utils/adt/jsonpath_exec.c:1899 +#: utils/adt/jsonpath_exec.c:1902 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "le format datetime n'est pas reconnu : « %s »" -#: utils/adt/jsonpath_exec.c:1901 +#: utils/adt/jsonpath_exec.c:1904 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "Utilisez un argument modèle de datetime pour indiquer le format de données en entrée." -#: utils/adt/jsonpath_exec.c:1969 +#: utils/adt/jsonpath_exec.c:1972 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "la méthode .%s() de l'entité jsonpath ne peut être appliquée qu'à un objet" -#: utils/adt/jsonpath_exec.c:2151 +#: utils/adt/jsonpath_exec.c:2154 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "n'a pas pu trouver la variable jsonpath « %s »" -#: utils/adt/jsonpath_exec.c:2415 +#: utils/adt/jsonpath_exec.c:2418 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "l'indice du tableau jsonpath n'est pas une valeur numérique unique" -#: utils/adt/jsonpath_exec.c:2427 +#: utils/adt/jsonpath_exec.c:2430 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "indice du tableau jsonpath hors des limites d'un entier" -#: utils/adt/jsonpath_exec.c:2604 +#: utils/adt/jsonpath_exec.c:2607 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "ne peut pas convertir la valeur de %s à %s sans utilisation des fuseaux horaires" -#: utils/adt/jsonpath_exec.c:2606 +#: utils/adt/jsonpath_exec.c:2609 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Utilisez la fonction *_tz() pour le support des fuseaux horaires." @@ -25482,8 +24755,7 @@ msgstr "peut être un label brut" msgid "requires AS" msgstr "requiert AS" -#: utils/adt/misc.c:732 utils/adt/misc.c:746 utils/adt/misc.c:785 -#: utils/adt/misc.c:791 utils/adt/misc.c:797 utils/adt/misc.c:820 +#: utils/adt/misc.c:732 utils/adt/misc.c:746 utils/adt/misc.c:785 utils/adt/misc.c:791 utils/adt/misc.c:797 utils/adt/misc.c:820 #, c-format msgid "string is not a valid identifier: \"%s\"" msgstr "la chaîne n'est pas un identifiant valide : « %s »" @@ -25519,9 +24791,7 @@ msgstr "le format de trace « %s » n'est pas supporté" msgid "The supported log formats are \"stderr\", \"csvlog\", and \"jsonlog\"." msgstr "Les formats de traces supportés sont « stderr » et « csvlog »." -#: utils/adt/multirangetypes.c:149 utils/adt/multirangetypes.c:162 -#: utils/adt/multirangetypes.c:191 utils/adt/multirangetypes.c:261 -#: utils/adt/multirangetypes.c:285 +#: utils/adt/multirangetypes.c:149 utils/adt/multirangetypes.c:162 utils/adt/multirangetypes.c:191 utils/adt/multirangetypes.c:261 utils/adt/multirangetypes.c:285 #, c-format msgid "malformed multirange literal: \"%s\"" msgstr "litéral multirange mal formé : « %s »" @@ -25561,8 +24831,7 @@ msgstr "valeur cidr invalide : « %s »" msgid "Value has bits set to right of mask." msgstr "La valeur a des bits positionnés à la droite du masque." -#: utils/adt/network.c:152 utils/adt/network.c:1184 utils/adt/network.c:1209 -#: utils/adt/network.c:1234 +#: utils/adt/network.c:152 utils/adt/network.c:1184 utils/adt/network.c:1209 utils/adt/network.c:1234 #, c-format msgid "could not format inet value: %m" msgstr "n'a pas pu formater la valeur inet : %m" @@ -25695,21 +24964,17 @@ msgstr "la taille du pas ne peut pas être infinity" msgid "factorial of a negative number is undefined" msgstr "la factorielle d'un nombre négatif est indéfini" -#: utils/adt/numeric.c:3561 utils/adt/numeric.c:6945 utils/adt/numeric.c:7460 -#: utils/adt/numeric.c:9984 utils/adt/numeric.c:10463 utils/adt/numeric.c:10589 -#: utils/adt/numeric.c:10662 +#: utils/adt/numeric.c:3561 utils/adt/numeric.c:6945 utils/adt/numeric.c:7460 utils/adt/numeric.c:9984 utils/adt/numeric.c:10463 utils/adt/numeric.c:10589 utils/adt/numeric.c:10662 #, c-format msgid "value overflows numeric format" msgstr "la valeur dépasse le format numeric" -#: utils/adt/numeric.c:4271 utils/adt/numeric.c:4351 utils/adt/numeric.c:4392 -#: utils/adt/numeric.c:4586 +#: utils/adt/numeric.c:4271 utils/adt/numeric.c:4351 utils/adt/numeric.c:4392 utils/adt/numeric.c:4586 #, c-format msgid "cannot convert NaN to %s" msgstr "ne peut pas convertir NaN en %s" -#: utils/adt/numeric.c:4275 utils/adt/numeric.c:4355 utils/adt/numeric.c:4396 -#: utils/adt/numeric.c:4590 +#: utils/adt/numeric.c:4275 utils/adt/numeric.c:4355 utils/adt/numeric.c:4396 utils/adt/numeric.c:4590 #, c-format msgid "cannot convert infinity to %s" msgstr "ne peut pas convertir infinity en %s" @@ -25767,8 +25032,7 @@ msgstr "caractère demandé trop long pour l'encodage : %d" msgid "requested character not valid for encoding: %u" msgstr "caractère demandé invalide pour l'encodage : %d" -#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:552 -#: utils/adt/orderedsetaggs.c:690 +#: utils/adt/orderedsetaggs.c:448 utils/adt/orderedsetaggs.c:552 utils/adt/orderedsetaggs.c:690 #, c-format msgid "percentile value %g is not between 0 and 1" msgstr "la valeur centile %g n'est pas entre 0 et 1" @@ -25778,8 +25042,7 @@ msgstr "la valeur centile %g n'est pas entre 0 et 1" msgid "Apply system library package updates." msgstr "Applique les mises à jour du paquet de bibliothèque système." -#: utils/adt/pg_locale.c:1455 utils/adt/pg_locale.c:1703 -#: utils/adt/pg_locale.c:1982 utils/adt/pg_locale.c:2004 +#: utils/adt/pg_locale.c:1455 utils/adt/pg_locale.c:1703 utils/adt/pg_locale.c:1982 utils/adt/pg_locale.c:2004 #, c-format msgid "could not open collator for locale \"%s\": %s" msgstr "n'a pas pu ouvrir le collationneur pour la locale « %s » : %s" @@ -25852,8 +25115,7 @@ msgstr "encodage « %s » non supporté par ICU" msgid "could not open ICU converter for encoding \"%s\": %s" msgstr "n'a pas pu ouvrir le convertisseur ICU pour l'encodage « %s » : %s" -#: utils/adt/pg_locale.c:1835 utils/adt/pg_locale.c:1844 -#: utils/adt/pg_locale.c:1873 utils/adt/pg_locale.c:1883 +#: utils/adt/pg_locale.c:1835 utils/adt/pg_locale.c:1844 utils/adt/pg_locale.c:1873 utils/adt/pg_locale.c:1883 #, c-format msgid "%s failed: %s" msgstr "échec de %s : %s" @@ -25944,22 +25206,17 @@ msgstr "" "la limite inférieure de l'intervalle de valeurs doit être inférieure ou égale\n" "à la limite supérieure de l'intervalle de valeurs" -#: utils/adt/rangetypes.c:2112 utils/adt/rangetypes.c:2125 -#: utils/adt/rangetypes.c:2139 +#: utils/adt/rangetypes.c:2112 utils/adt/rangetypes.c:2125 utils/adt/rangetypes.c:2139 #, c-format msgid "invalid range bound flags" msgstr "drapeaux de limite de l'intervalle invalides" -#: utils/adt/rangetypes.c:2113 utils/adt/rangetypes.c:2126 -#: utils/adt/rangetypes.c:2140 +#: utils/adt/rangetypes.c:2113 utils/adt/rangetypes.c:2126 utils/adt/rangetypes.c:2140 #, c-format msgid "Valid values are \"[]\", \"[)\", \"(]\", and \"()\"." msgstr "Les valeurs valides sont entre « [] », « [) », « (] » et « () »." -#: utils/adt/rangetypes.c:2205 utils/adt/rangetypes.c:2222 -#: utils/adt/rangetypes.c:2235 utils/adt/rangetypes.c:2253 -#: utils/adt/rangetypes.c:2264 utils/adt/rangetypes.c:2308 -#: utils/adt/rangetypes.c:2316 +#: utils/adt/rangetypes.c:2205 utils/adt/rangetypes.c:2222 utils/adt/rangetypes.c:2235 utils/adt/rangetypes.c:2253 utils/adt/rangetypes.c:2264 utils/adt/rangetypes.c:2308 utils/adt/rangetypes.c:2316 #, c-format msgid "malformed range literal: \"%s\"" msgstr "intervalle litéral mal formé : « %s »" @@ -26004,10 +25261,7 @@ msgstr "option d'expression rationnelle invalide : « %.*s »" msgid "If you meant to use regexp_replace() with a start parameter, cast the fourth argument to integer explicitly." msgstr "" -#: utils/adt/regexp.c:702 utils/adt/regexp.c:711 utils/adt/regexp.c:1068 -#: utils/adt/regexp.c:1132 utils/adt/regexp.c:1141 utils/adt/regexp.c:1150 -#: utils/adt/regexp.c:1159 utils/adt/regexp.c:1839 utils/adt/regexp.c:1848 -#: utils/adt/regexp.c:1857 utils/misc/guc.c:11860 utils/misc/guc.c:11894 +#: utils/adt/regexp.c:702 utils/adt/regexp.c:711 utils/adt/regexp.c:1068 utils/adt/regexp.c:1132 utils/adt/regexp.c:1141 utils/adt/regexp.c:1150 utils/adt/regexp.c:1159 utils/adt/regexp.c:1839 utils/adt/regexp.c:1848 utils/adt/regexp.c:1857 utils/misc/guc.c:11875 utils/misc/guc.c:11909 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "valeur invalide pour le paramètre « %s » : %d" @@ -26018,9 +25272,7 @@ msgid "SQL regular expression may not contain more than two escape-double-quote msgstr "une expression régulière SQL ne peut contenir plus de deux guillemets doubles comme séparateur d'échappement" #. translator: %s is a SQL function name -#: utils/adt/regexp.c:1079 utils/adt/regexp.c:1170 utils/adt/regexp.c:1257 -#: utils/adt/regexp.c:1296 utils/adt/regexp.c:1684 utils/adt/regexp.c:1739 -#: utils/adt/regexp.c:1868 +#: utils/adt/regexp.c:1079 utils/adt/regexp.c:1170 utils/adt/regexp.c:1257 utils/adt/regexp.c:1296 utils/adt/regexp.c:1684 utils/adt/regexp.c:1739 utils/adt/regexp.c:1868 #, c-format msgid "%s does not support the \"global\" option" msgstr "%s ne supporte pas l'option « global »" @@ -26045,8 +25297,7 @@ msgstr "il existe plus d'une fonction nommée « %s »" msgid "more than one operator named %s" msgstr "il existe plus d'un opérateur nommé%s" -#: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 -#: utils/adt/ruleutils.c:10028 utils/adt/ruleutils.c:10197 +#: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 utils/adt/ruleutils.c:10029 utils/adt/ruleutils.c:10198 #, c-format msgid "too many arguments" msgstr "trop d'arguments" @@ -26056,9 +25307,7 @@ msgstr "trop d'arguments" msgid "Provide two argument types for operator." msgstr "Fournit deux types d'argument pour l'opérateur." -#: utils/adt/regproc.c:1639 utils/adt/regproc.c:1663 utils/adt/regproc.c:1764 -#: utils/adt/regproc.c:1788 utils/adt/regproc.c:1890 utils/adt/regproc.c:1895 -#: utils/adt/varlena.c:3667 utils/adt/varlena.c:3672 +#: utils/adt/regproc.c:1639 utils/adt/regproc.c:1663 utils/adt/regproc.c:1764 utils/adt/regproc.c:1788 utils/adt/regproc.c:1890 utils/adt/regproc.c:1895 utils/adt/varlena.c:3667 utils/adt/varlena.c:3672 #, c-format msgid "invalid name syntax" msgstr "syntaxe du nom invalide" @@ -26083,8 +25332,7 @@ msgstr "attendait un nom de type" msgid "improper type name" msgstr "nom du type invalide" -#: utils/adt/ri_triggers.c:307 utils/adt/ri_triggers.c:1611 -#: utils/adt/ri_triggers.c:2598 +#: utils/adt/ri_triggers.c:307 utils/adt/ri_triggers.c:1611 utils/adt/ri_triggers.c:2598 #, c-format msgid "insert or update on table \"%s\" violates foreign key constraint \"%s\"" msgstr "" @@ -26170,8 +25418,7 @@ msgstr "La clé est toujours référencée à partir de la table « %s »." msgid "input of anonymous composite types is not implemented" msgstr "l'ajout de colonnes ayant un type composé n'est pas implémenté" -#: utils/adt/rowtypes.c:157 utils/adt/rowtypes.c:186 utils/adt/rowtypes.c:209 -#: utils/adt/rowtypes.c:217 utils/adt/rowtypes.c:269 utils/adt/rowtypes.c:277 +#: utils/adt/rowtypes.c:157 utils/adt/rowtypes.c:186 utils/adt/rowtypes.c:209 utils/adt/rowtypes.c:217 utils/adt/rowtypes.c:269 utils/adt/rowtypes.c:277 #, c-format msgid "malformed record literal: \"%s\"" msgstr "enregistrement litéral invalide : « %s »" @@ -26211,41 +25458,39 @@ msgstr "la donnée binaire a le type %u (%s) au lieu de %u (%s) dans la colonne msgid "improper binary format in record column %d" msgstr "format binaire invalide dans l'enregistrement de la colonne %d" -#: utils/adt/rowtypes.c:932 utils/adt/rowtypes.c:1178 utils/adt/rowtypes.c:1436 -#: utils/adt/rowtypes.c:1682 +#: utils/adt/rowtypes.c:932 utils/adt/rowtypes.c:1178 utils/adt/rowtypes.c:1436 utils/adt/rowtypes.c:1682 #, c-format msgid "cannot compare dissimilar column types %s and %s at record column %d" msgstr "" "ne peut pas comparer les types de colonnes non similaires %s et %s pour la\n" "colonne %d de l'enregistrement" -#: utils/adt/rowtypes.c:1023 utils/adt/rowtypes.c:1248 -#: utils/adt/rowtypes.c:1533 utils/adt/rowtypes.c:1718 +#: utils/adt/rowtypes.c:1023 utils/adt/rowtypes.c:1248 utils/adt/rowtypes.c:1533 utils/adt/rowtypes.c:1718 #, c-format msgid "cannot compare record types with different numbers of columns" msgstr "" "ne peut pas comparer les types d'enregistrement avec des numéros différents\n" "des colonnes" -#: utils/adt/ruleutils.c:2725 +#: utils/adt/ruleutils.c:2710 #, fuzzy, c-format #| msgid "cannot use subquery in index expression" msgid "input is a query, not an expression" msgstr "ne peut pas utiliser la sous-requête dans l'expression de l'index" -#: utils/adt/ruleutils.c:2737 +#: utils/adt/ruleutils.c:2722 #, fuzzy, c-format #| msgid "USING expression contains a whole-row table reference." msgid "expression contains variables of more than one relation" msgstr "l'expression USING contient une référence de table de ligne complète." -#: utils/adt/ruleutils.c:2744 +#: utils/adt/ruleutils.c:2729 #, fuzzy, c-format #| msgid "argument of %s must not contain variables" msgid "expression contains variables" msgstr "l'argument de « %s » ne doit pas contenir de variables" -#: utils/adt/ruleutils.c:5267 +#: utils/adt/ruleutils.c:5268 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "la règle « %s » a un type d'événement %d non supporté" @@ -26260,7 +25505,7 @@ msgstr "la précision de TIMESTAMP(%d)%s ne doit pas être négative" msgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "la précision de TIMESTAMP(%d)%s est réduite au maximum autorisé, %d" -#: utils/adt/timestamp.c:179 utils/adt/timestamp.c:437 utils/misc/guc.c:12884 +#: utils/adt/timestamp.c:179 utils/adt/timestamp.c:437 utils/misc/guc.c:12899 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "timestamp en dehors de limites : « %s »" @@ -26280,8 +25525,7 @@ msgstr "Les fuseaux horaires numériques doivent avoir « - » ou « + » comme msgid "numeric time zone \"%s\" out of range" msgstr "le fuseau horaire numérique « %s » est en dehors des limites" -#: utils/adt/timestamp.c:608 utils/adt/timestamp.c:618 -#: utils/adt/timestamp.c:626 +#: utils/adt/timestamp.c:608 utils/adt/timestamp.c:618 utils/adt/timestamp.c:626 #, c-format msgid "timestamp out of range: %d-%02d-%02d %d:%02d:%02g" msgstr "timestamp en dehors de limites : %d-%02d-%02d %d:%02d:%02g" @@ -26296,17 +25540,7 @@ msgstr "timestamp ne peut pas valoir NaN" msgid "timestamp out of range: \"%g\"" msgstr "timestamp en dehors de limites : « %g »" -#: utils/adt/timestamp.c:938 utils/adt/timestamp.c:1509 -#: utils/adt/timestamp.c:2761 utils/adt/timestamp.c:2778 -#: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2870 -#: utils/adt/timestamp.c:3115 utils/adt/timestamp.c:3120 -#: utils/adt/timestamp.c:3125 utils/adt/timestamp.c:3175 -#: utils/adt/timestamp.c:3182 utils/adt/timestamp.c:3189 -#: utils/adt/timestamp.c:3209 utils/adt/timestamp.c:3216 -#: utils/adt/timestamp.c:3223 utils/adt/timestamp.c:3253 -#: utils/adt/timestamp.c:3261 utils/adt/timestamp.c:3305 -#: utils/adt/timestamp.c:3731 utils/adt/timestamp.c:3855 -#: utils/adt/timestamp.c:4405 +#: utils/adt/timestamp.c:938 utils/adt/timestamp.c:1509 utils/adt/timestamp.c:2761 utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2870 utils/adt/timestamp.c:3146 utils/adt/timestamp.c:3151 utils/adt/timestamp.c:3156 utils/adt/timestamp.c:3206 utils/adt/timestamp.c:3213 utils/adt/timestamp.c:3220 utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3247 utils/adt/timestamp.c:3254 utils/adt/timestamp.c:3341 utils/adt/timestamp.c:3416 utils/adt/timestamp.c:3789 utils/adt/timestamp.c:3913 utils/adt/timestamp.c:3961 utils/adt/timestamp.c:3971 utils/adt/timestamp.c:4161 utils/adt/timestamp.c:4171 utils/adt/timestamp.c:4497 #, c-format msgid "interval out of range" msgstr "intervalle en dehors des limites" @@ -26336,22 +25570,22 @@ msgstr "la précision de interval(%d) doit être comprise entre %d et %d" msgid "cannot subtract infinite timestamps" msgstr "ne peut pas soustraire les valeurs timestamps infinies" -#: utils/adt/timestamp.c:3891 utils/adt/timestamp.c:4074 +#: utils/adt/timestamp.c:3950 utils/adt/timestamp.c:4150 #, c-format msgid "origin out of range" msgstr "origine hors des limites" -#: utils/adt/timestamp.c:3896 utils/adt/timestamp.c:4079 +#: utils/adt/timestamp.c:3955 utils/adt/timestamp.c:4155 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "Les données de type timestamp ne peuvent pas être rangées dans des intervalles contenant des mois ou des années." -#: utils/adt/timestamp.c:3903 utils/adt/timestamp.c:4086 +#: utils/adt/timestamp.c:3966 utils/adt/timestamp.c:4166 #, c-format msgid "stride must be greater than zero" msgstr "le pas doit être supérieur à zéro" -#: utils/adt/timestamp.c:4399 +#: utils/adt/timestamp.c:4491 #, fuzzy, c-format #| msgid "interval units \"%s\" not supported because months usually have fractional weeks" msgid "Months usually have fractional weeks." @@ -26387,8 +25621,7 @@ msgstr "gtsvector_in n'est pas encore implémenté" msgid "distance in phrase operator must be an integer value between zero and %d inclusive" msgstr "la distance dans l'opérateur de phrase doit être un entier compris entre zéro et %d inclus" -#: utils/adt/tsquery.c:306 utils/adt/tsquery.c:691 -#: utils/adt/tsvector_parser.c:133 +#: utils/adt/tsquery.c:306 utils/adt/tsquery.c:691 utils/adt/tsvector_parser.c:133 #, c-format msgid "syntax error in tsquery: \"%s\"" msgstr "erreur de syntaxe dans tsquery : « %s »" @@ -26588,9 +25821,7 @@ msgstr "longueur invalide dans la chaîne bit externe" msgid "bit string too long for type bit varying(%d)" msgstr "la chaîne de bits est trop longue pour le type bit varying(%d)" -#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:889 -#: utils/adt/varlena.c:952 utils/adt/varlena.c:1109 utils/adt/varlena.c:3309 -#: utils/adt/varlena.c:3387 +#: utils/adt/varbit.c:1081 utils/adt/varbit.c:1191 utils/adt/varlena.c:889 utils/adt/varlena.c:952 utils/adt/varlena.c:1109 utils/adt/varlena.c:3309 utils/adt/varlena.c:3387 #, c-format msgid "negative substring length not allowed" msgstr "longueur de sous-chaîne négative non autorisée" @@ -26735,78 +25966,78 @@ msgstr "point code Unicode invalide : %04X" msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "Les échappements Unicode doivent être de la forme \\XXXX, \\+XXXXXX, \\uXXXX ou \\UXXXXXXXX." -#: utils/adt/windowfuncs.c:306 +#: utils/adt/windowfuncs.c:307 #, c-format msgid "argument of ntile must be greater than zero" msgstr "l'argument de ntile doit être supérieur à zéro" -#: utils/adt/windowfuncs.c:528 +#: utils/adt/windowfuncs.c:529 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "l'argument de nth_value doit être supérieur à zéro" -#: utils/adt/xid8funcs.c:117 +#: utils/adt/xid8funcs.c:118 #, fuzzy, c-format #| msgid "transaction ID %s is in the future" msgid "transaction ID %llu is in the future" msgstr "l'identifiant de transaction %s est dans le futur" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:555 #, c-format msgid "invalid external pg_snapshot data" msgstr "données pg_snapshot externes invalides" -#: utils/adt/xml.c:222 +#: utils/adt/xml.c:232 #, c-format msgid "unsupported XML feature" msgstr "fonctionnalité XML non supportée" -#: utils/adt/xml.c:223 +#: utils/adt/xml.c:233 #, c-format msgid "This functionality requires the server to be built with libxml support." msgstr "Cette fonctionnalité nécessite que le serveur dispose du support de libxml." -#: utils/adt/xml.c:242 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:252 utils/mb/mbutils.c:627 #, c-format msgid "invalid encoding name \"%s\"" msgstr "nom d'encodage « %s » invalide" -#: utils/adt/xml.c:485 utils/adt/xml.c:490 +#: utils/adt/xml.c:495 utils/adt/xml.c:500 #, c-format msgid "invalid XML comment" msgstr "commentaire XML invalide" -#: utils/adt/xml.c:619 +#: utils/adt/xml.c:629 #, c-format msgid "not an XML document" msgstr "pas un document XML" -#: utils/adt/xml.c:778 utils/adt/xml.c:801 +#: utils/adt/xml.c:788 utils/adt/xml.c:811 #, c-format msgid "invalid XML processing instruction" msgstr "instruction de traitement XML invalide" -#: utils/adt/xml.c:779 +#: utils/adt/xml.c:789 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "le nom de la cible de l'instruction de traitement XML ne peut pas être « %s »." -#: utils/adt/xml.c:802 +#: utils/adt/xml.c:812 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "l'instruction de traitement XML ne peut pas contenir « ?> »." -#: utils/adt/xml.c:881 +#: utils/adt/xml.c:891 #, c-format msgid "xmlvalidate is not implemented" msgstr "xmlvalidate n'est pas implémenté" -#: utils/adt/xml.c:960 +#: utils/adt/xml.c:970 #, c-format msgid "could not initialize XML library" msgstr "n'a pas pu initialiser la bibliothèque XML" -#: utils/adt/xml.c:961 +#: utils/adt/xml.c:971 #, fuzzy, c-format #| msgid "libxml2 has incompatible char type: sizeof(char)=%u, sizeof(xmlChar)=%u." msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." @@ -26814,12 +26045,12 @@ msgstr "" "libxml2 a un type de caractère incompatible : sizeof(char)=%u,\n" "sizeof(xmlChar)=%u." -#: utils/adt/xml.c:1047 +#: utils/adt/xml.c:1057 #, c-format msgid "could not set up XML error handler" msgstr "n'a pas pu configurer le gestionnaire d'erreurs XML" -#: utils/adt/xml.c:1048 +#: utils/adt/xml.c:1058 #, c-format msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with." msgstr "" @@ -26827,99 +26058,99 @@ msgstr "" "n'est pas compatible avec les fichiers d'en-tête de libxml2 avec lesquels\n" "PostgreSQL a été construit." -#: utils/adt/xml.c:1935 +#: utils/adt/xml.c:1945 msgid "Invalid character value." msgstr "Valeur invalide pour le caractère." -#: utils/adt/xml.c:1938 +#: utils/adt/xml.c:1948 msgid "Space required." msgstr "Espace requis." -#: utils/adt/xml.c:1941 +#: utils/adt/xml.c:1951 msgid "standalone accepts only 'yes' or 'no'." msgstr "la version autonome accepte seulement 'yes' et 'no'." -#: utils/adt/xml.c:1944 +#: utils/adt/xml.c:1954 msgid "Malformed declaration: missing version." msgstr "Déclaration mal formée : version manquante." -#: utils/adt/xml.c:1947 +#: utils/adt/xml.c:1957 msgid "Missing encoding in text declaration." msgstr "Encodage manquant dans la déclaration du texte." -#: utils/adt/xml.c:1950 +#: utils/adt/xml.c:1960 msgid "Parsing XML declaration: '?>' expected." msgstr "Analyse de la déclaration XML : « ?> » attendu." -#: utils/adt/xml.c:1953 +#: utils/adt/xml.c:1963 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Code d'erreur libxml non reconnu : %d." -#: utils/adt/xml.c:2210 +#: utils/adt/xml.c:2220 #, c-format msgid "XML does not support infinite date values." msgstr "XML ne supporte pas les valeurs infinies de date." -#: utils/adt/xml.c:2232 utils/adt/xml.c:2259 +#: utils/adt/xml.c:2242 utils/adt/xml.c:2269 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML ne supporte pas les valeurs infinies de timestamp." -#: utils/adt/xml.c:2675 +#: utils/adt/xml.c:2685 #, c-format msgid "invalid query" msgstr "requête invalide" -#: utils/adt/xml.c:2767 +#: utils/adt/xml.c:2777 #, fuzzy, c-format #| msgid "%s query does not return tuples" msgid "portal \"%s\" does not return tuples" msgstr "la requête %s ne renvoie pas de lignes" -#: utils/adt/xml.c:4019 +#: utils/adt/xml.c:4029 #, c-format msgid "invalid array for XML namespace mapping" msgstr "tableau invalide pour la correspondance de l'espace de nom XML" -#: utils/adt/xml.c:4020 +#: utils/adt/xml.c:4030 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "" "Le tableau doit avoir deux dimensions avec une longueur de 2 pour le\n" "deuxième axe." -#: utils/adt/xml.c:4044 +#: utils/adt/xml.c:4054 #, c-format msgid "empty XPath expression" msgstr "expression XPath vide" -#: utils/adt/xml.c:4096 +#: utils/adt/xml.c:4106 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ni le nom de l'espace de noms ni l'URI ne peuvent être NULL" -#: utils/adt/xml.c:4103 +#: utils/adt/xml.c:4113 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "n'a pas pu enregistrer l'espace de noms XML de nom « %s » et d'URI « %s »" -#: utils/adt/xml.c:4454 +#: utils/adt/xml.c:4464 #, c-format msgid "DEFAULT namespace is not supported" msgstr "l'espace de nom DEFAULT n'est pas supporté" -#: utils/adt/xml.c:4483 +#: utils/adt/xml.c:4493 #, c-format msgid "row path filter must not be empty string" msgstr "le filtre du chemin de ligne ne doit pas être une chaîne vide" -#: utils/adt/xml.c:4514 +#: utils/adt/xml.c:4524 #, c-format msgid "column path filter must not be empty string" msgstr "le filtre du chemin de colonne ne doit pas être une chaîne vide" -#: utils/adt/xml.c:4658 +#: utils/adt/xml.c:4668 #, c-format msgid "more than one value returned by column XPath expression" msgstr "plus d'une valeur renvoyée par l'expression XPath de colonne" @@ -26929,8 +26160,7 @@ msgstr "plus d'une valeur renvoyée par l'expression XPath de colonne" msgid "cast from type %s to type %s does not exist" msgstr "la conversion du type %s vers le type %s n'existe pas" -#: utils/cache/lsyscache.c:2844 utils/cache/lsyscache.c:2877 -#: utils/cache/lsyscache.c:2910 utils/cache/lsyscache.c:2943 +#: utils/cache/lsyscache.c:2844 utils/cache/lsyscache.c:2877 utils/cache/lsyscache.c:2910 utils/cache/lsyscache.c:2943 #, c-format msgid "type %s is only a shell" msgstr "le type %s est seulement un shell" @@ -26982,26 +26212,26 @@ msgstr "Continue malgré tout, mais quelque chose s'est mal passé." msgid "could not remove cache file \"%s\": %m" msgstr "n'a pas pu supprimer le fichier cache « %s » : %m" -#: utils/cache/relmapper.c:590 +#: utils/cache/relmapper.c:591 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "" "ne peut pas préparer (PREPARE) une transaction qui a modifié la correspondance\n" "de relation" -#: utils/cache/relmapper.c:836 +#: utils/cache/relmapper.c:839 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "le fichier de correspondance des relations « %s » contient des données invalides" -#: utils/cache/relmapper.c:846 +#: utils/cache/relmapper.c:849 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "" "le fichier de correspondance des relations « %s » contient une somme de\n" "contrôle incorrecte" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:575 +#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:583 #, c-format msgid "record type has not been registered" msgstr "le type d'enregistrement n'a pas été enregistré" @@ -27021,92 +26251,92 @@ msgstr "TRAP : %s(« %s », Fichier : « %s », Ligne : %d, PID : %d)\n" msgid "error occurred before error message processing is available\n" msgstr "erreur survenue avant que le traitement des messages d'erreurs ne soit disponible\n" -#: utils/error/elog.c:1943 +#: utils/error/elog.c:1947 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stderr : %m" -#: utils/error/elog.c:1956 +#: utils/error/elog.c:1960 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "n'a pas pu ré-ouvrir le fichier « %s » comme stdout : %m" -#: utils/error/elog.c:2521 utils/error/elog.c:2548 utils/error/elog.c:2564 +#: utils/error/elog.c:2525 utils/error/elog.c:2552 utils/error/elog.c:2568 msgid "[unknown]" msgstr "[inconnu]" -#: utils/error/elog.c:2837 utils/error/elog.c:3158 utils/error/elog.c:3265 +#: utils/error/elog.c:2841 utils/error/elog.c:3162 utils/error/elog.c:3269 msgid "missing error text" msgstr "texte d'erreur manquant" -#: utils/error/elog.c:2840 utils/error/elog.c:2843 +#: utils/error/elog.c:2844 utils/error/elog.c:2847 #, c-format msgid " at character %d" msgstr " au caractère %d" -#: utils/error/elog.c:2853 utils/error/elog.c:2860 +#: utils/error/elog.c:2857 utils/error/elog.c:2864 msgid "DETAIL: " msgstr "DÉTAIL: " -#: utils/error/elog.c:2867 +#: utils/error/elog.c:2871 msgid "HINT: " msgstr "ASTUCE : " -#: utils/error/elog.c:2874 +#: utils/error/elog.c:2878 msgid "QUERY: " msgstr "REQUÊTE : " -#: utils/error/elog.c:2881 +#: utils/error/elog.c:2885 msgid "CONTEXT: " msgstr "CONTEXTE : " -#: utils/error/elog.c:2891 +#: utils/error/elog.c:2895 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "EMPLACEMENT : %s, %s:%d\n" -#: utils/error/elog.c:2898 +#: utils/error/elog.c:2902 #, c-format msgid "LOCATION: %s:%d\n" msgstr "EMPLACEMENT : %s:%d\n" -#: utils/error/elog.c:2905 +#: utils/error/elog.c:2909 msgid "BACKTRACE: " msgstr "PILE D'APPEL : " -#: utils/error/elog.c:2917 +#: utils/error/elog.c:2921 msgid "STATEMENT: " msgstr "INSTRUCTION : " -#: utils/error/elog.c:3310 +#: utils/error/elog.c:3314 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3314 +#: utils/error/elog.c:3318 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3317 +#: utils/error/elog.c:3321 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3320 +#: utils/error/elog.c:3324 msgid "NOTICE" msgstr "NOTICE" -#: utils/error/elog.c:3324 +#: utils/error/elog.c:3328 msgid "WARNING" msgstr "ATTENTION" -#: utils/error/elog.c:3327 +#: utils/error/elog.c:3331 msgid "ERROR" msgstr "ERREUR" -#: utils/error/elog.c:3330 +#: utils/error/elog.c:3334 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3333 +#: utils/error/elog.c:3337 msgid "PANIC" msgstr "PANIC" @@ -27233,34 +26463,34 @@ msgstr "les informations sur les options de la classe d'opérateur sont absentes msgid "language validation function %u called for language %u instead of %u" msgstr "fonction %u de validation du langage appelée pour le langage %u au lieu de %u" -#: utils/fmgr/funcapi.c:498 +#: utils/fmgr/funcapi.c:505 #, c-format msgid "could not determine actual result type for function \"%s\" declared to return type %s" msgstr "" "n'a pas pu déterminer le type du résultat actuel pour la fonction « %s »\n" "déclarant retourner le type %s" -#: utils/fmgr/funcapi.c:643 +#: utils/fmgr/funcapi.c:651 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "l'argument déclaré %s ne contient pas un type d'intervalle mais un type %s" -#: utils/fmgr/funcapi.c:726 +#: utils/fmgr/funcapi.c:734 #, c-format msgid "could not find multirange type for data type %s" msgstr "n'a pas pu trouver le type multirange pour le type de données %s" -#: utils/fmgr/funcapi.c:1943 utils/fmgr/funcapi.c:1975 +#: utils/fmgr/funcapi.c:1951 utils/fmgr/funcapi.c:1983 #, c-format msgid "number of aliases does not match number of columns" msgstr "le nombre d'alias ne correspond pas au nombre de colonnes" -#: utils/fmgr/funcapi.c:1969 +#: utils/fmgr/funcapi.c:1977 #, c-format msgid "no column alias was provided" msgstr "aucun alias de colonne n'a été fourni" -#: utils/fmgr/funcapi.c:1993 +#: utils/fmgr/funcapi.c:2001 #, c-format msgid "could not determine row description for function returning record" msgstr "" @@ -27304,7 +26534,7 @@ msgstr "le répertoire des données « %s » a des permissions non valides" msgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "Les droits devraient être u=rwx (0700) ou u=rwx,g=rx (0750)." -#: utils/init/miscinit.c:665 utils/misc/guc.c:7830 +#: utils/init/miscinit.c:665 utils/misc/guc.c:7837 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "" @@ -27326,129 +26556,128 @@ msgstr "le rôle « %s » n'est pas autorisé à se connecter" msgid "too many connections for role \"%s\"" msgstr "trop de connexions pour le rôle « %s »" -#: utils/init/miscinit.c:841 +#: utils/init/miscinit.c:849 #, c-format msgid "permission denied to set session authorization" msgstr "droit refusé pour initialiser une autorisation de session" -#: utils/init/miscinit.c:924 +#: utils/init/miscinit.c:932 #, c-format msgid "invalid role OID: %u" msgstr "OID du rôle invalide : %u" -#: utils/init/miscinit.c:978 +#: utils/init/miscinit.c:986 #, c-format msgid "database system is shut down" msgstr "le système de base de données est arrêté" -#: utils/init/miscinit.c:1065 +#: utils/init/miscinit.c:1073 #, c-format msgid "could not create lock file \"%s\": %m" msgstr "n'a pas pu créer le fichier verrou « %s » : %m" -#: utils/init/miscinit.c:1079 +#: utils/init/miscinit.c:1087 #, c-format msgid "could not open lock file \"%s\": %m" msgstr "n'a pas pu ouvrir le fichier verrou « %s » : %m" -#: utils/init/miscinit.c:1086 +#: utils/init/miscinit.c:1094 #, c-format msgid "could not read lock file \"%s\": %m" msgstr "n'a pas pu lire le fichier verrou « %s » : %m" -#: utils/init/miscinit.c:1095 +#: utils/init/miscinit.c:1103 #, c-format msgid "lock file \"%s\" is empty" msgstr "le fichier verrou « %s » est vide" -#: utils/init/miscinit.c:1096 +#: utils/init/miscinit.c:1104 #, c-format msgid "Either another server is starting, or the lock file is the remnant of a previous server startup crash." msgstr "Soit un autre serveur est en cours de démarrage, soit le fichier verrou est un reste d'un précédent crash au démarrage du serveur." -#: utils/init/miscinit.c:1140 +#: utils/init/miscinit.c:1148 #, c-format msgid "lock file \"%s\" already exists" msgstr "le fichier verrou « %s » existe déjà " -#: utils/init/miscinit.c:1144 +#: utils/init/miscinit.c:1152 #, c-format msgid "Is another postgres (PID %d) running in data directory \"%s\"?" msgstr "" "Un autre postgres (de PID %d) est-il déjà lancé avec comme répertoire de\n" "données « %s » ?" -#: utils/init/miscinit.c:1146 +#: utils/init/miscinit.c:1154 #, c-format msgid "Is another postmaster (PID %d) running in data directory \"%s\"?" msgstr "" "Un autre postmaster (de PID %d) est-il déjà lancé avec comme répertoire de\n" "données « %s » ?" -#: utils/init/miscinit.c:1149 +#: utils/init/miscinit.c:1157 #, c-format msgid "Is another postgres (PID %d) using socket file \"%s\"?" msgstr "Un autre postgres (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?" -#: utils/init/miscinit.c:1151 +#: utils/init/miscinit.c:1159 #, c-format msgid "Is another postmaster (PID %d) using socket file \"%s\"?" msgstr "Un autre postmaster (de PID %d) est-il déjà lancé en utilisant la socket « %s » ?" -#: utils/init/miscinit.c:1202 +#: utils/init/miscinit.c:1210 #, c-format msgid "could not remove old lock file \"%s\": %m" msgstr "n'a pas pu supprimer le vieux fichier verrou « %s » : %m" -#: utils/init/miscinit.c:1204 +#: utils/init/miscinit.c:1212 #, c-format msgid "The file seems accidentally left over, but it could not be removed. Please remove the file by hand and try again." msgstr "" "Le fichier semble avoir été oublié accidentellement mais il ne peut pas être\n" "supprimé. Merci de supprimer ce fichier manuellement et de ré-essayer." -#: utils/init/miscinit.c:1241 utils/init/miscinit.c:1255 -#: utils/init/miscinit.c:1266 +#: utils/init/miscinit.c:1249 utils/init/miscinit.c:1263 utils/init/miscinit.c:1274 #, c-format msgid "could not write lock file \"%s\": %m" msgstr "n'a pas pu écrire le fichier verrou « %s » : %m" -#: utils/init/miscinit.c:1377 utils/init/miscinit.c:1519 utils/misc/guc.c:10828 +#: utils/init/miscinit.c:1385 utils/init/miscinit.c:1527 utils/misc/guc.c:10843 #, c-format msgid "could not read from file \"%s\": %m" msgstr "n'a pas pu lire à partir du fichier « %s » : %m" -#: utils/init/miscinit.c:1507 +#: utils/init/miscinit.c:1515 #, c-format msgid "could not open file \"%s\": %m; continuing anyway" msgstr "n'a pas pu ouvrir le fichier « %s » : %m ; poursuite du traitement" -#: utils/init/miscinit.c:1532 +#: utils/init/miscinit.c:1540 #, c-format msgid "lock file \"%s\" contains wrong PID: %ld instead of %ld" msgstr "le fichier de verrou « %s » contient le mauvais PID : %ld au lieu de %ld" -#: utils/init/miscinit.c:1571 utils/init/miscinit.c:1587 +#: utils/init/miscinit.c:1579 utils/init/miscinit.c:1595 #, c-format msgid "\"%s\" is not a valid data directory" msgstr "« %s » n'est pas un répertoire de données valide" -#: utils/init/miscinit.c:1573 +#: utils/init/miscinit.c:1581 #, c-format msgid "File \"%s\" is missing." msgstr "Le fichier « %s » est manquant." -#: utils/init/miscinit.c:1589 +#: utils/init/miscinit.c:1597 #, c-format msgid "File \"%s\" does not contain valid data." msgstr "Le fichier « %s » ne contient aucune donnée valide." -#: utils/init/miscinit.c:1591 +#: utils/init/miscinit.c:1599 #, c-format msgid "You might need to initdb." msgstr "Vous pouvez avoir besoin d'exécuter initdb." -#: utils/init/miscinit.c:1599 +#: utils/init/miscinit.c:1607 #, c-format msgid "The data directory was initialized by PostgreSQL version %s, which is not compatible with this version %s." msgstr "" @@ -27485,13 +26714,11 @@ msgstr " SSL activé (protocole : %s, chiffrement : %s, bits : %d)" msgid " GSS (authenticated=%s, encrypted=%s, principal=%s)" msgstr " GSS (authentifié=%s, chiffré=%s, principal=%s)" -#: utils/init/postinit.c:285 utils/init/postinit.c:286 -#: utils/init/postinit.c:291 utils/init/postinit.c:292 +#: utils/init/postinit.c:285 utils/init/postinit.c:286 utils/init/postinit.c:291 utils/init/postinit.c:292 msgid "no" msgstr "non" -#: utils/init/postinit.c:285 utils/init/postinit.c:286 -#: utils/init/postinit.c:291 utils/init/postinit.c:292 +#: utils/init/postinit.c:285 utils/init/postinit.c:286 utils/init/postinit.c:291 utils/init/postinit.c:292 msgid "yes" msgstr "oui" @@ -27629,14 +26856,12 @@ msgstr "Le sous-répertoire de la base de données « %s » est manquant." msgid "invalid encoding number: %d" msgstr "numéro d'encodage invalide : %d" -#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:129 -#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:165 +#: utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:129 utils/mb/conversion_procs/utf8_and_iso8859/utf8_and_iso8859.c:165 #, c-format msgid "unexpected encoding ID %d for ISO 8859 character sets" msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères ISO-8859" -#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:110 -#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:146 +#: utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:110 utils/mb/conversion_procs/utf8_and_win/utf8_and_win.c:146 #, c-format msgid "unexpected encoding ID %d for WIN character sets" msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères WIN" @@ -27646,8 +26871,7 @@ msgstr "identifiant d'encodage %d inattendu pour les jeux de caractères WIN" msgid "conversion between %s and %s is not supported" msgstr "la conversion entre %s et %s n'est pas supportée" -#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 -#: utils/mb/mbutils.c:842 +#: utils/mb/mbutils.c:402 utils/mb/mbutils.c:430 utils/mb/mbutils.c:815 utils/mb/mbutils.c:842 #, c-format msgid "String of %d bytes is too long for encoding conversion." msgstr "Une chaîne de %d octets est trop longue pour la conversion d'encodage." @@ -28678,8 +27902,7 @@ msgstr "Configure l'OID de la table avec une trace des verrous sans condition." msgid "Sets the maximum allowed duration of any statement." msgstr "Initialise la durée maximum permise pour toute instruction." -#: utils/misc/guc.c:2646 utils/misc/guc.c:2657 utils/misc/guc.c:2668 -#: utils/misc/guc.c:2679 +#: utils/misc/guc.c:2646 utils/misc/guc.c:2657 utils/misc/guc.c:2668 utils/misc/guc.c:2679 msgid "A value of 0 turns off the timeout." msgstr "Une valeur de 0 désactive le timeout." @@ -29643,8 +28866,7 @@ msgstr "Initialise le format de sortie pour bytea." msgid "Sets the message levels that are sent to the client." msgstr "Initialise les niveaux de message envoyés au client." -#: utils/misc/guc.c:4746 utils/misc/guc.c:4832 utils/misc/guc.c:4843 -#: utils/misc/guc.c:4919 +#: utils/misc/guc.c:4746 utils/misc/guc.c:4832 utils/misc/guc.c:4843 utils/misc/guc.c:4919 msgid "Each level includes all the levels that follow it. The later the level, the fewer messages are sent." msgstr "" "Chaque niveau inclut les niveaux qui suivent. Plus loin sera le niveau,\n" @@ -29905,182 +29127,181 @@ msgstr "%d%s%s est en dehors des limites valides pour le paramètre « %s » (%d msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" msgstr "%g%s%s est en dehors des limites valides pour le paramètre « %s » (%g .. %g)" -#: utils/misc/guc.c:7648 utils/misc/guc.c:9096 +#: utils/misc/guc.c:7649 utils/misc/guc.c:9103 #, c-format msgid "cannot set parameters during a parallel operation" msgstr "ne peut pas configurer les paramètres lors d'une opération parallèle" -#: utils/misc/guc.c:7665 utils/misc/guc.c:8920 +#: utils/misc/guc.c:7668 utils/misc/guc.c:8927 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "le paramètre « %s » ne peut pas être changé" -#: utils/misc/guc.c:7698 +#: utils/misc/guc.c:7701 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "le paramètre « %s » ne peut pas être modifié maintenant" -#: utils/misc/guc.c:7725 utils/misc/guc.c:7783 utils/misc/guc.c:8896 -#: utils/misc/guc.c:11796 +#: utils/misc/guc.c:7728 utils/misc/guc.c:7790 utils/misc/guc.c:8903 utils/misc/guc.c:11811 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "droit refusé pour initialiser le paramètre « %s »" -#: utils/misc/guc.c:7763 +#: utils/misc/guc.c:7770 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "le paramètre « %s » ne peut pas être initialisé après le lancement du serveur" -#: utils/misc/guc.c:7822 +#: utils/misc/guc.c:7829 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "" "ne peut pas configurer le paramètre « %s » à l'intérieur d'une fonction\n" "SECURITY DEFINER" -#: utils/misc/guc.c:8475 utils/misc/guc.c:8522 utils/misc/guc.c:10002 +#: utils/misc/guc.c:8482 utils/misc/guc.c:8529 utils/misc/guc.c:10016 #, fuzzy, c-format #| msgid "must be superuser or a member of pg_read_all_settings to examine \"%s\"" msgid "must be superuser or have privileges of pg_read_all_settings to examine \"%s\"" msgstr "doit être super-utilisateur ou membre de pg_read_all_settings pour examiner « %s »" -#: utils/misc/guc.c:8606 +#: utils/misc/guc.c:8613 #, c-format msgid "SET %s takes only one argument" msgstr "SET %s prend un seul argument" -#: utils/misc/guc.c:8886 +#: utils/misc/guc.c:8893 #, fuzzy, c-format #| msgid "permission denied for operator %s" msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "droit refusé pour l'opérateur %s" -#: utils/misc/guc.c:8953 +#: utils/misc/guc.c:8960 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "la valeur du paramètre pour ALTER SYSTEM ne doit pas contenir de caractère de retour à la ligne" -#: utils/misc/guc.c:8998 +#: utils/misc/guc.c:9005 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "n'a pas pu analyser le contenu du fichier « %s »" -#: utils/misc/guc.c:9172 +#: utils/misc/guc.c:9179 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" msgstr "SET LOCAL TRANSACTION SNAPSHOT n'est pas implémenté" -#: utils/misc/guc.c:9259 +#: utils/misc/guc.c:9266 #, c-format msgid "SET requires parameter name" msgstr "SET requiert le nom du paramètre" -#: utils/misc/guc.c:9392 +#: utils/misc/guc.c:9399 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "tentative de redéfinition du paramètre « %s »" -#: utils/misc/guc.c:9719 +#: utils/misc/guc.c:9726 #, fuzzy, c-format #| msgid "invalid configuration parameter name \"%s\"" msgid "invalid configuration parameter name \"%s\", removing it" msgstr "paramètre de configuration « %s » invalide" -#: utils/misc/guc.c:9721 +#: utils/misc/guc.c:9728 #, fuzzy, c-format #| msgid "\"%s\" is not a regular file" msgid "\"%s\" is now a reserved prefix." msgstr "« %s » n'est pas un fichier standard" -#: utils/misc/guc.c:11236 +#: utils/misc/guc.c:11251 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "lors de la configuration du paramètre « %s » en « %s »" -#: utils/misc/guc.c:11405 +#: utils/misc/guc.c:11420 #, c-format msgid "parameter \"%s\" could not be set" msgstr "le paramètre « %s » n'a pas pu être configuré" -#: utils/misc/guc.c:11497 +#: utils/misc/guc.c:11512 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "n'a pas pu analyser la configuration du paramètre « %s »" -#: utils/misc/guc.c:11928 +#: utils/misc/guc.c:11943 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "valeur invalide pour le paramètre « %s » : %g" -#: utils/misc/guc.c:12241 +#: utils/misc/guc.c:12256 #, c-format msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." msgstr "« temp_buffers » ne peut pas être modifié après que des tables temporaires aient été utilisées dans la session." -#: utils/misc/guc.c:12253 +#: utils/misc/guc.c:12268 #, c-format msgid "Bonjour is not supported by this build" msgstr "Bonjour n'est pas supporté dans cette installation" -#: utils/misc/guc.c:12266 +#: utils/misc/guc.c:12281 #, c-format msgid "SSL is not supported by this build" msgstr "SSL n'est pas supporté dans cette installation" -#: utils/misc/guc.c:12278 +#: utils/misc/guc.c:12293 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Ne peut pas activer le paramètre avec « log_statement_stats » à true." -#: utils/misc/guc.c:12290 +#: utils/misc/guc.c:12305 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "" "Ne peut pas activer « log_statement_stats » lorsque « log_parser_stats »,\n" "« log_planner_stats » ou « log_executor_stats » est true." -#: utils/misc/guc.c:12520 +#: utils/misc/guc.c:12535 #, c-format msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." msgstr "effective_io_concurrency doit être positionné à 0 sur les plateformes où manque posix_fadvise()" -#: utils/misc/guc.c:12533 +#: utils/misc/guc.c:12548 #, c-format msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." msgstr "maintenance_io_concurrency doit être positionné à 0 sur les plateformes où manque posix_fadvise()" -#: utils/misc/guc.c:12547 +#: utils/misc/guc.c:12562 #, c-format msgid "huge_page_size must be 0 on this platform." msgstr "huge_page_size doit valoir 0 sur cette plateforme" -#: utils/misc/guc.c:12559 +#: utils/misc/guc.c:12574 #, fuzzy, c-format #| msgid "client_connection_check_interval must be set to 0 on platforms that lack POLLRDHUP." msgid "client_connection_check_interval must be set to 0 on this platform." msgstr "client_connection_check_interval doit être positionné à 0 sur les plateformes où POLLRDHUP manque" -#: utils/misc/guc.c:12671 +#: utils/misc/guc.c:12686 #, c-format msgid "invalid character" msgstr "caractère invalide" -#: utils/misc/guc.c:12731 +#: utils/misc/guc.c:12746 #, c-format msgid "recovery_target_timeline is not a valid number." msgstr "recovery_target_timeline n'est pas un nombre valide ." -#: utils/misc/guc.c:12771 +#: utils/misc/guc.c:12786 #, c-format msgid "multiple recovery targets specified" msgstr "multiples cibles de restauration spécifiées" -#: utils/misc/guc.c:12772 +#: utils/misc/guc.c:12787 #, c-format msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set." msgstr "Une seule valeur peut être spécifiée, parmi recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid." -#: utils/misc/guc.c:12780 +#: utils/misc/guc.c:12795 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "La seule valeur autorisée est « immediate »." @@ -30090,8 +29311,7 @@ msgstr "La seule valeur autorisée est « immediate »." msgid "internal error: unrecognized run-time parameter type\n" msgstr "erreur interne : type de paramètre d'exécution non reconnu\n" -#: utils/misc/pg_controldata.c:63 utils/misc/pg_controldata.c:143 -#: utils/misc/pg_controldata.c:248 utils/misc/pg_controldata.c:315 +#: utils/misc/pg_controldata.c:63 utils/misc/pg_controldata.c:143 utils/misc/pg_controldata.c:248 utils/misc/pg_controldata.c:315 #, c-format msgid "calculated CRC checksum does not match value stored in file" msgstr "la somme de contrôle CRC calculée ne correspond par à la valeur enregistrée dans le fichier" @@ -30198,15 +29418,12 @@ msgstr "@INCLUDE sans nom de fichier dans le fichier des fuseaux horaires « %s msgid "Failed while creating memory context \"%s\"." msgstr "Échec lors de la création du contexte mémoire « %s »." -#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1334 +#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1338 #, c-format msgid "could not attach to dynamic shared area" msgstr "n'a pas pu attacher le segment de mémoire partagée dynamique" -#: utils/mmgr/mcxt.c:889 utils/mmgr/mcxt.c:925 utils/mmgr/mcxt.c:963 -#: utils/mmgr/mcxt.c:1001 utils/mmgr/mcxt.c:1089 utils/mmgr/mcxt.c:1120 -#: utils/mmgr/mcxt.c:1156 utils/mmgr/mcxt.c:1208 utils/mmgr/mcxt.c:1243 -#: utils/mmgr/mcxt.c:1278 +#: utils/mmgr/mcxt.c:889 utils/mmgr/mcxt.c:925 utils/mmgr/mcxt.c:963 utils/mmgr/mcxt.c:1001 utils/mmgr/mcxt.c:1089 utils/mmgr/mcxt.c:1120 utils/mmgr/mcxt.c:1156 utils/mmgr/mcxt.c:1208 utils/mmgr/mcxt.c:1243 utils/mmgr/mcxt.c:1278 #, c-format msgid "Failed on request of size %zu in memory context \"%s\"." msgstr "Échec d'une requête de taille %zu dans le contexte mémoire « %s »." @@ -30261,9 +29478,7 @@ msgstr "n'a pas pu se positionner sur le bloc %ld du fichier temporaire" msgid "could not read block %ld of temporary file: read only %zu of %zu bytes" msgstr "n'a pas pu lire le bloc %ld du fichier temporaire : a lu seulement %zu octets sur %zu" -#: utils/sort/sharedtuplestore.c:432 utils/sort/sharedtuplestore.c:441 -#: utils/sort/sharedtuplestore.c:464 utils/sort/sharedtuplestore.c:481 -#: utils/sort/sharedtuplestore.c:498 +#: utils/sort/sharedtuplestore.c:432 utils/sort/sharedtuplestore.c:441 utils/sort/sharedtuplestore.c:464 utils/sort/sharedtuplestore.c:481 utils/sort/sharedtuplestore.c:498 #, c-format msgid "could not read from shared tuplestore temporary file" msgstr "n'a pas pu lire le fichier temporaire tuplestore partagé : %m" @@ -30303,17 +29518,12 @@ msgstr "La clé %s est dupliquée." msgid "Duplicate keys exist." msgstr "Des clés dupliquées existent." -#: utils/sort/tuplestore.c:518 utils/sort/tuplestore.c:528 -#: utils/sort/tuplestore.c:869 utils/sort/tuplestore.c:973 -#: utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1054 -#: utils/sort/tuplestore.c:1256 utils/sort/tuplestore.c:1321 -#: utils/sort/tuplestore.c:1330 +#: utils/sort/tuplestore.c:518 utils/sort/tuplestore.c:528 utils/sort/tuplestore.c:869 utils/sort/tuplestore.c:973 utils/sort/tuplestore.c:1037 utils/sort/tuplestore.c:1054 utils/sort/tuplestore.c:1256 utils/sort/tuplestore.c:1321 utils/sort/tuplestore.c:1330 #, c-format msgid "could not seek in tuplestore temporary file" msgstr "n'a pas pu se déplacer dans le fichier temporaire tuplestore" -#: utils/sort/tuplestore.c:1477 utils/sort/tuplestore.c:1540 -#: utils/sort/tuplestore.c:1548 +#: utils/sort/tuplestore.c:1477 utils/sort/tuplestore.c:1540 utils/sort/tuplestore.c:1548 #, c-format msgid "could not read from tuplestore temporary file: read only %zu of %zu bytes" msgstr "n'a pas pu lire le fichier temporaire tuplestore : a lu seulement %zu octets sur %zu" @@ -30328,12 +29538,7 @@ msgstr "La transaction source n'est plus en cours d'exécution." msgid "cannot export a snapshot from a subtransaction" msgstr "ne peut pas exporter un snapshot dans un sous-transaction" -#: utils/time/snapmgr.c:1323 utils/time/snapmgr.c:1328 -#: utils/time/snapmgr.c:1333 utils/time/snapmgr.c:1348 -#: utils/time/snapmgr.c:1353 utils/time/snapmgr.c:1358 -#: utils/time/snapmgr.c:1373 utils/time/snapmgr.c:1378 -#: utils/time/snapmgr.c:1383 utils/time/snapmgr.c:1485 -#: utils/time/snapmgr.c:1501 utils/time/snapmgr.c:1526 +#: utils/time/snapmgr.c:1323 utils/time/snapmgr.c:1328 utils/time/snapmgr.c:1333 utils/time/snapmgr.c:1348 utils/time/snapmgr.c:1353 utils/time/snapmgr.c:1358 utils/time/snapmgr.c:1373 utils/time/snapmgr.c:1378 utils/time/snapmgr.c:1383 utils/time/snapmgr.c:1485 utils/time/snapmgr.c:1501 utils/time/snapmgr.c:1526 #, c-format msgid "invalid snapshot data in file \"%s\"" msgstr "données invalides du snapshot dans le fichier « %s »" @@ -34322,9 +33527,6 @@ msgstr "ne peut pas importer un snapshot à partir d'une base de données diffé #~ msgid "unsupported language \"%s\"" #~ msgstr "langage non supporté « %s »" -#~ msgid "updated min recovery point to %X/%X on timeline %u" -#~ msgstr "mise à jour du point minimum de restauration sur %X/%X pour la timeline %u" - #~ msgid "updated partition constraint for default partition \"%s\" is implied by existing constraints" #~ msgstr "la contrainte de partitionnement pour la partition par défaut « %s » est implicite du fait de contraintes existantes" diff --git a/src/backend/po/ja.po b/src/backend/po/ja.po index e1a6f93..09ad96a 100644 --- a/src/backend/po/ja.po +++ b/src/backend/po/ja.po @@ -11,8 +11,8 @@ msgid "" msgstr "" "Project-Id-Version: postgres (PostgreSQL 15)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-01-29 12:58+0900\n" -"PO-Revision-Date: 2024-01-29 13:06+0900\n" +"POT-Creation-Date: 2024-04-23 09:57+0900\n" +"PO-Revision-Date: 2024-04-23 10:53+0900\n" "Last-Translator: Kyotaro Horiguchi <horikyota.ntt@gmail.com>\n" "Language-Team: jpug-doc <jpug-doc@ml.postgresql.jp>\n" "Language: ja\n" @@ -72,20 +72,20 @@ msgstr "記録ã•ã‚Œã¦ã„ã¾ã›ã‚“" msgid "could not open file \"%s\" for reading: %m" msgstr "ファイル\"%s\"ã‚’èªã¿å–り用ã«ã‚ªãƒ¼ãƒ—ンã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1349 access/transam/xlog.c:3209 access/transam/xlog.c:4024 access/transam/xlogrecovery.c:1223 access/transam/xlogrecovery.c:1315 access/transam/xlogrecovery.c:1352 access/transam/xlogrecovery.c:1412 backup/basebackup.c:1844 commands/extension.c:3411 libpq/hba.c:505 replication/logical/origin.c:729 -#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4958 replication/logical/snapbuild.c:1870 replication/logical/snapbuild.c:1912 replication/logical/snapbuild.c:1939 replication/slot.c:1807 replication/slot.c:1848 replication/walsender.c:658 storage/file/buffile.c:463 storage/file/copydir.c:195 utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:813 +#: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 access/transam/timeline.c:143 access/transam/timeline.c:362 access/transam/twophase.c:1349 access/transam/xlog.c:3209 access/transam/xlog.c:4024 access/transam/xlogrecovery.c:1223 access/transam/xlogrecovery.c:1315 access/transam/xlogrecovery.c:1352 access/transam/xlogrecovery.c:1412 backup/basebackup.c:1848 commands/extension.c:3411 libpq/hba.c:505 replication/logical/origin.c:729 +#: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4958 replication/logical/snapbuild.c:1870 replication/logical/snapbuild.c:1912 replication/logical/snapbuild.c:1939 replication/slot.c:1807 replication/slot.c:1848 replication/walsender.c:658 storage/file/buffile.c:463 storage/file/copydir.c:195 utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:816 #, c-format msgid "could not read file \"%s\": %m" msgstr "ファイル\"%s\"ã®èªã¿å–ã‚Šã«å¤±æ•—ã—ã¾ã—ãŸ: %m" -#: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 access/transam/xlog.c:3214 access/transam/xlog.c:4029 backup/basebackup.c:1848 replication/logical/origin.c:734 replication/logical/origin.c:773 replication/logical/snapbuild.c:1875 replication/logical/snapbuild.c:1917 replication/logical/snapbuild.c:1944 replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 utils/cache/relmapper.c:817 +#: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 access/transam/xlog.c:3214 access/transam/xlog.c:4029 backup/basebackup.c:1852 replication/logical/origin.c:734 replication/logical/origin.c:773 replication/logical/snapbuild.c:1875 replication/logical/snapbuild.c:1917 replication/logical/snapbuild.c:1944 replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 utils/cache/relmapper.c:820 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "ファイル\"%1$s\"ã‚’èªã¿è¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸ: %3$zuãƒã‚¤ãƒˆã®ã†ã¡%2$dãƒã‚¤ãƒˆã‚’èªã¿è¾¼ã¿ã¾ã—ãŸ" #: ../common/controldata_utils.c:114 ../common/controldata_utils.c:118 ../common/controldata_utils.c:271 ../common/controldata_utils.c:274 access/heap/rewriteheap.c:1178 access/heap/rewriteheap.c:1281 access/transam/timeline.c:392 access/transam/timeline.c:438 access/transam/timeline.c:516 access/transam/twophase.c:1361 access/transam/twophase.c:1773 access/transam/xlog.c:3056 access/transam/xlog.c:3249 access/transam/xlog.c:3254 access/transam/xlog.c:3392 #: access/transam/xlog.c:3994 access/transam/xlog.c:4740 commands/copyfrom.c:1585 commands/copyto.c:327 libpq/be-fsstubs.c:455 libpq/be-fsstubs.c:525 replication/logical/origin.c:667 replication/logical/origin.c:806 replication/logical/reorderbuffer.c:5016 replication/logical/snapbuild.c:1779 replication/logical/snapbuild.c:1952 replication/slot.c:1698 replication/slot.c:1859 replication/walsender.c:673 storage/file/copydir.c:218 storage/file/copydir.c:223 -#: storage/file/fd.c:745 storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:828 utils/cache/relmapper.c:956 +#: storage/file/fd.c:745 storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:831 utils/cache/relmapper.c:968 #, c-format msgid "could not close file \"%s\": %m" msgstr "ファイル\"%s\"をクãƒãƒ¼ã‚ºã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" @@ -108,19 +108,19 @@ msgstr "" "PostgreSQLインストレーションã¯ã“ã®ãƒ‡ãƒ¼ã‚¿ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¨äº’æ›æ€§ãŒãªããªã‚Šã¾ã™ã€‚" #: ../common/controldata_utils.c:219 ../common/controldata_utils.c:224 ../common/file_utils.c:232 ../common/file_utils.c:291 ../common/file_utils.c:365 access/heap/rewriteheap.c:1264 access/transam/timeline.c:111 access/transam/timeline.c:251 access/transam/timeline.c:348 access/transam/twophase.c:1305 access/transam/xlog.c:2943 access/transam/xlog.c:3125 access/transam/xlog.c:3164 access/transam/xlog.c:3359 access/transam/xlog.c:4014 -#: access/transam/xlogrecovery.c:4243 access/transam/xlogrecovery.c:4346 access/transam/xlogutils.c:852 backup/basebackup.c:522 backup/basebackup.c:1520 postmaster/syslogger.c:1560 replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3611 replication/logical/reorderbuffer.c:4162 replication/logical/reorderbuffer.c:4938 replication/logical/snapbuild.c:1734 replication/logical/snapbuild.c:1841 replication/slot.c:1779 replication/walsender.c:631 -#: replication/walsender.c:2722 storage/file/copydir.c:161 storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:792 utils/cache/relmapper.c:900 utils/error/elog.c:1933 utils/init/miscinit.c:1374 utils/init/miscinit.c:1508 utils/init/miscinit.c:1585 utils/misc/guc.c:8998 utils/misc/guc.c:9047 +#: access/transam/xlogrecovery.c:4243 access/transam/xlogrecovery.c:4346 access/transam/xlogutils.c:852 backup/basebackup.c:522 backup/basebackup.c:1524 postmaster/syslogger.c:1560 replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3611 replication/logical/reorderbuffer.c:4162 replication/logical/reorderbuffer.c:4938 replication/logical/snapbuild.c:1734 replication/logical/snapbuild.c:1841 replication/slot.c:1779 replication/walsender.c:631 +#: replication/walsender.c:2722 storage/file/copydir.c:161 storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:795 utils/cache/relmapper.c:912 utils/error/elog.c:1937 utils/init/miscinit.c:1374 utils/init/miscinit.c:1508 utils/init/miscinit.c:1585 utils/misc/guc.c:8998 utils/misc/guc.c:9047 #, c-format msgid "could not open file \"%s\": %m" msgstr "ファイル\"%s\"をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: ../common/controldata_utils.c:240 ../common/controldata_utils.c:243 access/transam/twophase.c:1746 access/transam/twophase.c:1755 access/transam/xlog.c:8676 access/transam/xlogfuncs.c:600 backup/basebackup_server.c:173 backup/basebackup_server.c:266 postmaster/postmaster.c:5633 postmaster/syslogger.c:1571 postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 utils/cache/relmapper.c:934 +#: ../common/controldata_utils.c:240 ../common/controldata_utils.c:243 access/transam/twophase.c:1746 access/transam/twophase.c:1755 access/transam/xlog.c:8676 access/transam/xlogfuncs.c:600 backup/basebackup_server.c:173 backup/basebackup_server.c:266 postmaster/postmaster.c:5633 postmaster/syslogger.c:1571 postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 utils/cache/relmapper.c:946 #, c-format msgid "could not write file \"%s\": %m" msgstr "ファイル\"%s\"を書ã出ã›ã¾ã›ã‚“ã§ã—ãŸ: %m" #: ../common/controldata_utils.c:257 ../common/controldata_utils.c:262 ../common/file_utils.c:303 ../common/file_utils.c:373 access/heap/rewriteheap.c:960 access/heap/rewriteheap.c:1172 access/heap/rewriteheap.c:1275 access/transam/timeline.c:432 access/transam/timeline.c:510 access/transam/twophase.c:1767 access/transam/xlog.c:3049 access/transam/xlog.c:3243 access/transam/xlog.c:3987 access/transam/xlog.c:7979 access/transam/xlog.c:8022 -#: backup/basebackup_server.c:207 replication/logical/snapbuild.c:1772 replication/slot.c:1684 replication/slot.c:1789 storage/file/fd.c:737 storage/file/fd.c:3741 storage/smgr/md.c:992 storage/smgr/md.c:1033 storage/sync/sync.c:453 utils/cache/relmapper.c:949 utils/misc/guc.c:8767 +#: backup/basebackup_server.c:207 commands/dbcommands.c:514 replication/logical/snapbuild.c:1772 replication/slot.c:1684 replication/slot.c:1789 storage/file/fd.c:737 storage/file/fd.c:3741 storage/smgr/md.c:992 storage/smgr/md.c:1033 storage/sync/sync.c:453 utils/cache/relmapper.c:961 utils/misc/guc.c:8767 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "ファイル\"%s\"ã‚’fsyncã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" @@ -171,17 +171,17 @@ msgstr "実行ã™ã¹ã\"%s\"ãŒã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ" msgid "could not change directory to \"%s\": %m" msgstr "ディレクトリ\"%s\"ã«ç§»å‹•ã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: ../common/exec.c:299 access/transam/xlog.c:8325 backup/basebackup.c:1340 utils/adt/misc.c:342 +#: ../common/exec.c:299 access/transam/xlog.c:8325 backup/basebackup.c:1344 utils/adt/misc.c:342 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "シンボリックリンク\"%s\"ã‚’èªã‚ã¾ã›ã‚“ã§ã—ãŸ: %m" -#: ../common/exec.c:422 libpq/pqcomm.c:746 storage/ipc/latch.c:1092 storage/ipc/latch.c:1272 storage/ipc/latch.c:1501 storage/ipc/latch.c:1663 storage/ipc/latch.c:1789 +#: ../common/exec.c:422 libpq/pqcomm.c:742 storage/ipc/latch.c:1098 storage/ipc/latch.c:1278 storage/ipc/latch.c:1507 storage/ipc/latch.c:1669 storage/ipc/latch.c:1795 #, c-format msgid "%s() failed: %m" msgstr "%s() ãŒå¤±æ•—ã—ã¾ã—ãŸ: %m" -#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 ../common/fe_memutils.c:98 ../common/fe_memutils.c:162 ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791 ../port/path.c:808 utils/misc/ps_status.c:181 utils/misc/ps_status.c:189 utils/misc/ps_status.c:219 utils/misc/ps_status.c:227 +#: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 ../common/fe_memutils.c:98 ../common/fe_memutils.c:162 ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791 ../port/path.c:808 utils/misc/ps_status.c:208 utils/misc/ps_status.c:216 utils/misc/ps_status.c:246 utils/misc/ps_status.c:254 #, c-format msgid "out of memory\n" msgstr "メモリä¸è¶³ã§ã™\n" @@ -373,7 +373,7 @@ msgstr "制é™ä»˜ãトークンã§å†å®Ÿè¡Œã§ãã¾ã›ã‚“ã§ã—ãŸ: %lu" msgid "could not get exit code from subprocess: error code %lu" msgstr "サブプãƒã‚»ã‚¹ã®çµ‚了コードをå–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ: エラーコード %lu" -#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1276 +#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1280 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "\"%s\"ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã¾ãŸã¯ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®æƒ…å ±ã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸã€‚: %m" @@ -573,12 +573,12 @@ msgstr "\"%s\"ã¯BRINインデックスã§ã¯ã‚ã‚Šã¾ã›ã‚“" msgid "could not open parent table of index \"%s\"" msgstr "インデックス\"%s\"ã®è¦ªãƒ†ãƒ¼ãƒ–ルをオープンã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1087 parser/parse_utilcmd.c:2287 +#: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1087 parser/parse_utilcmd.c:2296 #, c-format msgid "index \"%s\" is not valid" msgstr "インデックス\"%s\"ã¯æœ‰åŠ¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: access/brin/brin_bloom.c:749 access/brin/brin_bloom.c:791 access/brin/brin_minmax_multi.c:2986 access/brin/brin_minmax_multi.c:3129 statistics/dependencies.c:663 statistics/dependencies.c:716 statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252 +#: access/brin/brin_bloom.c:752 access/brin/brin_bloom.c:794 access/brin/brin_minmax_multi.c:2986 access/brin/brin_minmax_multi.c:3129 statistics/dependencies.c:663 statistics/dependencies.c:716 statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 statistics/mvdistinct.c:397 utils/adt/pseudotypes.c:43 utils/adt/pseudotypes.c:77 utils/adt/pseudotypes.c:252 #, c-format msgid "cannot accept a value of type %s" msgstr "%såž‹ã®å€¤ã¯å—ã‘付ã‘られã¾ã›ã‚“" @@ -891,7 +891,7 @@ msgstr "アクセスメソッド\"%2$s\"ã®æ¼”ç®—åæ—\"%1$s\"ã¯æ¼”ç®—å%3$sã msgid "could not determine which collation to use for string hashing" msgstr "æ–‡å—列ã®ãƒãƒƒã‚·ãƒ¥å€¤è¨ˆç®—ã§ä½¿ç”¨ã™ã‚‹ç…§åˆé †åºã‚’特定ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:668 catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 commands/indexcmds.c:1955 commands/tablecmds.c:17509 commands/view.c:86 regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 utils/adt/like_support.c:1025 utils/adt/varchar.c:733 utils/adt/varchar.c:1004 utils/adt/varchar.c:1065 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:671 catalog/heap.c:677 commands/createas.c:206 commands/createas.c:515 commands/indexcmds.c:1955 commands/tablecmds.c:17517 commands/view.c:86 regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 utils/adt/like_support.c:1025 utils/adt/varchar.c:733 utils/adt/varchar.c:1004 utils/adt/varchar.c:1065 #: utils/adt/varlena.c:1499 #, c-format msgid "Use the COLLATE clause to set the collation explicitly." @@ -987,7 +987,7 @@ msgstr "è¡ŒãŒå¤§ãã™ãŽã¾ã™: サイズã¯%zuã€ä¸Šé™ã¯%zu" msgid "could not write to file \"%s\", wrote %d of %d: %m" msgstr "ファイル\"%1$s\"ã«æ›¸ãè¾¼ã‚ã¾ã›ã‚“ã§ã—ãŸã€%3$dãƒã‚¤ãƒˆä¸%2$dãƒã‚¤ãƒˆæ›¸ãè¾¼ã¿ã¾ã—ãŸ: %m" -#: access/heap/rewriteheap.c:1013 access/heap/rewriteheap.c:1131 access/transam/timeline.c:329 access/transam/timeline.c:485 access/transam/xlog.c:2965 access/transam/xlog.c:3178 access/transam/xlog.c:3966 access/transam/xlog.c:8659 access/transam/xlogfuncs.c:594 backup/basebackup_server.c:149 backup/basebackup_server.c:242 commands/dbcommands.c:517 postmaster/postmaster.c:4607 postmaster/postmaster.c:5620 replication/logical/origin.c:587 replication/slot.c:1631 +#: access/heap/rewriteheap.c:1013 access/heap/rewriteheap.c:1131 access/transam/timeline.c:329 access/transam/timeline.c:485 access/transam/xlog.c:2965 access/transam/xlog.c:3178 access/transam/xlog.c:3966 access/transam/xlog.c:8659 access/transam/xlogfuncs.c:594 backup/basebackup_server.c:149 backup/basebackup_server.c:242 commands/dbcommands.c:494 postmaster/postmaster.c:4607 postmaster/postmaster.c:5620 replication/logical/origin.c:587 replication/slot.c:1631 #: storage/file/copydir.c:167 storage/smgr/md.c:222 utils/time/snapmgr.c:1261 #, c-format msgid "could not create file \"%s\": %m" @@ -998,7 +998,7 @@ msgstr "ファイル\"%s\"を作æˆã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" msgid "could not truncate file \"%s\" to %u: %m" msgstr "ファイル\"%s\"ã‚’%uãƒã‚¤ãƒˆã«åˆ‡ã‚Šè©°ã‚られã¾ã›ã‚“ã§ã—ãŸ: %m" -#: access/heap/rewriteheap.c:1159 access/transam/timeline.c:384 access/transam/timeline.c:424 access/transam/timeline.c:502 access/transam/xlog.c:3037 access/transam/xlog.c:3234 access/transam/xlog.c:3978 commands/dbcommands.c:529 postmaster/postmaster.c:4617 postmaster/postmaster.c:4627 replication/logical/origin.c:599 replication/logical/origin.c:641 replication/logical/origin.c:660 replication/logical/snapbuild.c:1748 replication/slot.c:1666 +#: access/heap/rewriteheap.c:1159 access/transam/timeline.c:384 access/transam/timeline.c:424 access/transam/timeline.c:502 access/transam/xlog.c:3037 access/transam/xlog.c:3234 access/transam/xlog.c:3978 commands/dbcommands.c:506 postmaster/postmaster.c:4617 postmaster/postmaster.c:4627 replication/logical/origin.c:599 replication/logical/origin.c:641 replication/logical/origin.c:660 replication/logical/snapbuild.c:1748 replication/slot.c:1666 #: storage/file/buffile.c:537 storage/file/copydir.c:207 utils/init/miscinit.c:1449 utils/init/miscinit.c:1460 utils/init/miscinit.c:1468 utils/misc/guc.c:8728 utils/misc/guc.c:8759 utils/misc/guc.c:10757 utils/misc/guc.c:10771 utils/time/snapmgr.c:1266 utils/time/snapmgr.c:1273 #, c-format msgid "could not write to file \"%s\": %m" @@ -1237,12 +1237,17 @@ msgstr "インデックスアクセスメソッド\"%s\"ã¯ãƒãƒ³ãƒ‰ãƒ©ã‚’æŒã£ msgid "transaction aborted during system catalog scan" msgstr "システムカタãƒã‚°ã®ã‚¹ã‚ャンä¸ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒã‚¢ãƒœãƒ¼ãƒˆã—ã¾ã—ãŸ" -#: access/index/indexam.c:203 catalog/objectaddress.c:1376 commands/indexcmds.c:2783 commands/tablecmds.c:271 commands/tablecmds.c:295 commands/tablecmds.c:17195 commands/tablecmds.c:18980 +#: access/index/genam.c:657 access/index/indexam.c:87 +#, c-format +msgid "cannot access index \"%s\" while it is being reindexed" +msgstr "å†ä½œæˆä¸ã§ã‚ã‚‹ãŸã‚インデックス\"%s\"ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã›ã‚“" + +#: access/index/indexam.c:208 catalog/objectaddress.c:1376 commands/indexcmds.c:2783 commands/tablecmds.c:271 commands/tablecmds.c:295 commands/tablecmds.c:17203 commands/tablecmds.c:18988 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\"ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: access/index/indexam.c:1010 +#: access/index/indexam.c:1015 #, c-format msgid "operator class %s has no options" msgstr "演算åクラス%sã«ã¯ã‚ªãƒ—ションã¯ã‚ã‚Šã¾ã›ã‚“" @@ -1262,7 +1267,7 @@ msgstr "ã‚ー %s ã¯ã™ã§ã«å˜åœ¨ã—ã¾ã™ã€‚" msgid "This may be because of a non-immutable index expression." msgstr "ã“ã‚Œã¯ä¸å¤‰ã§ãªã„インデックスå¼ãŒåŽŸå› ã§ã‚ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™" -#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 parser/parse_utilcmd.c:2333 +#: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 parser/parse_utilcmd.c:2342 #, c-format msgid "index \"%s\" is not a btree" msgstr "インデックス\"%s\"ã¯btreeã§ã¯ã‚ã‚Šã¾ã›ã‚“" @@ -1331,7 +1336,7 @@ msgstr "アクセスメソッド\"%2$s\"ã®æ¼”ç®—åæ—\"%1$s\"ã¯%4$såž‹ã«å¯¾ã msgid "\"%s\" is an index" msgstr "\"%s\"ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã™" -#: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13884 commands/tablecmds.c:17204 +#: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13897 commands/tablecmds.c:17212 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\"ã¯è¤‡åˆåž‹ã§ã™" @@ -2346,12 +2351,12 @@ msgstr "full_page_writes=off ã§ç”Ÿæˆã•ã‚ŒãŸWALã¯æœ€çµ‚リスタートãƒã‚¤ msgid "This means that the backup being taken on the standby is corrupt and should not be used. Enable full_page_writes and run CHECKPOINT on the primary, and then try an online backup again." msgstr "ã¤ã¾ã‚Šã“ã®ã‚¹ã‚¿ãƒ³ãƒã‚¤ã§å–å¾—ã•ã‚ŒãŸãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯ç ´æã—ã¦ãŠã‚Šã€ä½¿ç”¨ã™ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。プライマリã§full_page_writesを有効ã«ã—CHECKPOINTを実行ã—ãŸã®ã¡ã€å†åº¦ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を試行ã—ã¦ãã ã•ã„。" -#: access/transam/xlog.c:8332 backup/basebackup.c:1345 utils/adt/misc.c:347 +#: access/transam/xlog.c:8332 backup/basebackup.c:1349 utils/adt/misc.c:347 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "シンボリックリンク\"%s\"ã®å‚照先ãŒé•·ã™ãŽã¾ã™" -#: access/transam/xlog.c:8382 backup/basebackup.c:1360 commands/tablespace.c:399 commands/tablespace.c:581 utils/adt/misc.c:355 +#: access/transam/xlog.c:8382 backup/basebackup.c:1364 commands/tablespace.c:399 commands/tablespace.c:581 utils/adt/misc.c:355 #, c-format msgid "tablespaces are not supported on this platform" msgstr "ã“ã®ãƒ—ラットフォームã§ã¯ãƒ†ãƒ¼ãƒ–ル空間ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“" @@ -2361,12 +2366,12 @@ msgstr "ã“ã®ãƒ—ラットフォームã§ã¯ãƒ†ãƒ¼ãƒ–ル空間ã¯ã‚µãƒãƒ¼ãƒˆã— msgid "invalid data in file \"%s\"" msgstr "ファイル\"%s\"内ã®ä¸æ£ãªãƒ‡ãƒ¼ã‚¿" -#: access/transam/xlog.c:8558 backup/basebackup.c:1200 +#: access/transam/xlog.c:8558 backup/basebackup.c:1204 #, c-format msgid "the standby was promoted during online backup" msgstr "オンラインãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ä¸ã«ã‚¹ã‚¿ãƒ³ãƒã‚¤ãŒæ˜‡æ ¼ã—ã¾ã—ãŸ" -#: access/transam/xlog.c:8559 backup/basebackup.c:1201 +#: access/transam/xlog.c:8559 backup/basebackup.c:1205 #, c-format msgid "This means that the backup being taken is corrupt and should not be used. Try taking another online backup." msgstr "ã¤ã¾ã‚Šå–å¾—ä¸ã®ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã¯ç ´æã—ã¦ã„ã‚‹ãŸã‚使用ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。å†åº¦ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã‚’å–å¾—ã—ã¦ãã ã•ã„。" @@ -3258,43 +3263,43 @@ msgstr "圧縮詳細ã¯åœ§ç¸®ãŒæœ‰åŠ¹ã§ãªã„å ´åˆã¯æŒ‡å®šã§ãã¾ã›ã‚“" msgid "invalid compression specification: %s" msgstr "ä¸æ£ãªåœ§ç¸®æŒ‡å®š: %s" -#: backup/basebackup.c:1431 +#: backup/basebackup.c:1435 #, c-format msgid "skipping special file \"%s\"" msgstr "スペシャルファイル\"%s\"をスã‚ップã—ã¦ã„ã¾ã™" -#: backup/basebackup.c:1550 +#: backup/basebackup.c:1554 #, c-format msgid "invalid segment number %d in file \"%s\"" msgstr "ファイル\"%2$s\"セグメント番å·%1$dã¯ä¸æ£ã§ã™" -#: backup/basebackup.c:1582 +#: backup/basebackup.c:1586 #, c-format msgid "could not verify checksum in file \"%s\", block %u: read buffer size %d and page size %d differ" msgstr "ファイル\"%s\"ã€ãƒ–ãƒãƒƒã‚¯%uã§ãƒã‚§ãƒƒã‚¯ã‚µãƒ 検証ã«å¤±æ•—ã—ã¾ã—ãŸ: èªã¿è¾¼ã¿ãƒãƒƒãƒ•ã‚¡ã‚µã‚¤ã‚º%dã¨ãƒšãƒ¼ã‚¸ã‚µã‚¤ã‚º%dãŒç•°ãªã£ã¦ã„ã¾ã™" -#: backup/basebackup.c:1656 +#: backup/basebackup.c:1660 #, c-format msgid "checksum verification failed in file \"%s\", block %u: calculated %X but expected %X" msgstr "ファイル\"%s\"ã®ãƒ–ãƒãƒƒã‚¯%uã§ãƒã‚§ãƒƒã‚¯ã‚µãƒ 検証ãŒå¤±æ•—ã—ã¾ã—ãŸ: 計算ã•ã‚ŒãŸãƒã‚§ãƒƒã‚¯ã‚µãƒ ã¯%Xã§ã™ãŒæƒ³å®šã¯%Xã§ã™" -#: backup/basebackup.c:1663 +#: backup/basebackup.c:1667 #, c-format msgid "further checksum verification failures in file \"%s\" will not be reported" msgstr "ファイル\"%s\"ã«ãŠã‘る以é™ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ エラーã¯å ±å‘Šã•ã‚Œã¾ã›ã‚“" -#: backup/basebackup.c:1719 +#: backup/basebackup.c:1723 #, c-format msgid "file \"%s\" has a total of %d checksum verification failure" msgid_plural "file \"%s\" has a total of %d checksum verification failures" msgstr[0] "ファイル\"%s\"ã§ã¯åˆè¨ˆ%d個ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ エラーãŒç™ºç”Ÿã—ã¾ã—ãŸ" -#: backup/basebackup.c:1765 +#: backup/basebackup.c:1769 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "ファイルåãŒtarフォーマットã«å¯¾ã—ã¦é•·ã™ãŽã¾ã™: \"%s\"" -#: backup/basebackup.c:1770 +#: backup/basebackup.c:1774 #, c-format msgid "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" msgstr "シンボリックリンクã®ãƒªãƒ³ã‚¯å…ˆtarã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã«ã¨ã£ã¦é•·ã™ãŽã¾ã™: ファイルå \"%s\", リンク先 \"%s\"" @@ -3324,7 +3329,7 @@ msgstr "サーãƒãƒ¼ä¸Šã«æ ¼ç´ã•ã‚Œã‚‹ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—を作æˆã™ã‚‹ã«ã¯ msgid "relative path not allowed for backup stored on server" msgstr "サーãƒãƒ¼ä¸Šã«æ ¼ç´ã•ã‚Œã‚‹ãƒãƒƒã‚¯ã‚¢ãƒƒãƒ—ã§ã¯ç›¸å¯¾ãƒ‘スã¯æŒ‡å®šã§ãã¾ã›ã‚“" -#: backup/basebackup_server.c:102 commands/dbcommands.c:500 commands/tablespace.c:163 commands/tablespace.c:179 commands/tablespace.c:614 commands/tablespace.c:659 replication/slot.c:1558 storage/file/copydir.c:47 +#: backup/basebackup_server.c:102 commands/dbcommands.c:477 commands/tablespace.c:163 commands/tablespace.c:179 commands/tablespace.c:614 commands/tablespace.c:659 replication/slot.c:1558 storage/file/copydir.c:47 #, c-format msgid "could not create directory \"%s\": %m" msgstr "ディレクトリ\"%s\"を作æˆã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" @@ -3539,14 +3544,14 @@ msgstr "デフォルト権é™ã¯åˆ—ã«ã¯è¨å®šã§ãã¾ã›ã‚“" msgid "cannot use IN SCHEMA clause when using GRANT/REVOKE ON SCHEMAS" msgstr "GRANT/REVOKE ON SCHEMAS を使ã£ã¦ã„る時ã«ã¯ IN SCHEMA å¥ã¯æŒ‡å®šã§ãã¾ã›ã‚“" -#: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:779 commands/sequence.c:1663 commands/tablecmds.c:7275 commands/tablecmds.c:7431 commands/tablecmds.c:7481 commands/tablecmds.c:7555 commands/tablecmds.c:7625 commands/tablecmds.c:7737 commands/tablecmds.c:7831 commands/tablecmds.c:7890 commands/tablecmds.c:7979 commands/tablecmds.c:8009 commands/tablecmds.c:8137 -#: commands/tablecmds.c:8219 commands/tablecmds.c:8375 commands/tablecmds.c:8493 commands/tablecmds.c:12222 commands/tablecmds.c:12403 commands/tablecmds.c:12563 commands/tablecmds.c:13727 commands/tablecmds.c:16296 commands/trigger.c:954 parser/analyze.c:2506 parser/parse_relation.c:725 parser/parse_target.c:1063 parser/parse_type.c:144 parser/parse_utilcmd.c:3435 parser/parse_utilcmd.c:3471 parser/parse_utilcmd.c:3513 utils/adt/acl.c:2869 -#: utils/adt/ruleutils.c:2830 +#: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:779 commands/sequence.c:1663 commands/tablecmds.c:7274 commands/tablecmds.c:7430 commands/tablecmds.c:7480 commands/tablecmds.c:7554 commands/tablecmds.c:7624 commands/tablecmds.c:7736 commands/tablecmds.c:7830 commands/tablecmds.c:7889 commands/tablecmds.c:7978 commands/tablecmds.c:8008 commands/tablecmds.c:8136 +#: commands/tablecmds.c:8218 commands/tablecmds.c:8374 commands/tablecmds.c:8496 commands/tablecmds.c:12235 commands/tablecmds.c:12416 commands/tablecmds.c:12576 commands/tablecmds.c:13740 commands/tablecmds.c:16309 commands/trigger.c:954 parser/analyze.c:2517 parser/parse_relation.c:725 parser/parse_target.c:1077 parser/parse_type.c:144 parser/parse_utilcmd.c:3444 parser/parse_utilcmd.c:3480 parser/parse_utilcmd.c:3522 utils/adt/acl.c:2869 +#: utils/adt/ruleutils.c:2828 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 commands/tablecmds.c:253 commands/tablecmds.c:17168 utils/adt/acl.c:2077 utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 utils/adt/acl.c:2199 utils/adt/acl.c:2229 +#: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 commands/tablecmds.c:253 commands/tablecmds.c:17176 utils/adt/acl.c:2077 utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 utils/adt/acl.c:2199 utils/adt/acl.c:2229 #, c-format msgid "\"%s\" is not a sequence" msgstr "\"%s\"ã¯ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" @@ -4078,7 +4083,7 @@ msgstr "%s()を呼ã³å‡ºã™ã«ã¯ã‚¹ãƒ¼ãƒ‘ーユーザーã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚ msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() ã¯ã‚·ã‚¹ãƒ†ãƒ ã‚«ã‚¿ãƒã‚°ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™" -#: catalog/catalog.c:619 parser/parse_utilcmd.c:2280 +#: catalog/catalog.c:619 parser/parse_utilcmd.c:2289 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "インデックス\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã«ã¯å±žã—ã¦ã„ã¾ã›ã‚“" @@ -4093,32 +4098,32 @@ msgstr "列\"%s\"ã¯oidåž‹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" msgid "index \"%s\" is not the index for column \"%s\"" msgstr "インデックス\"%s\"ã¯åˆ—\"%s\"ã«å¯¾ã™ã‚‹ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: catalog/dependency.c:538 catalog/pg_shdepend.c:657 +#: catalog/dependency.c:545 catalog/pg_shdepend.c:657 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "データベースシステムãŒå¿…è¦ã¨ã—ã¦ã„ã‚‹ãŸã‚%sを削除ã§ãã¾ã›ã‚“" -#: catalog/dependency.c:830 catalog/dependency.c:1057 +#: catalog/dependency.c:837 catalog/dependency.c:1064 #, c-format msgid "cannot drop %s because %s requires it" msgstr "%2$sãŒå¿…è¦ã¨ã—ã¦ã„ã‚‹ãŸã‚%1$sを削除ã§ãã¾ã›ã‚“" -#: catalog/dependency.c:832 catalog/dependency.c:1059 +#: catalog/dependency.c:839 catalog/dependency.c:1066 #, c-format msgid "You can drop %s instead." msgstr "代ã‚ã‚Šã«%sを削除ã§ãã¾ã™" -#: catalog/dependency.c:1138 catalog/dependency.c:1147 +#: catalog/dependency.c:1145 catalog/dependency.c:1154 #, c-format msgid "%s depends on %s" msgstr "%sã¯%sã«ä¾å˜ã—ã¦ã„ã¾ã™" -#: catalog/dependency.c:1162 catalog/dependency.c:1171 +#: catalog/dependency.c:1169 catalog/dependency.c:1178 #, c-format msgid "drop cascades to %s" msgstr "削除ã¯%sã¸ä¼æ’ã—ã¾ã™" -#: catalog/dependency.c:1179 catalog/pg_shdepend.c:822 +#: catalog/dependency.c:1186 catalog/pg_shdepend.c:822 #, c-format msgid "" "\n" @@ -4130,39 +4135,39 @@ msgstr[0] "" "\n" "ãŠã‚ˆã³%d個ã®ãã®ä»–ã®ã‚ªãƒ–ジェクト(一覧ã«ã¤ã„ã¦ã¯ã‚µãƒ¼ãƒãƒ¼ãƒã‚°ã‚’å‚ç…§ã—ã¦ãã ã•ã„)" -#: catalog/dependency.c:1191 +#: catalog/dependency.c:1198 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "ä»–ã®ã‚ªãƒ–ジェクトãŒä¾å˜ã—ã¦ã„ã‚‹ãŸã‚%sを削除ã§ãã¾ã›ã‚“" -#: catalog/dependency.c:1194 catalog/dependency.c:1201 catalog/dependency.c:1212 commands/tablecmds.c:1328 commands/tablecmds.c:14369 commands/tablespace.c:476 commands/user.c:1008 commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 storage/lmgr/deadlock.c:1151 storage/lmgr/proc.c:1421 utils/misc/guc.c:7402 utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11880 utils/misc/guc.c:11914 utils/misc/guc.c:11948 utils/misc/guc.c:11991 +#: catalog/dependency.c:1201 catalog/dependency.c:1208 catalog/dependency.c:1219 commands/tablecmds.c:1324 commands/tablecmds.c:14382 commands/tablespace.c:476 commands/user.c:1008 commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 storage/lmgr/deadlock.c:1151 storage/lmgr/proc.c:1421 utils/misc/guc.c:7402 utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11880 utils/misc/guc.c:11914 utils/misc/guc.c:11948 utils/misc/guc.c:11991 #: utils/misc/guc.c:12033 #, c-format msgid "%s" msgstr "%s" -#: catalog/dependency.c:1195 catalog/dependency.c:1202 +#: catalog/dependency.c:1202 catalog/dependency.c:1209 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "ä¾å˜ã—ã¦ã„るオブジェクトも削除ã™ã‚‹ã«ã¯DROP ... CASCADEを使用ã—ã¦ãã ã•ã„" -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1206 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "ä»–ã®ã‚ªãƒ–ジェクトãŒä¾å˜ã—ã¦ã„ã‚‹ãŸã‚指定ã—ãŸã‚ªãƒ–ジェクトを削除ã§ãã¾ã›ã‚“" -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1214 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" msgstr[0] "削除ã¯ä»–ã®%d個ã®ã‚ªãƒ–ジェクトã«å¯¾ã—ã¦ã‚‚è¡Œã‚ã‚Œã¾ã™" -#: catalog/dependency.c:1889 +#: catalog/dependency.c:1896 #, c-format msgid "constant of the type %s cannot be used here" msgstr "%såž‹ã®å®šæ•°ã‚’ã“ã“ã§ä½¿ç”¨ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: catalog/dependency.c:2410 parser/parse_relation.c:3374 parser/parse_relation.c:3384 +#: catalog/dependency.c:2421 parser/parse_relation.c:3383 parser/parse_relation.c:3393 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$d\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" @@ -4177,12 +4182,12 @@ msgstr "\"%s.%s\"を作æˆã™ã‚‹æ¨©é™ãŒã‚ã‚Šã¾ã›ã‚“" msgid "System catalog modifications are currently disallowed." msgstr "システムカタãƒã‚°ã®æ›´æ–°ã¯ç¾åœ¨ç¦æ¢ã•ã‚Œã¦ã„ã¾ã™" -#: catalog/heap.c:466 commands/tablecmds.c:2348 commands/tablecmds.c:2985 commands/tablecmds.c:6865 +#: catalog/heap.c:466 commands/tablecmds.c:2344 commands/tablecmds.c:2981 commands/tablecmds.c:6864 #, c-format msgid "tables can have at most %d columns" msgstr "テーブルã¯æœ€å¤§ã§%d列ã¾ã§ã—ã‹æŒã¦ã¾ã›ã‚“" -#: catalog/heap.c:484 commands/tablecmds.c:7165 +#: catalog/heap.c:484 commands/tablecmds.c:7164 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "列å\"%s\"ã¯ã‚·ã‚¹ãƒ†ãƒ 用ã®åˆ—åã«ä½¿ã‚ã‚Œã¦ã„ã¾ã™" @@ -4193,163 +4198,163 @@ msgid "column name \"%s\" specified more than once" msgstr "列å\"%s\"ãŒè¤‡æ•°æŒ‡å®šã•ã‚Œã¾ã—ãŸ" #. translator: first %s is an integer not a name -#: catalog/heap.c:575 +#: catalog/heap.c:578 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "パーティションã‚ー列%sã¯ç–‘似型%sã§ã™" -#: catalog/heap.c:580 +#: catalog/heap.c:583 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "列\"%s\"ã¯ç–‘似型%sã§ã™" -#: catalog/heap.c:611 +#: catalog/heap.c:614 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "複åˆåž‹ %s ãŒãれ自身ã®ãƒ¡ãƒ³ãƒãƒ¼ã«ãªã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" #. translator: first %s is an integer not a name -#: catalog/heap.c:666 +#: catalog/heap.c:669 #, c-format msgid "no collation was derived for partition key column %s with collatable type %s" msgstr "ç…§åˆå¯èƒ½ãªåž‹ %2$s ã®ãƒ‘ーティションã‚ー列%1$sã®ãŸã‚ã®ç…§åˆé †åºãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:675 commands/createas.c:203 commands/createas.c:512 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "ç…§åˆå¯èƒ½ãªåž‹ %2$s ã‚’æŒã¤åˆ—\"%1$s\"ã®ãŸã‚ã®ç…§åˆé †åºã‚’決定ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: catalog/heap.c:1148 catalog/index.c:875 commands/createas.c:408 commands/tablecmds.c:3890 +#: catalog/heap.c:1151 catalog/index.c:875 commands/createas.c:408 commands/tablecmds.c:3886 #, c-format msgid "relation \"%s\" already exists" msgstr "リレーション\"%s\"ã¯ã™ã§ã«å˜åœ¨ã—ã¾ã™" -#: catalog/heap.c:1164 catalog/pg_type.c:436 catalog/pg_type.c:784 catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 commands/typecmds.c:1575 commands/typecmds.c:2547 +#: catalog/heap.c:1167 catalog/pg_type.c:436 catalog/pg_type.c:784 catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 commands/typecmds.c:1575 commands/typecmds.c:2547 #, c-format msgid "type \"%s\" already exists" msgstr "åž‹\"%s\"ã¯ã™ã§ã«å˜åœ¨ã—ã¾ã™" -#: catalog/heap.c:1165 +#: catalog/heap.c:1168 #, c-format msgid "A relation has an associated type of the same name, so you must use a name that doesn't conflict with any existing type." msgstr "リレーションã¯åŒã˜åå‰ã®é–¢é€£ã™ã‚‹åž‹ã‚’æŒã¡ã¾ã™ã€‚ã“ã®ãŸã‚æ—¢å˜ã®åž‹ã¨ç«¶åˆã—ãªã„åå‰ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" -#: catalog/heap.c:1205 +#: catalog/heap.c:1208 #, c-format msgid "toast relfilenode value not set when in binary upgrade mode" msgstr "ãƒã‚¤ãƒŠãƒªã‚¢ãƒƒãƒ—グレードモードä¸ã«TOASTã®relfilenodeã®å€¤ãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: catalog/heap.c:1216 +#: catalog/heap.c:1219 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "ãƒã‚¤ãƒŠãƒªã‚¢ãƒƒãƒ—グレードモードä¸ã«pg_classã®ãƒ’ープOIDãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: catalog/heap.c:1226 +#: catalog/heap.c:1229 #, c-format msgid "relfilenode value not set when in binary upgrade mode" msgstr "ãƒã‚¤ãƒŠãƒªã‚¢ãƒƒãƒ—グレードモードä¸ã«relfilenodeã®å€¤ãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: catalog/heap.c:2127 +#: catalog/heap.c:2130 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "パーティション親テーブル\"%s\"ã« NO INHERIT 制約ã¯è¿½åŠ ã§ãã¾ã›ã‚“" -#: catalog/heap.c:2402 +#: catalog/heap.c:2405 #, c-format msgid "check constraint \"%s\" already exists" msgstr "検査制約\"%s\"ã¯ã™ã§ã«å˜åœ¨ã—ã¾ã™" -#: catalog/heap.c:2572 catalog/index.c:889 catalog/pg_constraint.c:689 commands/tablecmds.c:8867 +#: catalog/heap.c:2575 catalog/index.c:889 catalog/pg_constraint.c:689 commands/tablecmds.c:8870 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "ã™ã§ã«åˆ¶ç´„\"%s\"ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã«å˜åœ¨ã—ã¾ã™" -#: catalog/heap.c:2579 +#: catalog/heap.c:2582 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "制約\"%s\"ã¯ã€ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"上ã®ç¶™æ‰¿ã•ã‚Œã¦ã„ãªã„制約ã¨ç«¶åˆã—ã¾ã™" -#: catalog/heap.c:2590 +#: catalog/heap.c:2593 #, c-format msgid "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "制約\"%s\"ã¯ã€ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"上ã®ç¶™æ‰¿ã•ã‚ŒãŸåˆ¶ç´„ã¨ç«¶åˆã—ã¾ã™" -#: catalog/heap.c:2600 +#: catalog/heap.c:2603 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" msgstr "制約\"%s\"ã¯ã€ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"上㮠NOT VALID 制約ã¨ç«¶åˆã—ã¾ã™" -#: catalog/heap.c:2605 +#: catalog/heap.c:2608 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "継承ã•ã‚ŒãŸå®šç¾©ã«ã‚ˆã‚Šåˆ¶ç´„\"%s\"をマージã—ã¦ã„ã¾ã™" -#: catalog/heap.c:2710 +#: catalog/heap.c:2713 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "生æˆã‚«ãƒ©ãƒ \"%s\"ã¯ã‚«ãƒ©ãƒ 生æˆå¼ä¸ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: catalog/heap.c:2712 +#: catalog/heap.c:2715 #, c-format msgid "A generated column cannot reference another generated column." msgstr "生æˆã‚«ãƒ©ãƒ ã¯ä»–ã®ç”Ÿæˆã‚«ãƒ©ãƒ ã‚’å‚ç…§ã§ãã¾ã›ã‚“。" -#: catalog/heap.c:2718 +#: catalog/heap.c:2721 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "列生æˆå¼å†…ã§ã¯è¡Œå…¨ä½“å‚ç…§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: catalog/heap.c:2719 +#: catalog/heap.c:2722 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "ã“ã‚Œã¯ç”Ÿæˆåˆ—を自身ã®å€¤ã«ä¾å˜ã•ã›ã‚‹ã“ã¨ã«ã¤ãªãŒã‚Šã¾ã™ã€‚" -#: catalog/heap.c:2774 +#: catalog/heap.c:2777 #, c-format msgid "generation expression is not immutable" msgstr "生æˆå¼ã¯ä¸å¤‰ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: catalog/heap.c:2802 rewrite/rewriteHandler.c:1290 +#: catalog/heap.c:2805 rewrite/rewriteHandler.c:1290 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "列\"%s\"ã®åž‹ã¯%sã§ã™ãŒã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå¼ã®åž‹ã¯%sã§ã™" -#: catalog/heap.c:2807 commands/prepare.c:334 parser/analyze.c:2730 parser/parse_target.c:594 parser/parse_target.c:882 parser/parse_target.c:892 rewrite/rewriteHandler.c:1295 +#: catalog/heap.c:2810 commands/prepare.c:334 parser/analyze.c:2741 parser/parse_target.c:594 parser/parse_target.c:891 parser/parse_target.c:901 rewrite/rewriteHandler.c:1295 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "å¼ã‚’書ãæ›ãˆã‚‹ã‹ã‚ャストã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" -#: catalog/heap.c:2854 +#: catalog/heap.c:2857 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "検査制約ã§ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã®ã¿ã‚’å‚ç…§ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™" -#: catalog/heap.c:3152 +#: catalog/heap.c:3155 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "ON COMMITã¨å¤–部ã‚ーã®çµ„ã¿åˆã‚ã›ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: catalog/heap.c:3153 +#: catalog/heap.c:3156 #, c-format msgid "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT setting." msgstr "テーブル\"%s\"ã¯\"%s\"ã‚’å‚ç…§ã—ã¾ã™ã€‚ã—ã‹ã—ã€ã“れらã®ON COMMITè¨å®šã¯åŒä¸€ã§ã¯ã‚ã‚Šã¾ã›ã‚“。" -#: catalog/heap.c:3158 +#: catalog/heap.c:3161 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "外部ã‚ー制約ã§å‚ç…§ã•ã‚Œã¦ã„るテーブルを削除ã§ãã¾ã›ã‚“" -#: catalog/heap.c:3159 +#: catalog/heap.c:3162 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "テーブル\"%s\"ã¯\"%s\"ã‚’å‚ç…§ã—ã¾ã™ã€‚" -#: catalog/heap.c:3161 +#: catalog/heap.c:3164 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "åŒæ™‚ã«ãƒ†ãƒ¼ãƒ–ル\"%s\"ãŒtruncateã•ã‚Œã¾ã—ãŸã€‚TRUNCATE ... CASCADEを使用ã—ã¦ãã ã•ã„。" -#: catalog/index.c:224 parser/parse_utilcmd.c:2185 +#: catalog/index.c:224 parser/parse_utilcmd.c:2194 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "テーブル\"%s\"ã«è¤‡æ•°ã®ãƒ—ライマリã‚ーをæŒãŸã›ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" @@ -4419,7 +4424,7 @@ msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルã¯ã‚¤ãƒ³ãƒ‡ã‚¯ã‚¹å†æ§‹ç¯‰ã§ msgid "cannot reindex invalid index on TOAST table" msgstr "TOASTテーブルã®ç„¡åŠ¹ãªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®å†ä½œæˆã¯ã§ãã¾ã›ã‚“" -#: catalog/index.c:3690 commands/indexcmds.c:3416 commands/indexcmds.c:3560 commands/tablecmds.c:3305 +#: catalog/index.c:3690 commands/indexcmds.c:3416 commands/indexcmds.c:3560 commands/tablecmds.c:3301 #, c-format msgid "cannot move system relation \"%s\"" msgstr "システムリレーション\"%s\"を移動ã§ãã¾ã›ã‚“" @@ -4504,17 +4509,17 @@ msgstr "テã‚スト検索辞書\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" msgid "text search template \"%s\" does not exist" msgstr "テã‚スト検索テンプレート\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: catalog/namespace.c:2770 commands/tsearchcmds.c:1121 utils/cache/ts_cache.c:613 +#: catalog/namespace.c:2770 commands/tsearchcmds.c:1127 utils/cache/ts_cache.c:613 #, c-format msgid "text search configuration \"%s\" does not exist" msgstr "テã‚スト検索è¨å®š\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1255 +#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1269 #, c-format msgid "cross-database references are not implemented: %s" msgstr "データベース間ã®å‚ç…§ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“: %s" -#: catalog/namespace.c:2889 gram.y:18258 gram.y:18298 parser/parse_expr.c:813 parser/parse_target.c:1262 +#: catalog/namespace.c:2889 gram.y:18258 gram.y:18298 parser/parse_expr.c:813 parser/parse_target.c:1276 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "修飾åãŒä¸é©åˆ‡ã§ã™(ドット区切りã®åå‰ãŒå¤šã™ãŽã¾ã™): %s" @@ -4529,7 +4534,7 @@ msgstr "一時スã‚ーマã¸ã€ã¾ãŸã¯ä¸€æ™‚スã‚ーマã‹ã‚‰ã‚ªãƒ–ジェク msgid "cannot move objects into or out of TOAST schema" msgstr "TOASTスã‚ーマã¸ã€ã¾ãŸã¯TOASTスã‚ーマã‹ã‚‰ã‚ªãƒ–ジェクトを移動ã§ãã¾ã›ã‚“" -#: catalog/namespace.c:3098 commands/schemacmds.c:263 commands/schemacmds.c:343 commands/tablecmds.c:1273 +#: catalog/namespace.c:3098 commands/schemacmds.c:263 commands/schemacmds.c:343 commands/tablecmds.c:1269 #, c-format msgid "schema \"%s\" does not exist" msgstr "スã‚ーマ\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" @@ -4569,22 +4574,22 @@ msgstr "並行処ç†ä¸ã¯ä¸€æ™‚テーブルを作æˆã§ãã¾ã›ã‚“" msgid "List syntax is invalid." msgstr "リスト文法ãŒç„¡åŠ¹ã§ã™" -#: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2184 commands/tablecmds.c:12339 +#: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2180 commands/tablecmds.c:12352 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ルã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: catalog/objectaddress.c:1398 commands/tablecmds.c:259 commands/tablecmds.c:17173 commands/view.c:119 +#: catalog/objectaddress.c:1398 commands/tablecmds.c:259 commands/tablecmds.c:17181 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\"ã¯ãƒ“ューã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 commands/tablecmds.c:17178 +#: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 commands/tablecmds.c:17186 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\"ã¯å®Ÿä½“化ビューã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: catalog/objectaddress.c:1412 commands/tablecmds.c:283 commands/tablecmds.c:17183 +#: catalog/objectaddress.c:1412 commands/tablecmds.c:283 commands/tablecmds.c:17191 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\"ã¯å¤–部テーブルã§ã¯ã‚ã‚Šã¾ã›ã‚“" @@ -5331,7 +5336,7 @@ msgstr "パーティション\"%s\"ã‚’å–り外ã›ã¾ã›ã‚“" msgid "The partition is being detached concurrently or has an unfinished detach." msgstr "ã“ã®ãƒ‘ーティションã¯ä»Šç¾åœ¨å–り外ã—ä¸ã§ã‚ã‚‹ã‹å–り外ã—処ç†ãŒæœªå®Œäº†ã®çŠ¶æ…‹ã§ã™ã€‚" -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4488 commands/tablecmds.c:15485 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4484 commands/tablecmds.c:15498 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "ALTER TABLE ... DETACH PARTITION ... FINALIZE を実行ã—ã¦ä¿ç•™ä¸ã®å–り外ã—処ç†ã‚’完了ã•ã›ã¦ãã ã•ã„。" @@ -5506,7 +5511,7 @@ msgstr "SQL関数ã¯åž‹%sã‚’è¿”ã™ã“ã¨ãŒã§ãã¾ã›ã‚“" msgid "SQL functions cannot have arguments of type %s" msgstr "SQL関数ã¯åž‹%sã®å¼•æ•°ã¨å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: catalog/pg_proc.c:1000 executor/functions.c:1473 +#: catalog/pg_proc.c:1001 executor/functions.c:1474 #, c-format msgid "SQL function \"%s\"" msgstr "SQL関数\"%s\"" @@ -6003,7 +6008,7 @@ msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルをクラスタ化ã§ãã¾ã› msgid "there is no previously clustered index for table \"%s\"" msgstr "テーブル\"%s\"ã«ã¯äº‹å‰ã«ã‚¯ãƒ©ã‚¹ã‚¿åŒ–ã•ã‚ŒãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/cluster.c:190 commands/tablecmds.c:14183 commands/tablecmds.c:16064 +#: commands/cluster.c:190 commands/tablecmds.c:14196 commands/tablecmds.c:16077 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "テーブル\"%2$s\"ã«ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\"%1$s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" @@ -6018,7 +6023,7 @@ msgstr "共有カタãƒã‚°ã‚’クラスタ化ã§ãã¾ã›ã‚“" msgid "cannot vacuum temporary tables of other sessions" msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルã«å¯¾ã—ã¦ã¯VACUUMを実行ã§ãã¾ã›ã‚“" -#: commands/cluster.c:511 commands/tablecmds.c:16074 +#: commands/cluster.c:511 commands/tablecmds.c:16087 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" @@ -6077,7 +6082,7 @@ msgstr "" msgid "collation attribute \"%s\" not recognized" msgstr "ç…§åˆé †åºã®å±žæ€§\"%s\"ãŒèªè˜ã§ãã¾ã›ã‚“" -#: commands/collationcmds.c:119 commands/collationcmds.c:125 commands/define.c:389 commands/tablecmds.c:7812 replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 replication/walsender.c:1001 replication/walsender.c:1023 replication/walsender.c:1033 +#: commands/collationcmds.c:119 commands/collationcmds.c:125 commands/define.c:389 commands/tablecmds.c:7811 replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 replication/walsender.c:1001 replication/walsender.c:1023 replication/walsender.c:1033 #, c-format msgid "conflicting or redundant options" msgstr "競åˆã™ã‚‹ã‚ªãƒ—ションã€ã‚ã‚‹ã„ã¯ä½™è¨ˆãªã‚ªãƒ—ションãŒã‚ã‚Šã¾ã™" @@ -6394,12 +6399,12 @@ msgstr "列\"%s\"ã¯ç”Ÿæˆã‚«ãƒ©ãƒ ã§ã™" msgid "Generated columns cannot be used in COPY." msgstr "生æˆã‚«ãƒ©ãƒ ã¯COPYã§ã¯ä½¿ãˆã¾ã›ã‚“。" -#: commands/copy.c:784 commands/indexcmds.c:1826 commands/statscmds.c:243 commands/tablecmds.c:2379 commands/tablecmds.c:3035 commands/tablecmds.c:3529 parser/parse_relation.c:3660 parser/parse_relation.c:3680 utils/adt/tsvector_op.c:2688 +#: commands/copy.c:784 commands/indexcmds.c:1826 commands/statscmds.c:243 commands/tablecmds.c:2375 commands/tablecmds.c:3031 commands/tablecmds.c:3525 parser/parse_relation.c:3669 parser/parse_relation.c:3689 utils/adt/tsvector_op.c:2688 #, c-format msgid "column \"%s\" does not exist" msgstr "列\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/copy.c:791 commands/tablecmds.c:2405 commands/trigger.c:963 parser/parse_target.c:1079 parser/parse_target.c:1090 +#: commands/copy.c:791 commands/tablecmds.c:2401 commands/trigger.c:963 parser/parse_target.c:1093 parser/parse_target.c:1104 #, c-format msgid "column \"%s\" specified more than once" msgstr "列\"%s\"ãŒè¤‡æ•°æŒ‡å®šã•ã‚Œã¾ã—ãŸ" @@ -6836,8 +6841,8 @@ msgstr "データベース作æˆã®æ–¹æ³•\"%s\"ã¯ä¸æ£ã§ã™" #: commands/dbcommands.c:1005 #, c-format -msgid "Valid strategies are \"wal_log\", and \"file_copy\"." -msgstr "有効ãªæ–¹æ³•ã¯ã¯\"wal_log\"ã¨\"file_copy\"ã§ã™ã€‚" +msgid "Valid strategies are \"wal_log\" and \"file_copy\"." +msgstr "有効ãªæ–¹æ³•ã¯\"wal_log\"ã¨\"file_copy\"ã§ã™ã€‚" #: commands/dbcommands.c:1024 #, c-format @@ -7143,7 +7148,7 @@ msgstr "%sã®å¼•æ•°ã¯åž‹åã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" msgid "invalid argument for %s: \"%s\"" msgstr "%sã®å¼•æ•°ãŒä¸æ£ã§ã™: \"%s\"" -#: commands/dropcmds.c:100 commands/functioncmds.c:1394 utils/adt/ruleutils.c:2928 +#: commands/dropcmds.c:100 commands/functioncmds.c:1394 utils/adt/ruleutils.c:2926 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\"ã¯é›†ç´„関数ã§ã™" @@ -7153,12 +7158,12 @@ msgstr "\"%s\"ã¯é›†ç´„関数ã§ã™" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "集約関数を削除ã™ã‚‹ã«ã¯DROP AGGREGATEを使用ã—ã¦ãã ã•ã„" -#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3613 commands/tablecmds.c:3771 commands/tablecmds.c:3823 commands/tablecmds.c:16491 tcop/utility.c:1332 +#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3609 commands/tablecmds.c:3767 commands/tablecmds.c:3819 commands/tablecmds.c:16504 tcop/utility.c:1332 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "リレーション\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1278 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1274 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "スã‚ーマ\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" @@ -8145,7 +8150,7 @@ msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルã«å¯¾ã™ã‚‹ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ msgid "cannot specify default tablespace for partitioned relations" msgstr "パーティション親リレーションã«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ†ãƒ¼ãƒ–ル空間ã¯æŒ‡å®šã§ãã¾ã›ã‚“" -#: commands/indexcmds.c:792 commands/tablecmds.c:816 commands/tablecmds.c:3312 +#: commands/indexcmds.c:792 commands/tablecmds.c:812 commands/tablecmds.c:3308 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "共有リレーションã®ã¿ã‚’pg_globalテーブル空間ã«æ ¼ç´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™" @@ -8220,12 +8225,12 @@ msgstr "テーブル\"%s\"ã¯å¤–部テーブルをåテーブルã¨ã—ã¦å«ã‚“ msgid "functions in index predicate must be marked IMMUTABLE" msgstr "インデックスã®è¿°éƒ¨ã®é–¢æ•°ã¯IMMUTABLEマークãŒå¿…è¦ã§ã™" -#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2529 parser/parse_utilcmd.c:2664 +#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2538 parser/parse_utilcmd.c:2673 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "ã‚ーã¨ã—ã¦æŒ‡åã•ã‚ŒãŸåˆ—\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1826 +#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1835 #, c-format msgid "expressions are not supported in included columns" msgstr "包å«åˆ—ã§ã¯å¼ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“" @@ -8260,7 +8265,7 @@ msgstr "包å«åˆ—㯠NULLS FIRST/LAST オプションをサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“ msgid "could not determine which collation to use for index expression" msgstr "インデックスå¼ã§ä½¿ç”¨ã™ã‚‹ç…§åˆé †åºã‚’特定ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: commands/indexcmds.c:1962 commands/tablecmds.c:17516 commands/typecmds.c:807 parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3796 utils/adt/misc.c:601 +#: commands/indexcmds.c:1962 commands/tablecmds.c:17524 commands/typecmds.c:807 parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3805 utils/adt/misc.c:601 #, c-format msgid "collations are not supported by type %s" msgstr "%s åž‹ã§ã¯ç…§åˆé †åºã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“" @@ -8295,7 +8300,7 @@ msgstr "アクセスメソッド\"%s\"ã¯ASC/DESCオプションをサãƒãƒ¼ãƒˆã msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "アクセスメソッド\"%s\"ã¯NULLS FIRST/LASTオプションをサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: commands/indexcmds.c:2144 commands/tablecmds.c:17541 commands/tablecmds.c:17547 commands/typecmds.c:2302 +#: commands/indexcmds.c:2144 commands/tablecmds.c:17549 commands/tablecmds.c:17555 commands/typecmds.c:2302 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "アクセスメソッド\"%2$s\"ã«ã¯ãƒ‡ãƒ¼ã‚¿åž‹%1$s用ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æ¼”ç®—åクラスãŒã‚ã‚Šã¾ã›ã‚“" @@ -8705,7 +8710,7 @@ msgstr "JOIN推定関数 %s 㯠%såž‹ã‚’è¿”ã™å¿…è¦ãŒã‚ã‚Šã¾ã™" msgid "operator attribute \"%s\" cannot be changed" msgstr "演算åã®å±žæ€§\"%s\"ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 commands/tablecmds.c:1609 commands/tablecmds.c:2197 commands/tablecmds.c:3423 commands/tablecmds.c:6312 commands/tablecmds.c:9148 commands/tablecmds.c:17094 commands/tablecmds.c:17129 commands/trigger.c:328 commands/trigger.c:1378 commands/trigger.c:1488 rewrite/rewriteDefine.c:278 rewrite/rewriteDefine.c:957 rewrite/rewriteRemove.c:80 +#: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 commands/tablecmds.c:1605 commands/tablecmds.c:2193 commands/tablecmds.c:3419 commands/tablecmds.c:6308 commands/tablecmds.c:9151 commands/tablecmds.c:17102 commands/tablecmds.c:17137 commands/trigger.c:328 commands/trigger.c:1378 commands/trigger.c:1488 rewrite/rewriteDefine.c:278 rewrite/rewriteDefine.c:957 rewrite/rewriteRemove.c:80 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "権é™ãŒã‚ã‚Šã¾ã›ã‚“: \"%s\"ã¯ã‚·ã‚¹ãƒ†ãƒ ã‚«ã‚¿ãƒã‚°ã§ã™" @@ -8755,7 +8760,7 @@ msgstr "カーソルåãŒä¸æ£ã§ã™: 空ã§ã¯ã„ã‘ã¾ã›ã‚“" msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "ã‚»ã‚ュリティー制é™æ“作ä¸ã¯ã€WITH HOLD指定ã®ã‚«ãƒ¼ã‚½ãƒ«ã‚’作æˆã§ãã¾ã›ã‚“" -#: commands/portalcmds.c:189 commands/portalcmds.c:242 executor/execCurrent.c:70 utils/adt/xml.c:2593 utils/adt/xml.c:2763 +#: commands/portalcmds.c:189 commands/portalcmds.c:242 executor/execCurrent.c:70 utils/adt/xml.c:2603 utils/adt/xml.c:2773 #, c-format msgid "cursor \"%s\" does not exist" msgstr "カーソル\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" @@ -9140,7 +9145,7 @@ msgstr "シーケンスã¯é–¢é€£ã™ã‚‹ãƒ†ãƒ¼ãƒ–ルã¨åŒã˜ã‚¹ã‚ーマã§ãªã‘ msgid "cannot change ownership of identity sequence" msgstr "è˜åˆ¥ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã®æ‰€æœ‰è€…ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/sequence.c:1679 commands/tablecmds.c:13874 commands/tablecmds.c:16511 +#: commands/sequence.c:1679 commands/tablecmds.c:13887 commands/tablecmds.c:16524 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "シーケンス\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã«ãƒªãƒ³ã‚¯ã•ã‚Œã¦ã„ã¾ã™" @@ -9210,12 +9215,12 @@ msgstr "å®šå½¢æƒ…å ±å®šç¾©ä¸ã®åˆ—åãŒé‡è¤‡ã—ã¦ã„ã¾ã™" msgid "duplicate expression in statistics definition" msgstr "çµ±è¨ˆæƒ…å ±å®šç¾©å†…ã«é‡è¤‡ã—ãŸå¼" -#: commands/statscmds.c:620 commands/tablecmds.c:8116 +#: commands/statscmds.c:620 commands/tablecmds.c:8115 #, c-format msgid "statistics target %d is too low" msgstr "çµ±è¨ˆæƒ…å ±ç›®æ¨™%dã¯å°ã•ã™ãŽã¾ã™" -#: commands/statscmds.c:628 commands/tablecmds.c:8124 +#: commands/statscmds.c:628 commands/tablecmds.c:8123 #, c-format msgid "lowering statistics target to %d" msgstr "çµ±è¨ˆæƒ…å ±ç›®æ¨™ã‚’%dã«æ¸›ã‚‰ã—ã¾ã™" @@ -9468,7 +9473,7 @@ msgstr "実体化ビュー\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "実体化ビューを削除ã™ã‚‹ã«ã¯DROP MATERIALIZED VIEWを使用ã—ã¦ãã ã•ã„。" -#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19023 parser/parse_utilcmd.c:2261 +#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19031 parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not exist" msgstr "インデックス\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" @@ -9491,7 +9496,7 @@ msgstr "\"%s\"ã¯åž‹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" msgid "Use DROP TYPE to remove a type." msgstr "型を削除ã™ã‚‹ã«ã¯DROP TYPEを使用ã—ã¦ãã ã•ã„" -#: commands/tablecmds.c:281 commands/tablecmds.c:13713 commands/tablecmds.c:16214 +#: commands/tablecmds.c:281 commands/tablecmds.c:13726 commands/tablecmds.c:16227 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "外部テーブル\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" @@ -9515,1316 +9520,1316 @@ msgstr "ON COMMITã¯ä¸€æ™‚テーブルã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™" msgid "cannot create temporary table within security-restricted operation" msgstr "ã‚»ã‚ュリティー制é™æ“作ä¸ã¯ã€ä¸€æ™‚テーブルを作æˆã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:764 commands/tablecmds.c:15021 +#: commands/tablecmds.c:764 commands/tablecmds.c:15034 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "リレーション\"%s\"ãŒè¤‡æ•°å›žç¶™æ‰¿ã•ã‚Œã¾ã—ãŸ" -#: commands/tablecmds.c:949 +#: commands/tablecmds.c:945 #, c-format msgid "specifying a table access method is not supported on a partitioned table" msgstr "パーティション親テーブルã§ã¯ãƒ†ãƒ¼ãƒ–ルアクセスメソッドã®æŒ‡å®šã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: commands/tablecmds.c:1042 +#: commands/tablecmds.c:1038 #, c-format msgid "\"%s\" is not partitioned" msgstr "\"%s\"ã¯ãƒ‘ーティションã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: commands/tablecmds.c:1137 +#: commands/tablecmds.c:1133 #, c-format msgid "cannot partition using more than %d columns" msgstr "%d以上ã®åˆ—を使ã£ãŸãƒ‘ーティションã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:1193 +#: commands/tablecmds.c:1189 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "パーティションテーブル\"%s\"ã§ã¯å¤–部åテーブルを作æˆã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:1195 +#: commands/tablecmds.c:1191 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "テーブル\"%s\"ã¯ãƒ¦ãƒ‹ãƒ¼ã‚¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’æŒã£ã¦ã„ã¾ã™" -#: commands/tablecmds.c:1358 +#: commands/tablecmds.c:1354 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLYã¯è¤‡æ•°ã‚ªãƒ–ジェクトã®å‰Šé™¤ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“" -#: commands/tablecmds.c:1362 +#: commands/tablecmds.c:1358 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLYã¯CASCADEをサãƒãƒ¼ãƒˆã—ã¾ã›ã‚“" -#: commands/tablecmds.c:1466 +#: commands/tablecmds.c:1462 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "パーティション親インデックス\"%s\"ã¯ä¸¦è¡Œçš„ã«å‰Šé™¤ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:1754 +#: commands/tablecmds.c:1750 #, c-format msgid "cannot truncate only a partitioned table" msgstr "パーティションã®è¦ªãƒ†ãƒ¼ãƒ–ルã®ã¿ã®åˆ‡ã‚Šè©°ã‚ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:1755 +#: commands/tablecmds.c:1751 #, c-format msgid "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions directly." msgstr "ONLY ã‚ーワードを指定ã—ãªã„ã§ãã ã•ã„ã€ã‚‚ã—ãã¯åテーブルã«å¯¾ã—ã¦ç›´æŽ¥ TRUNCATE ONLY を実行ã—ã¦ãã ã•ã„。" -#: commands/tablecmds.c:1827 +#: commands/tablecmds.c:1823 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "テーブル\"%s\"ã¸ã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã‚’削除ã—ã¾ã™" -#: commands/tablecmds.c:2177 +#: commands/tablecmds.c:2173 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "外部テーブル\"%s\"ã®åˆ‡ã‚Šè©°ã‚ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2234 +#: commands/tablecmds.c:2230 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルを削除ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2462 commands/tablecmds.c:14918 +#: commands/tablecmds.c:2458 commands/tablecmds.c:14931 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "パーティション親テーブル\"%s\"ã‹ã‚‰ã®ç¶™æ‰¿ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2467 +#: commands/tablecmds.c:2463 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "パーティションåテーブル\"%s\"ã‹ã‚‰ã®ç¶™æ‰¿ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2475 parser/parse_utilcmd.c:2491 parser/parse_utilcmd.c:2633 +#: commands/tablecmds.c:2471 parser/parse_utilcmd.c:2500 parser/parse_utilcmd.c:2642 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "継承ã—よã†ã¨ã—ãŸãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ルã¾ãŸã¯å¤–部テーブルã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:2487 +#: commands/tablecmds.c:2483 #, c-format msgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "一時リレーションを永続リレーション\"%s\"ã®ãƒ‘ーティションåテーブルã¨ã—ã¦ä½œã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2496 commands/tablecmds.c:14897 +#: commands/tablecmds.c:2492 commands/tablecmds.c:14910 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "一時リレーション\"%s\"ã‹ã‚‰ç¶™æ‰¿ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2506 commands/tablecmds.c:14905 +#: commands/tablecmds.c:2502 commands/tablecmds.c:14918 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚リレーションã‹ã‚‰ç¶™æ‰¿ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2560 +#: commands/tablecmds.c:2556 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "複数ã®ç¶™æ‰¿ã•ã‚Œã‚‹åˆ—\"%s\"ã®å®šç¾©ã‚’マージã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2568 +#: commands/tablecmds.c:2564 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "継承ã•ã‚Œã‚‹åˆ—\"%s\"ã®åž‹ãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2570 commands/tablecmds.c:2593 commands/tablecmds.c:2610 commands/tablecmds.c:2866 commands/tablecmds.c:2896 commands/tablecmds.c:2910 parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 parser/parse_param.c:227 +#: commands/tablecmds.c:2566 commands/tablecmds.c:2589 commands/tablecmds.c:2606 commands/tablecmds.c:2862 commands/tablecmds.c:2892 commands/tablecmds.c:2906 parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 parser/parse_coerce.c:2381 parser/parse_coerce.c:2412 parser/parse_coerce.c:2451 parser/parse_coerce.c:2518 parser/parse_param.c:227 #, c-format msgid "%s versus %s" msgstr "%s対%s" -#: commands/tablecmds.c:2579 +#: commands/tablecmds.c:2575 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "継承ã•ã‚Œã‚‹åˆ— \"%s\"ã®ç…§åˆé †åºãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2581 commands/tablecmds.c:2878 commands/tablecmds.c:6792 +#: commands/tablecmds.c:2577 commands/tablecmds.c:2874 commands/tablecmds.c:6791 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\"対\"%s\"" -#: commands/tablecmds.c:2591 +#: commands/tablecmds.c:2587 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "継承ã•ã‚Œã‚‹åˆ— \"%s\"ã®æ ¼ç´ãƒ‘ラメーターãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2608 commands/tablecmds.c:2908 +#: commands/tablecmds.c:2604 commands/tablecmds.c:2904 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "列\"%s\"ã®åœ§ç¸®æ–¹å¼ãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2623 +#: commands/tablecmds.c:2619 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "継承ã•ã‚ŒãŸåˆ— \"%s\"ã®ç”ŸæˆãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2717 commands/tablecmds.c:2772 commands/tablecmds.c:12437 parser/parse_utilcmd.c:1302 parser/parse_utilcmd.c:1345 parser/parse_utilcmd.c:1754 parser/parse_utilcmd.c:1862 +#: commands/tablecmds.c:2713 commands/tablecmds.c:2768 commands/tablecmds.c:12450 parser/parse_utilcmd.c:1311 parser/parse_utilcmd.c:1354 parser/parse_utilcmd.c:1763 parser/parse_utilcmd.c:1871 #, c-format msgid "cannot convert whole-row table reference" msgstr "行全体テーブルå‚照を変æ›ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:2718 parser/parse_utilcmd.c:1303 +#: commands/tablecmds.c:2714 parser/parse_utilcmd.c:1312 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "制約\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã¸ã®è¡Œå…¨ä½“å‚照をå«ã¿ã¾ã™ã€‚" -#: commands/tablecmds.c:2773 parser/parse_utilcmd.c:1346 +#: commands/tablecmds.c:2769 parser/parse_utilcmd.c:1355 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "制約\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã¸ã®è¡Œå…¨ä½“å‚照をå«ã¿ã¾ã™ã€‚" -#: commands/tablecmds.c:2852 +#: commands/tablecmds.c:2848 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "継承ã•ã‚Œã‚‹å®šç¾©ã§åˆ—\"%s\"をマージã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2856 +#: commands/tablecmds.c:2852 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "継承ã•ã‚Œã‚‹å®šç¾©ã§åˆ—\"%s\"を移動ã—ã¦ãƒžãƒ¼ã‚¸ã—ã¾ã™" -#: commands/tablecmds.c:2857 +#: commands/tablecmds.c:2853 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "ユーザーãŒæŒ‡å®šã—ãŸåˆ—ãŒç¶™æ‰¿ã—ãŸåˆ—ã®ä½ç½®ã«ç§»å‹•ã•ã‚Œã¾ã—ãŸã€‚" -#: commands/tablecmds.c:2864 +#: commands/tablecmds.c:2860 #, c-format msgid "column \"%s\" has a type conflict" msgstr "列\"%s\"ã®åž‹ãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2876 +#: commands/tablecmds.c:2872 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "列\"%s\"ã®ç…§åˆé †åºãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2894 +#: commands/tablecmds.c:2890 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "列\"%s\"ã®æ ¼ç´ãƒ‘ラメーターãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2935 +#: commands/tablecmds.c:2931 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "åテーブルã®åˆ—\"%s\"ã¯ç”Ÿæˆå¼ã‚’指定ã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:2937 +#: commands/tablecmds.c:2933 #, c-format msgid "Omit the generation expression in the definition of the child table column to inherit the generation expression from the parent table." msgstr "親テーブルã®ç”Ÿæˆå¼ã‚’継承ã™ã‚‹ãŸã‚ã«ã€åテーブルã®åˆ—ã®ç”Ÿæˆå¼å®šç¾©ã‚’無視ã—ã¾ã—ãŸ" -#: commands/tablecmds.c:2941 +#: commands/tablecmds.c:2937 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "列\"%s\"ã¯ç”Ÿæˆåˆ—を継承ã—ã¾ã™ãŒã€default 指定ãŒã•ã‚Œã¦ã„ã¾ã™" -#: commands/tablecmds.c:2946 +#: commands/tablecmds.c:2942 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "列\"%s\"ã¯ç”Ÿæˆåˆ—を継承ã—ã¾ã™ãŒã€è˜åˆ¥åˆ—ã¨æŒ‡å®šã•ã‚Œã¦ã„ã¾ã™" -#: commands/tablecmds.c:3055 +#: commands/tablecmds.c:3051 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "列\"%s\"ã¯ç«¶åˆã™ã‚‹ç”Ÿæˆå¼ã‚’継承ã—ã¾ã™" -#: commands/tablecmds.c:3060 +#: commands/tablecmds.c:3056 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "列\"%s\"ã¯ç«¶åˆã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’継承ã—ã¾ã™" -#: commands/tablecmds.c:3062 +#: commands/tablecmds.c:3058 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "競åˆã‚’解消ã™ã‚‹ã«ã¯æ˜Žç¤ºçš„ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚’指定ã—ã¦ãã ã•ã„" -#: commands/tablecmds.c:3108 +#: commands/tablecmds.c:3104 #, c-format msgid "check constraint name \"%s\" appears multiple times but with different expressions" msgstr "ç•°ãªã‚‹å¼ã‚’æŒã¤æ¤œæŸ»åˆ¶ç´„å\"%s\"ãŒè¤‡æ•°ã‚ã‚Šã¾ã™ã€‚" -#: commands/tablecmds.c:3321 +#: commands/tablecmds.c:3317 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルを移動ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:3391 +#: commands/tablecmds.c:3387 #, c-format msgid "cannot rename column of typed table" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã®åˆ—をリãƒãƒ¼ãƒ ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:3410 +#: commands/tablecmds.c:3406 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "リレーション\"%s\"ã®åˆ—åã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:3505 +#: commands/tablecmds.c:3501 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "継承ã•ã‚Œã‚‹åˆ—\"%s\"ã®åå‰ã‚’åテーブルã§ã‚‚変更ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:3537 +#: commands/tablecmds.c:3533 #, c-format msgid "cannot rename system column \"%s\"" msgstr "システム列%s\"ã®åå‰ã‚’変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:3552 +#: commands/tablecmds.c:3548 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "継承ã•ã‚Œã‚‹åˆ—\"%s\"ã®åå‰ã‚’変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:3704 +#: commands/tablecmds.c:3700 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "継承ã•ã‚Œã‚‹åˆ¶ç´„\"%s\"ã®åå‰ã‚’åテーブルã§ã‚‚変更ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:3711 +#: commands/tablecmds.c:3707 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "継承ã•ã‚Œã‚‹åˆ¶ç´„\"%s\"ã®åå‰ã‚’変更ã§ãã¾ã›ã‚“" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4008 +#: commands/tablecmds.c:4004 #, c-format msgid "cannot %s \"%s\" because it is being used by active queries in this session" msgstr "ã“ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã§å®Ÿè¡Œä¸ã®å•ã„åˆã‚ã›ã§ä½¿ç”¨ã•ã‚Œã¦ã„ã‚‹ãŸã‚\"%2$s\"ã‚’%1$sã§ãã¾ã›ã‚“" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4017 +#: commands/tablecmds.c:4013 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "ä¿ç•™ä¸ã®ãƒˆãƒªã‚¬ã‚¤ãƒ™ãƒ³ãƒˆãŒã‚ã‚‹ãŸã‚\"%2$s\"ã‚’%1$sã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:4486 +#: commands/tablecmds.c:4482 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "パーティションåテーブル\"%s\"ã¯ä¸å®Œå…¨ãªå–り外ã—状態ã§ã‚ã‚‹ãŸã‚変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:4679 commands/tablecmds.c:4694 +#: commands/tablecmds.c:4675 commands/tablecmds.c:4690 #, c-format msgid "cannot change persistence setting twice" msgstr "永続性è¨å®šã®å¤‰æ›´ã¯2度ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:4715 +#: commands/tablecmds.c:4711 #, c-format msgid "cannot change access method of a partitioned table" msgstr "パーティション親テーブルã®ã‚¢ã‚¯ã‚»ã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:4721 +#: commands/tablecmds.c:4717 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "SET ACCESS METHODサブコマンドを複数指定ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:5476 +#: commands/tablecmds.c:5472 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "システムリレーション\"%sを書ãæ›ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: commands/tablecmds.c:5482 +#: commands/tablecmds.c:5478 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "ã‚«ã‚¿ãƒã‚°ãƒ†ãƒ¼ãƒ–ルã¨ã—ã¦ä½¿ç”¨ã•ã‚Œã¦ã„るテーブル\"%s\"ã¯æ›¸ãæ›ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: commands/tablecmds.c:5492 +#: commands/tablecmds.c:5488 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルを書ãæ›ãˆã‚‰ã‚Œã¾ã›ã‚“" -#: commands/tablecmds.c:5986 +#: commands/tablecmds.c:5982 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã«NULL値ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:6003 +#: commands/tablecmds.c:5999 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "一部ã®è¡ŒãŒãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%2$s\"ã®æ¤œæŸ»åˆ¶ç´„\"%1$s\"ã«é•åã—ã¦ã¾ã™" -#: commands/tablecmds.c:6022 partitioning/partbounds.c:3404 +#: commands/tablecmds.c:6018 partitioning/partbounds.c:3404 #, c-format msgid "updated partition constraint for default partition \"%s\" would be violated by some row" msgstr "デフォルトパーティション\"%s\"ã®ä¸€éƒ¨ã®è¡ŒãŒæ›´æ–°å¾Œã®ãƒ‘ーティション制約ã«é•åã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:6028 +#: commands/tablecmds.c:6024 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "一部ã®è¡ŒãŒãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã®ãƒ‘ーティション制約ã«é•åã—ã¦ã„ã¾ã™" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6295 +#: commands/tablecmds.c:6291 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "ALTERã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³%sã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã§ã¯å®Ÿè¡Œã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:6550 commands/tablecmds.c:6557 +#: commands/tablecmds.c:6546 commands/tablecmds.c:6553 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "åž‹\"%s\"を変更ã§ãã¾ã›ã‚“。列\"%s\".\"%s\"ã§ãã®åž‹ã‚’使用ã—ã¦ã„ã‚‹ãŸã‚ã§ã™" -#: commands/tablecmds.c:6564 +#: commands/tablecmds.c:6560 #, c-format msgid "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" msgstr "列%2$s\".\"%3$s\"ãŒãã®è¡Œåž‹ã‚’使用ã—ã¦ã„ã‚‹ãŸã‚ã€å¤–部テーブル\"%1$s\"を変更ã§ãã¾ã›ã‚“。" -#: commands/tablecmds.c:6571 +#: commands/tablecmds.c:6567 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "テーブル\"%s\"を変更ã§ãã¾ã›ã‚“。ãã®è¡Œåž‹ã‚’列\"%s\".\"%s\"ã§ä½¿ç”¨ã—ã¦ã„ã‚‹ãŸã‚ã§ã™" -#: commands/tablecmds.c:6627 +#: commands/tablecmds.c:6623 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã®åž‹ã§ã‚ã‚‹ãŸã‚ã€å¤–部テーブル\"%s\"を変更ã§ãã¾ã›ã‚“。" -#: commands/tablecmds.c:6629 +#: commands/tablecmds.c:6625 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルを変更ã™ã‚‹å ´åˆã‚‚ ALTER .. CASCADE を使用ã—ã¦ãã ã•ã„" -#: commands/tablecmds.c:6675 +#: commands/tablecmds.c:6671 #, c-format msgid "type %s is not a composite type" msgstr "åž‹ %s ã¯è¤‡åˆåž‹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:6702 +#: commands/tablecmds.c:6698 #, c-format msgid "cannot add column to typed table" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã«åˆ—ã‚’è¿½åŠ ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:6755 +#: commands/tablecmds.c:6754 #, c-format msgid "cannot add column to a partition" msgstr "パーティションã«åˆ—ã¯è¿½åŠ ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:6784 commands/tablecmds.c:15148 +#: commands/tablecmds.c:6783 commands/tablecmds.c:15161 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "åテーブル\"%s\"ã«ç•°ãªã‚‹åž‹ã®åˆ—\"%s\"ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:6790 commands/tablecmds.c:15155 +#: commands/tablecmds.c:6789 commands/tablecmds.c:15168 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "åテーブル\"%s\"ã«ç•°ãªã‚‹ç…§åˆé †åºã®åˆ—\"%s\"ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:6804 +#: commands/tablecmds.c:6803 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "å\"%2$s\"ã®åˆ—\"%1$s\"ã®å®šç¾©ã‚’マージã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:6851 +#: commands/tablecmds.c:6850 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "åテーブルをæŒã¤ãƒ†ãƒ¼ãƒ–ルã«è˜åˆ¥åˆ—ã‚’å†å¸°çš„ã«è¿½åŠ ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:7095 +#: commands/tablecmds.c:7094 #, c-format msgid "column must be added to child tables too" msgstr "列ã¯åテーブルã§ã‚‚è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:7173 +#: commands/tablecmds.c:7172 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯ã™ã§ã«å˜åœ¨ã—ã¾ã™ã€ã‚¹ã‚ップã—ã¾ã™" -#: commands/tablecmds.c:7180 +#: commands/tablecmds.c:7179 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯ã™ã§ã«å˜åœ¨ã—ã¾ã™" -#: commands/tablecmds.c:7246 commands/tablecmds.c:12076 +#: commands/tablecmds.c:7245 commands/tablecmds.c:12089 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "パーティションãŒå˜åœ¨ã™ã‚‹å ´åˆã«ã¯ãƒ‘ーティション親テーブルã®ã¿ã‹ã‚‰åˆ¶ç´„を削除ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:7247 commands/tablecmds.c:7564 commands/tablecmds.c:8561 commands/tablecmds.c:12077 +#: commands/tablecmds.c:7246 commands/tablecmds.c:7563 commands/tablecmds.c:8564 commands/tablecmds.c:12090 #, c-format msgid "Do not specify the ONLY keyword." msgstr "ONLYã‚ーワードを指定ã—ãªã„ã§ãã ã•ã„。" -#: commands/tablecmds.c:7284 commands/tablecmds.c:7490 commands/tablecmds.c:7632 commands/tablecmds.c:7746 commands/tablecmds.c:7840 commands/tablecmds.c:7899 commands/tablecmds.c:8018 commands/tablecmds.c:8157 commands/tablecmds.c:8227 commands/tablecmds.c:8383 commands/tablecmds.c:12231 commands/tablecmds.c:13736 commands/tablecmds.c:16305 +#: commands/tablecmds.c:7283 commands/tablecmds.c:7489 commands/tablecmds.c:7631 commands/tablecmds.c:7745 commands/tablecmds.c:7839 commands/tablecmds.c:7898 commands/tablecmds.c:8017 commands/tablecmds.c:8156 commands/tablecmds.c:8226 commands/tablecmds.c:8382 commands/tablecmds.c:12244 commands/tablecmds.c:13749 commands/tablecmds.c:16318 #, c-format msgid "cannot alter system column \"%s\"" msgstr "システム列\"%s\"を変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:7290 commands/tablecmds.c:7638 +#: commands/tablecmds.c:7289 commands/tablecmds.c:7637 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯è˜åˆ¥åˆ—ã§ã™" -#: commands/tablecmds.c:7333 +#: commands/tablecmds.c:7332 #, c-format msgid "column \"%s\" is in a primary key" msgstr "列\"%s\"ã¯ãƒ—ライマリã‚ーã§ä½¿ç”¨ã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:7338 +#: commands/tablecmds.c:7337 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "列\"%s\"ã¯è¤‡è£½è˜åˆ¥ã¨ã—ã¦ä½¿ç”¨ä¸ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«å«ã¾ã‚Œã¦ã„ã¾ã™" -#: commands/tablecmds.c:7361 +#: commands/tablecmds.c:7360 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "列\"%s\"ã¯è¦ªãƒ†ãƒ¼ãƒ–ルã§NOT NULL指定ã•ã‚Œã¦ã„ã¾ã™" -#: commands/tablecmds.c:7561 commands/tablecmds.c:9044 +#: commands/tablecmds.c:7560 commands/tablecmds.c:9047 #, c-format msgid "constraint must be added to child tables too" msgstr "制約ã¯åテーブルã«ã‚‚è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:7562 +#: commands/tablecmds.c:7561 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯ã™ã§ã«NOT NULLLã§ã¯ã‚ã‚Šã¾ã›ã‚“。" -#: commands/tablecmds.c:7640 +#: commands/tablecmds.c:7639 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." msgstr "代ã‚ã‚Šã« ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY を使ã£ã¦ãã ã•ã„。" -#: commands/tablecmds.c:7645 +#: commands/tablecmds.c:7644 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯ç”Ÿæˆã‚«ãƒ©ãƒ ã§ã™" -#: commands/tablecmds.c:7648 +#: commands/tablecmds.c:7647 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." msgstr "代ã‚ã‚Šã« ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION を使ã£ã¦ãã ã•ã„。" -#: commands/tablecmds.c:7757 +#: commands/tablecmds.c:7756 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "è˜åˆ¥åˆ—ã‚’è¿½åŠ ã™ã‚‹ã«ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã®åˆ—\"%s\"ã¯NOT NULLã¨å®£è¨€ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:7763 +#: commands/tablecmds.c:7762 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯ã™ã§ã«è˜åˆ¥åˆ—ã§ã™" -#: commands/tablecmds.c:7769 +#: commands/tablecmds.c:7768 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯ã™ã§ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™" -#: commands/tablecmds.c:7846 commands/tablecmds.c:7907 +#: commands/tablecmds.c:7845 commands/tablecmds.c:7906 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯è˜åˆ¥åˆ—ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:7912 +#: commands/tablecmds.c:7911 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯è˜åˆ¥åˆ—ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" -#: commands/tablecmds.c:7965 +#: commands/tablecmds.c:7964 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSIONã¯åテーブルã«å¯¾ã—ã¦ã‚‚é©ç”¨ã•ã‚Œãªãã¦ã¯ãªã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:7987 +#: commands/tablecmds.c:7986 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "継承列ã‹ã‚‰ç”Ÿæˆå¼ã‚’削除ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8026 +#: commands/tablecmds.c:8025 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯æ ¼ç´ç”Ÿæˆåˆ—ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:8031 +#: commands/tablecmds.c:8030 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯æ ¼ç´ç”Ÿæˆåˆ—ã§ã¯ã‚ã‚Šã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" -#: commands/tablecmds.c:8104 +#: commands/tablecmds.c:8103 #, c-format msgid "cannot refer to non-index column by number" msgstr "éžã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹åˆ—を番å·ã§å‚ç…§ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8147 +#: commands/tablecmds.c:8146 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "リレーション \"%2$s\"ã®åˆ— %1$d ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/tablecmds.c:8166 +#: commands/tablecmds.c:8165 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "インデックス\"%2$s\"ã®åŒ…å«åˆ—\"%1$s\"ã¸ã®çµ±è¨ˆæƒ…å ±ã®å¤‰æ›´ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8171 +#: commands/tablecmds.c:8170 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "インデックス \"%2$s\"ã®éžå¼åˆ—\"%1$s\"ã®çµ±è¨ˆæƒ…å ±ã®å¤‰æ›´ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8173 +#: commands/tablecmds.c:8172 #, c-format msgid "Alter statistics on table column instead." msgstr "代ã‚ã‚Šã«ãƒ†ãƒ¼ãƒ–ルカラムã®çµ±è¨ˆæƒ…å ±ã‚’å¤‰æ›´ã—ã¦ãã ã•ã„。" -#: commands/tablecmds.c:8363 +#: commands/tablecmds.c:8362 #, c-format msgid "invalid storage type \"%s\"" msgstr "ä¸æ£ãªæ ¼ç´ã‚¿ã‚¤ãƒ—\"%s\"" -#: commands/tablecmds.c:8395 +#: commands/tablecmds.c:8394 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "列ã®ãƒ‡ãƒ¼ã‚¿åž‹%sã¯æ ¼ç´ã‚¿ã‚¤ãƒ—PLAINã—ã‹å–ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8440 +#: commands/tablecmds.c:8439 #, c-format msgid "cannot drop column from typed table" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã‹ã‚‰åˆ—を削除ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8499 +#: commands/tablecmds.c:8502 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "リレーション\"%2$s\"ã®åˆ—\"%1$s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" -#: commands/tablecmds.c:8512 +#: commands/tablecmds.c:8515 #, c-format msgid "cannot drop system column \"%s\"" msgstr "システム列\"%s\"を削除ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8522 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "継承ã•ã‚Œã‚‹åˆ—\"%s\"を削除ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8535 +#: commands/tablecmds.c:8538 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "列\"%s\"ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã®ãƒ‘ーティションã‚ーã®ä¸€éƒ¨ã§ã‚ã‚‹ãŸã‚ã€å‰Šé™¤ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8560 +#: commands/tablecmds.c:8563 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "åテーブルãŒå˜åœ¨ã™ã‚‹å ´åˆã«ã¯ãƒ‘ーティション親テーブルã®ã¿ã‹ã‚‰åˆ—を削除ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:8764 +#: commands/tablecmds.c:8767 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX ã¯ãƒ‘ーティションテーブルã§ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: commands/tablecmds.c:8789 +#: commands/tablecmds.c:8792 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\"%s\"ã‚’\"%s\"ã«ãƒªãƒãƒ¼ãƒ ã—ã¾ã™" -#: commands/tablecmds.c:9126 +#: commands/tablecmds.c:9129 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "パーティションテーブル\"%s\"上ã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã‚’å‚ç…§ã™ã‚‹å¤–部ã‚ー定義ã§ã¯ONLY指定ã¯ã§ãã¾ã›ã‚“ " -#: commands/tablecmds.c:9132 +#: commands/tablecmds.c:9135 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "パーティションテーブル\"%1$s\"ã«ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%2$s\"ã‚’å‚ç…§ã™ã‚‹ NOT VALID 指定ã®å¤–部ã‚ーã¯è¿½åŠ ã§ãã¾ã›ã‚“ " -#: commands/tablecmds.c:9135 +#: commands/tablecmds.c:9138 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "ã“ã®æ©Ÿèƒ½ã¯ãƒ‘ーティションテーブルã«å¯¾ã—ã¦ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。" -#: commands/tablecmds.c:9142 commands/tablecmds.c:9608 +#: commands/tablecmds.c:9145 commands/tablecmds.c:9611 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "å‚照先ã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ルã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:9165 +#: commands/tablecmds.c:9168 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "永続テーブルã®åˆ¶ç´„ã¯æ°¸ç¶šãƒ†ãƒ¼ãƒ–ルã ã‘ã‚’å‚ç…§ã§ãã¾ã™" -#: commands/tablecmds.c:9172 +#: commands/tablecmds.c:9175 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "UNLOGGEDテーブルã«å¯¾ã™ã‚‹åˆ¶ç´„ã¯ã€æ°¸ç¶šãƒ†ãƒ¼ãƒ–ルã¾ãŸã¯UNLOGGEDテーブルã ã‘ã‚’å‚ç…§ã™ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:9178 +#: commands/tablecmds.c:9181 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "一時テーブルã«å¯¾ã™ã‚‹åˆ¶ç´„ã¯ä¸€æ™‚テーブルã ã‘ã‚’å‚ç…§ã™ã‚‹å ´åˆãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:9182 +#: commands/tablecmds.c:9185 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "一時テーブルã«å¯¾ã™ã‚‹åˆ¶ç´„ã«ã¯ã“ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚ãƒ†ãƒ¼ãƒ–ãƒ«ã‚’åŠ ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:9256 commands/tablecmds.c:9262 +#: commands/tablecmds.c:9259 commands/tablecmds.c:9265 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "生æˆã‚«ãƒ©ãƒ ã‚’å«ã‚€å¤–部ã‚ー制約ã«å¯¾ã™ã‚‹ä¸æ£ãª %s 処ç†" -#: commands/tablecmds.c:9278 +#: commands/tablecmds.c:9281 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "外部ã‚ーã®å‚照列数ã¨è¢«å‚照列数ãŒåˆã„ã¾ã›ã‚“" -#: commands/tablecmds.c:9385 +#: commands/tablecmds.c:9388 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "外部ã‚ー制約\"%sã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: commands/tablecmds.c:9387 +#: commands/tablecmds.c:9390 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "ã‚ーã¨ãªã‚‹åˆ—\"%s\"ã¨\"%s\"ã¨ã®é–“ã§åž‹ã«äº’æ›æ€§ãŒã‚ã‚Šã¾ã›ã‚“:%sã¨%s" -#: commands/tablecmds.c:9544 +#: commands/tablecmds.c:9547 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "ON DELETE SETアクションã§å‚ç…§ã•ã‚Œã¦ã„る列\"%s\"ã¯å¤–部ã‚ーã®ä¸€éƒ¨ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:9817 commands/tablecmds.c:10285 parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:925 +#: commands/tablecmds.c:9820 commands/tablecmds.c:10288 parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:934 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "外部テーブルã§ã¯å¤–部ã‚ー制約ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: commands/tablecmds.c:10837 commands/tablecmds.c:11115 commands/tablecmds.c:12033 commands/tablecmds.c:12108 +#: commands/tablecmds.c:10840 commands/tablecmds.c:11121 commands/tablecmds.c:12046 commands/tablecmds.c:12121 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "リレーション\"%2$s\"ã®åˆ¶ç´„\"%1$s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/tablecmds.c:10844 +#: commands/tablecmds.c:10847 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "リレーション\"%2$s\"ã®åˆ¶ç´„\"%1$s\"ã¯å¤–部ã‚ー制約ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:10882 +#: commands/tablecmds.c:10885 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "リレーション\"%2$s\"ã®åˆ¶ç´„\"%1$s\"を変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:10885 +#: commands/tablecmds.c:10888 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "制約\"%1$s\"ã¯ã€ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%3$s\"上ã®åˆ¶ç´„\"%2$s\"ã‹ã‚‰æ´¾ç”Ÿã—ã¦ã„ã¾ã™ã€‚" -#: commands/tablecmds.c:10887 +#: commands/tablecmds.c:10890 #, c-format msgid "You may alter the constraint it derives from, instead." msgstr "ã“ã®åˆ¶ç´„ã®ä»£ã‚ã‚Šã«æ´¾ç”Ÿå…ƒã®åˆ¶ç´„を変更ã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã€‚" -#: commands/tablecmds.c:11123 +#: commands/tablecmds.c:11129 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "リレーション\"%2$s\"ã®åˆ¶ç´„\"%1$s\"ã¯å¤–部ã‚ー制約ã§ã‚‚検査制約ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:11201 +#: commands/tablecmds.c:11207 #, c-format msgid "constraint must be validated on child tables too" msgstr "制約ã¯åテーブルã§ã‚‚検証ã•ã‚Œã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:11291 +#: commands/tablecmds.c:11297 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "外部ã‚ー制約ã§å‚ç…§ã•ã‚Œã‚‹åˆ—\"%s\"ãŒå˜åœ¨ã—ã¾ã›ã‚“" -#: commands/tablecmds.c:11297 +#: commands/tablecmds.c:11303 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "システム列ã¯å¤–部ã‚ーã«ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:11301 +#: commands/tablecmds.c:11307 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "外部ã‚ーã§ã¯%dを超ãˆã‚‹ã‚ーをæŒã¤ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:11367 +#: commands/tablecmds.c:11373 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "被å‚照テーブル\"%s\"ã«ã¯é…延å¯èƒ½ãƒ—ライマリã‚ーã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:11384 +#: commands/tablecmds.c:11390 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "被å‚照テーブル\"%s\"ã«ã¯ãƒ—ライマリã‚ーãŒã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:11449 +#: commands/tablecmds.c:11459 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "外部ã‚ーã®è¢«å‚照列リストã«ã¯é‡è¤‡ãŒã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:11543 +#: commands/tablecmds.c:11553 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "被å‚照テーブル\"%s\"ã«å¯¾ã—ã¦ã¯ã€é…延å¯èƒ½ãªä¸€æ„性制約ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:11548 +#: commands/tablecmds.c:11558 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "被å‚照テーブル\"%s\"ã«ã€æŒ‡å®šã—ãŸã‚ーã«ä¸€è‡´ã™ã‚‹ä¸€æ„性制約ãŒã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:11989 +#: commands/tablecmds.c:12002 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"ã®ç¶™æ‰¿ã•ã‚ŒãŸåˆ¶ç´„\"%1$s\"を削除ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12039 +#: commands/tablecmds.c:12052 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "リレーション\"%2$s\"ã®åˆ¶ç´„\"%1$s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" -#: commands/tablecmds.c:12215 +#: commands/tablecmds.c:12228 #, c-format msgid "cannot alter column type of typed table" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã®åˆ—ã®åž‹ã‚’変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12242 +#: commands/tablecmds.c:12255 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "継承ã•ã‚Œã‚‹åˆ—\"%s\"を変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12251 +#: commands/tablecmds.c:12264 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "列\"%s\"ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã®ãƒ‘ーティションã‚ーã®ä¸€éƒ¨ã§ã‚ã‚‹ãŸã‚ã€å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12301 +#: commands/tablecmds.c:12314 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "列\"%s\"ã«å¯¾ã™ã‚‹USINGå¥ã®çµæžœã¯è‡ªå‹•çš„ã«%såž‹ã«åž‹å¤‰æ›ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12304 +#: commands/tablecmds.c:12317 #, c-format msgid "You might need to add an explicit cast." msgstr "å¿…è¦ã«å¿œã˜ã¦æ˜Žç¤ºçš„ãªåž‹å¤‰æ›ã‚’è¿½åŠ ã—ã¦ãã ã•ã„。" -#: commands/tablecmds.c:12308 +#: commands/tablecmds.c:12321 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "列\"%s\"ã¯åž‹%sã«ã¯è‡ªå‹•çš„ã«åž‹å¤‰æ›ã§ãã¾ã›ã‚“" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12311 +#: commands/tablecmds.c:12324 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "å¿…è¦ã«å¿œã˜ã¦\"USING %s::%s\"ã‚’è¿½åŠ ã—ã¦ãã ã•ã„。" -#: commands/tablecmds.c:12410 +#: commands/tablecmds.c:12423 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "リレーション\"%2$s\"ã®ç¶™æ‰¿åˆ—\"%1$s\"ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12438 +#: commands/tablecmds.c:12451 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "USINGå¼ãŒè¡Œå…¨ä½“テーブルå‚照をå«ã‚“ã§ã„ã¾ã™ã€‚" -#: commands/tablecmds.c:12449 +#: commands/tablecmds.c:12462 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "継承ã•ã‚Œã‚‹åˆ—\"%s\"ã®åž‹ã‚’åテーブルã§å¤‰æ›´ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:12574 +#: commands/tablecmds.c:12587 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "列\"%s\"ã®åž‹ã‚’2回変更ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12612 +#: commands/tablecmds.c:12625 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "カラム\"%s\"ã«å¯¾ã™ã‚‹ç”Ÿæˆå¼ã¯è‡ªå‹•çš„ã«%såž‹ã«ã‚ャストã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12617 +#: commands/tablecmds.c:12630 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "列\"%s\"ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’自動的ã«%såž‹ã«ã‚ャストã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12698 +#: commands/tablecmds.c:12711 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "ビューã¾ãŸã¯ãƒ«ãƒ¼ãƒ«ã§ä½¿ç”¨ã•ã‚Œã‚‹åˆ—ã®åž‹ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12699 commands/tablecmds.c:12718 commands/tablecmds.c:12736 +#: commands/tablecmds.c:12712 commands/tablecmds.c:12731 commands/tablecmds.c:12749 #, c-format msgid "%s depends on column \"%s\"" msgstr "%sã¯åˆ—\"%s\"ã«ä¾å˜ã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:12717 +#: commands/tablecmds.c:12730 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "トリガー定義ã§ä½¿ç”¨ã•ã‚Œã‚‹åˆ—ã®åž‹ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12735 +#: commands/tablecmds.c:12748 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "ãƒãƒªã‚·å®šç¾©ã§ä½¿ç”¨ã•ã‚Œã¦ã„る列ã®åž‹ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12766 +#: commands/tablecmds.c:12779 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "生æˆã‚«ãƒ©ãƒ ã§ä½¿ç”¨ã•ã‚Œã‚‹åˆ—ã®åž‹ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:12767 +#: commands/tablecmds.c:12780 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "カラム\"%s\"ã¯ç”Ÿæˆã‚«ãƒ©ãƒ \"%s\"ã§ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚" -#: commands/tablecmds.c:13844 commands/tablecmds.c:13856 +#: commands/tablecmds.c:13857 commands/tablecmds.c:13869 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "インデックス\"%s\"ã®æ‰€æœ‰è€…を変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:13846 commands/tablecmds.c:13858 +#: commands/tablecmds.c:13859 commands/tablecmds.c:13871 #, c-format msgid "Change the ownership of the index's table, instead." msgstr "代ã‚ã‚Šã«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®ãƒ†ãƒ¼ãƒ–ルã®æ‰€æœ‰è€…を変更ã—ã¦ãã ã•ã„" -#: commands/tablecmds.c:13872 +#: commands/tablecmds.c:13885 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "シーケンス\"%s\"ã®æ‰€æœ‰è€…を変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:13886 commands/tablecmds.c:17205 commands/tablecmds.c:17224 +#: commands/tablecmds.c:13899 commands/tablecmds.c:17213 commands/tablecmds.c:17232 #, c-format msgid "Use ALTER TYPE instead." msgstr "代ã‚ã‚Šã«ALTER TYPEを使用ã—ã¦ãã ã•ã„。" -#: commands/tablecmds.c:13895 +#: commands/tablecmds.c:13908 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "リレーション\"%s\"ã®æ‰€æœ‰è€…を変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14257 +#: commands/tablecmds.c:14270 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "SET TABLESPACEサブコマンドを複数指定ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14334 +#: commands/tablecmds.c:14347 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "リレーション\"%s\"ã®ã‚ªãƒ—ションã¯è¨å®šã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14368 commands/view.c:521 +#: commands/tablecmds.c:14381 commands/view.c:521 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTIONã¯è‡ªå‹•æ›´æ–°å¯èƒ½ãƒ“ューã§ã®ã¿ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã™" -#: commands/tablecmds.c:14618 +#: commands/tablecmds.c:14631 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "テーブルスペースã«ã¯ãƒ†ãƒ¼ãƒ–ルã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŠã‚ˆã³å®Ÿä½“化ビューã—ã‹ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:14630 +#: commands/tablecmds.c:14643 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "pg_globalテーブルスペースã¨ã®é–“ã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®ç§»å‹•ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14722 +#: commands/tablecmds.c:14735 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "リレーション\"%s.%s\"ã®ãƒãƒƒã‚¯ãŒç²å¾—ã§ããªã‹ã£ãŸãŸã‚ä¸æ–ã—ã¾ã™" -#: commands/tablecmds.c:14738 +#: commands/tablecmds.c:14751 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "テーブルスペース\"%s\"ã«ã¯åˆè‡´ã™ã‚‹ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¯ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: commands/tablecmds.c:14856 +#: commands/tablecmds.c:14869 #, c-format msgid "cannot change inheritance of typed table" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã®ç¶™æ‰¿ã‚’変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14861 commands/tablecmds.c:15417 +#: commands/tablecmds.c:14874 commands/tablecmds.c:15430 #, c-format msgid "cannot change inheritance of a partition" msgstr "パーティションã®ç¶™æ‰¿ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14866 +#: commands/tablecmds.c:14879 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "パーティションテーブルã®ç¶™æ‰¿ã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14912 +#: commands/tablecmds.c:14925 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "ä»–ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ä¸€æ™‚テーブルを継承ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14925 +#: commands/tablecmds.c:14938 #, c-format msgid "cannot inherit from a partition" msgstr "パーティションã‹ã‚‰ã®ç¶™æ‰¿ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14947 commands/tablecmds.c:17860 +#: commands/tablecmds.c:14960 commands/tablecmds.c:17868 #, c-format msgid "circular inheritance not allowed" msgstr "循環継承を行ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14948 commands/tablecmds.c:17861 +#: commands/tablecmds.c:14961 commands/tablecmds.c:17869 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\"ã¯ã™ã§ã«\"%s\"ã®åã§ã™" -#: commands/tablecmds.c:14961 +#: commands/tablecmds.c:14974 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "トリガ\"%s\"ã«ã‚ˆã£ã¦ãƒ†ãƒ¼ãƒ–ル\"%s\"ãŒç¶™æ‰¿åテーブルã«ãªã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:14963 +#: commands/tablecmds.c:14976 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "é·ç§»ãƒ†ãƒ¼ãƒ–ルを使用ã—ãŸROWトリガã¯ç¶™æ‰¿é–¢ä¿‚ã§ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。" -#: commands/tablecmds.c:15166 +#: commands/tablecmds.c:15179 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "åテーブルã®åˆ—\"%s\"ã¯NOT NULLã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:15175 +#: commands/tablecmds.c:15188 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "åテーブルã®åˆ—\"%s\"ã¯ç”Ÿæˆåˆ—ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:15225 +#: commands/tablecmds.c:15238 #, c-format msgid "column \"%s\" in child table has a conflicting generation expression" msgstr "åテーブルã®åˆ—\"%s\"ã«ã¯ç«¶åˆã™ã‚‹ç”Ÿæˆå¼ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:15253 +#: commands/tablecmds.c:15266 #, c-format msgid "child table is missing column \"%s\"" msgstr "åテーブルã«ã¯åˆ—\"%s\"ãŒã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:15341 +#: commands/tablecmds.c:15354 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "åテーブル\"%s\"ã§ã¯æ¤œæŸ»åˆ¶ç´„\"%s\"ã«ç•°ãªã£ãŸå®šç¾©ãŒã•ã‚Œã¦ã„ã¾ã™" -#: commands/tablecmds.c:15349 +#: commands/tablecmds.c:15362 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "制約\"%s\"ã¯åテーブル\"%s\"上ã®ç¶™æ‰¿ã•ã‚Œãªã„制約ã¨ç«¶åˆã—ã¾ã™" -#: commands/tablecmds.c:15360 +#: commands/tablecmds.c:15373 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "制約\"%s\"ã¯åテーブル\"%s\"ã®NOT VALID制約ã¨è¡çªã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:15395 +#: commands/tablecmds.c:15408 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "åテーブルã«ã¯åˆ¶ç´„\"%s\"ãŒã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:15481 +#: commands/tablecmds.c:15494 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "パーティション\"%s\"ã¯ã™ã§ã«ãƒ‘ーティションテーブル\"%s.%s\"ã‹ã‚‰ã®å–り外ã—ä¿ç•™ä¸ã§ã™" -#: commands/tablecmds.c:15510 commands/tablecmds.c:15558 +#: commands/tablecmds.c:15523 commands/tablecmds.c:15571 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "リレーション\"%s\"ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã®ãƒ‘ーティションåテーブルã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:15564 +#: commands/tablecmds.c:15577 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "リレーション\"%s\"ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã®è¦ªã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:15792 +#: commands/tablecmds.c:15805 #, c-format msgid "typed tables cannot inherit" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã¯ç¶™æ‰¿ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:15822 +#: commands/tablecmds.c:15835 #, c-format msgid "table is missing column \"%s\"" msgstr "テーブルã«ã¯åˆ—\"%s\"ãŒã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:15833 +#: commands/tablecmds.c:15846 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "テーブルã«ã¯åˆ—\"%s\"ãŒã‚ã‚Šã¾ã™ãŒåž‹ã¯\"%s\"ã‚’å¿…è¦ã¨ã—ã¦ã„ã¾ã™" -#: commands/tablecmds.c:15842 +#: commands/tablecmds.c:15855 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "テーブル\"%s\"ã§ã¯åˆ—\"%s\"ã®åž‹ãŒç•°ãªã£ã¦ã„ã¾ã™" -#: commands/tablecmds.c:15856 +#: commands/tablecmds.c:15869 #, c-format msgid "table has extra column \"%s\"" msgstr "テーブルã«ä½™åˆ†ãªåˆ—\"%s\"ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:15908 +#: commands/tablecmds.c:15921 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\"ã¯åž‹ä»˜ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:16082 +#: commands/tablecmds.c:16095 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "éžãƒ¦ãƒ‹ãƒ¼ã‚¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\"%s\"ã¯è¤‡è£½è˜åˆ¥ã¨ã—ã¦ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16088 +#: commands/tablecmds.c:16101 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "一æ„性をå³æ™‚検査ã—ãªã„インデックス\"%s\"ã¯è¤‡è£½è˜åˆ¥ã«ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16094 +#: commands/tablecmds.c:16107 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "å¼ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\"%s\"ã¯è¤‡è£½è˜åˆ¥ã¨ã—ã¦ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16100 +#: commands/tablecmds.c:16113 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "部分インデックス\"%s\"を複製è˜åˆ¥ã¨ã—ã¦ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16117 +#: commands/tablecmds.c:16130 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "列%2$dã¯ã‚·ã‚¹ãƒ†ãƒ 列ã§ã‚ã‚‹ãŸã‚インデックス\"%1$s\"ã¯è¤‡è£½è˜åˆ¥ã«ã¯ä½¿ãˆã¾ã›ã‚“" -#: commands/tablecmds.c:16124 +#: commands/tablecmds.c:16137 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "列\"%2$s\"ã¯nullå¯ã§ã‚ã‚‹ãŸã‚インデックス\"%1$s\"ã¯è¤‡è£½è˜åˆ¥ã«ã¯ä½¿ãˆã¾ã›ã‚“" -#: commands/tablecmds.c:16371 +#: commands/tablecmds.c:16384 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "テーブル\"%s\"ã¯ä¸€æ™‚テーブルã§ã‚ã‚‹ãŸã‚ã€ãƒã‚°å‡ºåŠ›è¨å®šã‚’変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16395 +#: commands/tablecmds.c:16408 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "テーブル\"%s\"ã¯ãƒ‘ブリケーションã®ä¸€éƒ¨ã§ã‚ã‚‹ãŸã‚ã€UNLOGGEDã«å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16397 +#: commands/tablecmds.c:16410 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "UNLOGGEDリレーションã¯ãƒ¬ãƒ—リケーションã§ãã¾ã›ã‚“。" -#: commands/tablecmds.c:16442 +#: commands/tablecmds.c:16455 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "テーブル\"%s\"ã¯UNLOGGEDテーブル\"%s\"ã‚’å‚ç…§ã—ã¦ã„ã‚‹ãŸã‚LOGGEDã«ã¯è¨å®šã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16452 +#: commands/tablecmds.c:16465 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "テーブル\"%s\"ã¯LOGGEDテーブル\"%s\"ã‚’å‚ç…§ã—ã¦ã„ã‚‹ãŸã‚UNLOGGEDã«ã¯è¨å®šã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16510 +#: commands/tablecmds.c:16523 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "所有ã™ã‚‹ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’ä»–ã®ã‚¹ã‚ーマã«ç§»å‹•ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:16617 +#: commands/tablecmds.c:16625 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "リレーション\"%s\"ã¯ã‚¹ã‚ーマ\"%s\"内ã«ã™ã§ã«å˜åœ¨ã—ã¾ã™" -#: commands/tablecmds.c:17038 +#: commands/tablecmds.c:17046 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ルや実体化ビューã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:17188 +#: commands/tablecmds.c:17196 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\"ã¯è¤‡åˆåž‹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: commands/tablecmds.c:17216 +#: commands/tablecmds.c:17224 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "インデックス\"%s\"ã®ã‚¹ã‚ーマを変更ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17218 commands/tablecmds.c:17230 +#: commands/tablecmds.c:17226 commands/tablecmds.c:17238 #, c-format msgid "Change the schema of the table instead." msgstr "代ã‚ã‚Šã«ã“ã®ãƒ†ãƒ¼ãƒ–ルã®ã‚¹ã‚ーマを変更ã—ã¦ãã ã•ã„。" -#: commands/tablecmds.c:17222 +#: commands/tablecmds.c:17230 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "複åˆåž‹%sã®ã‚¹ã‚ーマã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17228 +#: commands/tablecmds.c:17236 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "TOASTテーブル\"%s\"ã®ã‚¹ã‚ーマã¯å¤‰æ›´ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17265 +#: commands/tablecmds.c:17273 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "è˜åˆ¥ã§ããªã„パーティションストラテジ \"%s\"" -#: commands/tablecmds.c:17273 +#: commands/tablecmds.c:17281 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "\"list\"パーティションストラテジã¯2ã¤ä»¥ä¸Šã®åˆ—ã«å¯¾ã—ã¦ã¯ä½¿ãˆã¾ã›ã‚“" -#: commands/tablecmds.c:17339 +#: commands/tablecmds.c:17347 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "パーティションã‚ーã«æŒ‡å®šã•ã‚Œã¦ã„る列\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/tablecmds.c:17347 +#: commands/tablecmds.c:17355 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "パーティションã‚ーã§ã‚·ã‚¹ãƒ†ãƒ 列\"%s\"ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17358 commands/tablecmds.c:17448 +#: commands/tablecmds.c:17366 commands/tablecmds.c:17456 #, c-format msgid "cannot use generated column in partition key" msgstr "パーティションã‚ーã§ç”Ÿæˆã‚«ãƒ©ãƒ ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17359 commands/tablecmds.c:17449 commands/trigger.c:668 rewrite/rewriteHandler.c:929 rewrite/rewriteHandler.c:964 +#: commands/tablecmds.c:17367 commands/tablecmds.c:17457 commands/trigger.c:668 rewrite/rewriteHandler.c:929 rewrite/rewriteHandler.c:964 #, c-format msgid "Column \"%s\" is a generated column." msgstr "列\"%s\"ã¯ç”Ÿæˆã‚«ãƒ©ãƒ ã§ã™ã€‚" -#: commands/tablecmds.c:17431 +#: commands/tablecmds.c:17439 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "パーティションã‚ーå¼ã¯ã‚·ã‚¹ãƒ†ãƒ 列ã¸ã®å‚照をå«ã‚€ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17478 +#: commands/tablecmds.c:17486 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "パーティションã‚ーå¼ã§ä½¿ã‚れる関数ã¯IMMUTABLE指定ã•ã‚Œã¦ã„ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tablecmds.c:17487 +#: commands/tablecmds.c:17495 #, c-format msgid "cannot use constant expression as partition key" msgstr "定数å¼ã‚’パーティションã‚ーã¨ã—ã¦ä½¿ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17508 +#: commands/tablecmds.c:17516 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "パーティションå¼ã§ä½¿ç”¨ã™ã‚‹ç…§åˆé †åºã‚’特定ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: commands/tablecmds.c:17543 +#: commands/tablecmds.c:17551 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "ãƒãƒƒã‚·ãƒ¥æ¼”ç®—åクラスを指定ã™ã‚‹ã‹ã€ã‚‚ã—ãã¯ã“ã®ãƒ‡ãƒ¼ã‚¿åž‹ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ãƒãƒƒã‚·ãƒ¥æ¼”ç®—åクラスを定義ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" -#: commands/tablecmds.c:17549 +#: commands/tablecmds.c:17557 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "btree演算åクラスを指定ã™ã‚‹ã‹ã€ã‚‚ã—ãã¯ã“ã®ãƒ‡ãƒ¼ã‚¿åž‹ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®btree演算åクラスを定義ã™ã‚‹ã‹ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" -#: commands/tablecmds.c:17800 +#: commands/tablecmds.c:17808 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\"ã¯ã™ã§ãƒ‘ーティションã§ã™" -#: commands/tablecmds.c:17806 +#: commands/tablecmds.c:17814 #, c-format msgid "cannot attach a typed table as partition" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルをパーティションã«ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17822 +#: commands/tablecmds.c:17830 #, c-format msgid "cannot attach inheritance child as partition" msgstr "継承åテーブルをパーティションã«ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17836 +#: commands/tablecmds.c:17844 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "継承親テーブルをパーティションã«ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17870 +#: commands/tablecmds.c:17878 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "一時リレーションを永続リレーション \"%s\" ã®ãƒ‘ーティションåテーブルã¨ã—ã¦ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17878 +#: commands/tablecmds.c:17886 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "永続リレーションを一時リレーション\"%s\"ã®ãƒ‘ーティションåテーブルã¨ã—ã¦ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17886 +#: commands/tablecmds.c:17894 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "他セッションã®ä¸€æ™‚リレーションã®ãƒ‘ーティションåテーブルã¨ã—ã¦ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17893 +#: commands/tablecmds.c:17901 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "他セッションã®ä¸€æ™‚リレーションã«ãƒ‘ーティションåテーブルã¨ã—ã¦ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:17913 +#: commands/tablecmds.c:17921 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "テーブル\"%1$s\"ã¯è¦ªãƒ†ãƒ¼ãƒ–ル\"%3$s\"ã«ãªã„列\"%2$s\"ã‚’å«ã‚“ã§ã„ã¾ã™" -#: commands/tablecmds.c:17916 +#: commands/tablecmds.c:17924 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "æ–°ã—ã„パーティションã¯è¦ªã«å˜åœ¨ã™ã‚‹åˆ—ã®ã¿ã‚’å«ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚" -#: commands/tablecmds.c:17928 +#: commands/tablecmds.c:17936 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "トリガ\"%s\"ã®ãŸã‚ã€ãƒ†ãƒ¼ãƒ–ル\"%s\"ã¯ãƒ‘ーティションåテーブルã«ã¯ãªã‚Œã¾ã›ã‚“" -#: commands/tablecmds.c:17930 +#: commands/tablecmds.c:17938 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "é·ç§»ãƒ†ãƒ¼ãƒ–ルを使用ã™ã‚‹ROWトリガã¯ãƒ‘ーティションã§ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“。" -#: commands/tablecmds.c:18109 +#: commands/tablecmds.c:18117 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "外部テーブル\"%s\"ã¯ãƒ‘ーティションテーブル\"%s\"ã®åテーブルã¨ã—ã¦ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:18112 +#: commands/tablecmds.c:18120 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "パーティション親テーブル\"%s\"ã¯ãƒ¦ãƒ‹ãƒ¼ã‚¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’æŒã£ã¦ã„ã¾ã™ã€‚" -#: commands/tablecmds.c:18427 +#: commands/tablecmds.c:18435 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "デフォルトパーティションをæŒã¤ãƒ‘ーティションã¯ä¸¦åˆ—çš„ã«å–り外ã—ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:18536 +#: commands/tablecmds.c:18544 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "パーティション親テーブル\"%s\"ã«ã¯ CREATE INDEX CONCURRENTLY ã¯å®Ÿè¡Œã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:18542 +#: commands/tablecmds.c:18550 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "パーティションåテーブル\\\"%s\\\"ã¯åŒæ™‚ã«å‰Šé™¤ã•ã‚Œã¾ã—ãŸ" -#: commands/tablecmds.c:19057 commands/tablecmds.c:19077 commands/tablecmds.c:19097 commands/tablecmds.c:19116 commands/tablecmds.c:19158 +#: commands/tablecmds.c:19065 commands/tablecmds.c:19085 commands/tablecmds.c:19105 commands/tablecmds.c:19124 commands/tablecmds.c:19166 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "インデックス\"%s\"をインデックス\"%s\"ã®åインデックスã¨ã—ã¦ã‚¢ã‚¿ãƒƒãƒã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: commands/tablecmds.c:19060 +#: commands/tablecmds.c:19068 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "インデックス\"%s\"ã¯ã™ã§ã«åˆ¥ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«ã‚¢ã‚¿ãƒƒãƒã•ã‚Œã¦ã„ã¾ã™ã€‚" -#: commands/tablecmds.c:19080 +#: commands/tablecmds.c:19088 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "インデックス\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã®ã©ã®åテーブルã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。" -#: commands/tablecmds.c:19100 +#: commands/tablecmds.c:19108 #, c-format msgid "The index definitions do not match." msgstr "インデックス定義ãŒåˆè‡´ã—ã¾ã›ã‚“。" -#: commands/tablecmds.c:19119 +#: commands/tablecmds.c:19127 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "インデックス\"%s\"ã¯ãƒ†ãƒ¼ãƒ–ル\"%s\"ã®åˆ¶ç´„ã«å±žã—ã¦ã„ã¾ã™ãŒã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\"%s\"ã«ã¯åˆ¶ç´„ãŒã‚ã‚Šã¾ã›ã‚“。" -#: commands/tablecmds.c:19161 +#: commands/tablecmds.c:19169 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "åテーブル\"%s\"ã«ã¯ã™ã§ã«ä»–ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ãŒã‚¢ã‚¿ãƒƒãƒã•ã‚Œã¦ã„ã¾ã™ã€‚" -#: commands/tablecmds.c:19398 +#: commands/tablecmds.c:19406 #, c-format msgid "column data type %s does not support compression" msgstr "列データ型%sã¯åœ§ç¸®ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“" -#: commands/tablecmds.c:19405 +#: commands/tablecmds.c:19413 #, c-format msgid "invalid compression method \"%s\"" msgstr "無効ãªåœ§ç¸®æ–¹å¼\"%s\"" @@ -11204,7 +11209,7 @@ msgstr "トリガ\"%s\"ã®å®Ÿè¡Œå‰ã«ã¯ã€ã“ã®è¡Œã¯ãƒ‘ーティション\"% msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "更新対象ã®ã‚¿ãƒ—ルã¯ã™ã§ã«ç¾åœ¨ã®ã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã£ã¦ç™ºè¡Œã•ã‚ŒãŸæ“作ã«ã‚ˆã£ã¦å¤‰æ›´ã•ã‚Œã¦ã„ã¾ã™" -#: commands/trigger.c:3442 executor/nodeModifyTable.c:1514 executor/nodeModifyTable.c:1588 executor/nodeModifyTable.c:2351 executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:3079 +#: commands/trigger.c:3442 executor/nodeModifyTable.c:1514 executor/nodeModifyTable.c:1588 executor/nodeModifyTable.c:2351 executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:2971 executor/nodeModifyTable.c:3098 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "ä»–ã®è¡Œã¸ã®å¤‰æ›´ã‚’ä¼æ¬ã•ã›ã‚‹ãŸã‚ã«BEFOREトリガã§ã¯ãªãAFTERトリガã®ä½¿ç”¨ã‚’検討ã—ã¦ãã ã•ã„" @@ -11214,7 +11219,7 @@ msgstr "ä»–ã®è¡Œã¸ã®å¤‰æ›´ã‚’ä¼æ¬ã•ã›ã‚‹ãŸã‚ã«BEFOREトリガã§ã¯ãª msgid "could not serialize access due to concurrent update" msgstr "æ›´æ–°ãŒåŒæ™‚ã«è¡Œã‚ã‚ŒãŸãŸã‚アクセスã®ç›´åˆ—化ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: commands/trigger.c:3491 executor/nodeModifyTable.c:1620 executor/nodeModifyTable.c:2451 executor/nodeModifyTable.c:2600 executor/nodeModifyTable.c:2967 +#: commands/trigger.c:3491 executor/nodeModifyTable.c:1620 executor/nodeModifyTable.c:2451 executor/nodeModifyTable.c:2600 executor/nodeModifyTable.c:2989 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "削除ãŒåŒæ™‚ã«è¡Œã‚ã‚ŒãŸãŸã‚アクセスã®ç›´åˆ—化ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ" @@ -11234,97 +11239,97 @@ msgstr "制約\"%s\"ã¯é…延å¯èƒ½ã§ã¯ã‚ã‚Šã¾ã›ã‚“" msgid "constraint \"%s\" does not exist" msgstr "制約\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635 +#: commands/tsearchcmds.c:124 commands/tsearchcmds.c:641 #, c-format msgid "function %s should return type %s" msgstr "関数%sã¯åž‹%sã‚’è¿”ã™ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: commands/tsearchcmds.c:194 +#: commands/tsearchcmds.c:200 #, c-format msgid "must be superuser to create text search parsers" msgstr "テã‚スト検索パーサを生æˆã™ã‚‹ã«ã¯ã‚¹ãƒ¼ãƒ‘ーユーザーã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tsearchcmds.c:247 +#: commands/tsearchcmds.c:253 #, c-format msgid "text search parser parameter \"%s\" not recognized" msgstr "テã‚スト検索パーサ\"%s\"ã¯ä¸æ˜Žã§ã™" -#: commands/tsearchcmds.c:257 +#: commands/tsearchcmds.c:263 #, c-format msgid "text search parser start method is required" msgstr "テã‚スト検索パーサã®é–‹å§‹ãƒ¡ã‚½ãƒƒãƒ‰ãŒå¿…è¦ã§ã™" -#: commands/tsearchcmds.c:262 +#: commands/tsearchcmds.c:268 #, c-format msgid "text search parser gettoken method is required" msgstr "テã‚スト検索パーサã®gettokenメソッドãŒå¿…è¦ã§ã™" -#: commands/tsearchcmds.c:267 +#: commands/tsearchcmds.c:273 #, c-format msgid "text search parser end method is required" msgstr "テã‚スト検索パーサã®çµ‚了メソッドãŒå¿…è¦ã§ã™" -#: commands/tsearchcmds.c:272 +#: commands/tsearchcmds.c:278 #, c-format msgid "text search parser lextypes method is required" msgstr "テã‚スト検索パーサã®lextypesメソッドãŒå¿…è¦ã§ã™" -#: commands/tsearchcmds.c:366 +#: commands/tsearchcmds.c:372 #, c-format msgid "text search template \"%s\" does not accept options" msgstr "テã‚スト検索テンプレート\"%s\"ã¯ã‚ªãƒ—ションをå—ã‘付ã‘ã¾ã›ã‚“" -#: commands/tsearchcmds.c:440 +#: commands/tsearchcmds.c:446 #, c-format msgid "text search template is required" msgstr "テã‚スト検索テンプレートãŒå¿…è¦ã§ã™" -#: commands/tsearchcmds.c:701 +#: commands/tsearchcmds.c:707 #, c-format msgid "must be superuser to create text search templates" msgstr "テã‚スト検索テンプレートを生æˆã™ã‚‹ã«ã¯ã‚¹ãƒ¼ãƒ‘ーユーザーã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: commands/tsearchcmds.c:743 +#: commands/tsearchcmds.c:749 #, c-format msgid "text search template parameter \"%s\" not recognized" msgstr "テã‚スト検索テンプレートã®ãƒ‘ラメータ\"%sã¯ä¸æ˜Žã§ã™ã€‚" -#: commands/tsearchcmds.c:753 +#: commands/tsearchcmds.c:759 #, c-format msgid "text search template lexize method is required" msgstr "テã‚スト検索テンプレートã®lexizeメソッドãŒå¿…è¦ã§ã™" -#: commands/tsearchcmds.c:933 +#: commands/tsearchcmds.c:939 #, c-format msgid "text search configuration parameter \"%s\" not recognized" msgstr "テã‚スト検索è¨å®šã®ãƒ‘ラメータ\"%s\"ã¯ä¸æ˜Žã§ã™" -#: commands/tsearchcmds.c:940 +#: commands/tsearchcmds.c:946 #, c-format msgid "cannot specify both PARSER and COPY options" msgstr "PARSERã¨COPYオプションをã¾ã¨ã‚ã¦æŒ‡å®šã§ãã¾ã›ã‚“" -#: commands/tsearchcmds.c:976 +#: commands/tsearchcmds.c:982 #, c-format msgid "text search parser is required" msgstr "テã‚スト検索パーサãŒå¿…è¦ã§ã™" -#: commands/tsearchcmds.c:1200 +#: commands/tsearchcmds.c:1236 #, c-format msgid "token type \"%s\" does not exist" msgstr "トークン型\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/tsearchcmds.c:1427 +#: commands/tsearchcmds.c:1464 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "トークン型\"%s\"ã«å¯¾ã™ã‚‹ãƒžãƒƒãƒ—ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: commands/tsearchcmds.c:1433 +#: commands/tsearchcmds.c:1470 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "トークン型\"%s\"ã«å¯¾ã™ã‚‹ãƒžãƒƒãƒ—ã¯å˜åœ¨ã—ã¾ã›ã‚“ã€ã‚¹ã‚ップã—ã¾ã™" -#: commands/tsearchcmds.c:1596 commands/tsearchcmds.c:1711 +#: commands/tsearchcmds.c:1631 commands/tsearchcmds.c:1746 #, c-format msgid "invalid parameter list format: \"%s\"" msgstr "ä¸æ£ãƒ‘ラメータリストã®æ›¸å¼ã§ã™: \"%s\"" @@ -12276,7 +12281,7 @@ msgid "cannot pass more than %d argument to a function" msgid_plural "cannot pass more than %d arguments to a function" msgstr[0] "関数ã«%dを超ãˆã‚‹å¼•æ•°ã‚’渡ã›ã¾ã›ã‚“" -#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1073 utils/adt/jsonfuncs.c:3699 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 +#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1074 utils/adt/jsonfuncs.c:3699 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 #, c-format msgid "set-valued function called in context that cannot accept a set" msgstr "ã“ã®ã‚³ãƒ³ãƒ†ã‚ストã§é›†åˆå€¤ã®é–¢æ•°ã¯é›†åˆã‚’å—ã‘付ã‘られã¾ã›ã‚“" @@ -12306,7 +12311,7 @@ msgstr "åž‹%2$sã®å±žæ€§%1$dã®åž‹ãŒé–“é•ã£ã¦ã„ã¾ã™" msgid "Table has type %s, but query expects %s." msgstr "テーブルã®åž‹ã¯%sã§ã™ãŒã€å•ã„åˆã‚ã›ã§ã¯%sを想定ã—ã¦ã„ã¾ã™ã€‚" -#: executor/execExprInterp.c:2006 utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 utils/fmgr/funcapi.c:570 +#: executor/execExprInterp.c:2006 utils/adt/expandedrecord.c:99 utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 utils/fmgr/funcapi.c:578 #, c-format msgid "type %s is not composite" msgstr "åž‹%sã¯è¤‡åˆåž‹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" @@ -12721,57 +12726,57 @@ msgstr "SQL関数ã§ã¯%sã¯ä½¿ç”¨ä¸å¯ã§ã™" msgid "%s is not allowed in a non-volatile function" msgstr "volatile関数以外ã§ã¯%sã¯è¨±å¯ã•ã‚Œã¾ã›ã‚“" -#: executor/functions.c:1457 +#: executor/functions.c:1458 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL関数\"%s\"ã®è¡Œç•ªå· %d" -#: executor/functions.c:1483 +#: executor/functions.c:1484 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL関数\"%s\"ã®èµ·å‹•ä¸" -#: executor/functions.c:1568 +#: executor/functions.c:1569 #, c-format msgid "calling procedures with output arguments is not supported in SQL functions" msgstr "出力引数をæŒã¤ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã®å‘¼ã³å‡ºã—ã¯SQL関数ã§ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: executor/functions.c:1701 executor/functions.c:1739 executor/functions.c:1753 executor/functions.c:1843 executor/functions.c:1876 executor/functions.c:1890 +#: executor/functions.c:1717 executor/functions.c:1755 executor/functions.c:1769 executor/functions.c:1864 executor/functions.c:1897 executor/functions.c:1911 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "%sã‚’è¿”ã™ã¨å®£è¨€ã•ã‚ŒãŸé–¢æ•°ã«ãŠã„ã¦æˆ»ã‚Šå€¤åž‹ãŒä¸€è‡´ã—ã¾ã›ã‚“" -#: executor/functions.c:1703 +#: executor/functions.c:1719 #, c-format msgid "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." msgstr "関数ã®æœ€å¾Œã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã¯ SELECT ã‚‚ã—ã㯠INSERT/UPDATE/DELETE RETURNING ã®ã„ãšã‚Œã‹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: executor/functions.c:1741 +#: executor/functions.c:1757 #, c-format msgid "Final statement must return exactly one column." msgstr "最後ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã¯ã¡ã‚‡ã†ã©1列を返ã•ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。" -#: executor/functions.c:1755 +#: executor/functions.c:1771 #, c-format msgid "Actual return type is %s." msgstr "実際ã®æˆ»ã‚Šå€¤åž‹ã¯%sã§ã™ã€‚" -#: executor/functions.c:1845 +#: executor/functions.c:1866 #, c-format msgid "Final statement returns too many columns." msgstr "最後ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆãŒè¿”ã™åˆ—ãŒå¤šã™ãŽã¾ã™ã€‚" -#: executor/functions.c:1878 +#: executor/functions.c:1899 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "最後ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆãŒåˆ—%3$dã§%2$sã§ã¯ãªã%1$sã‚’è¿”ã—ã¾ã—ãŸã€‚" -#: executor/functions.c:1892 +#: executor/functions.c:1913 #, c-format msgid "Final statement returns too few columns." msgstr "最後ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆãŒè¿”ã™åˆ—ãŒå°‘ãªã™ãŽã¾ã™ã€‚" -#: executor/functions.c:1920 +#: executor/functions.c:1941 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "戻り値型%sã¯SQL関数ã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" @@ -12862,7 +12867,7 @@ msgid "Consider defining the foreign key on table \"%s\"." msgstr "テーブル\"%s\"上ã«å¤–部ã‚ー制約を定義ã™ã‚‹ã“ã¨ã‚’検討ã—ã¦ãã ã•ã„。" #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2956 +#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2977 executor/nodeModifyTable.c:3104 #, c-format msgid "%s command cannot affect row a second time" msgstr "%sコマンドã¯å˜ä¸€ã®è¡Œã«2度ã¯é©ç”¨ã§ãã¾ã›ã‚“" @@ -12872,21 +12877,21 @@ msgstr "%sコマンドã¯å˜ä¸€ã®è¡Œã«2度ã¯é©ç”¨ã§ãã¾ã›ã‚“" msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "åŒã˜ã‚³ãƒžãƒ³ãƒ‰ã§ã®æŒ¿å…¥å€™è£œã®è¡ŒãŒåŒã˜åˆ¶ç´„値をæŒã¤ã“ã¨ãŒãªã„よã†ã«ã—ã¦ãã ã•ã„" -#: executor/nodeModifyTable.c:2958 +#: executor/nodeModifyTable.c:2970 executor/nodeModifyTable.c:3097 +#, c-format +msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" +msgstr "æ›´æ–°ã¾ãŸã¯å‰Šé™¤å¯¾è±¡ã®ã‚¿ãƒ—ルã¯ã€ç¾åœ¨ã®ã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã£ã¦ç™ºç«ã—ãŸæ“作トリガーã«ã‚ˆã£ã¦ã™ã§ã«æ›´æ–°ã•ã‚Œã¦ã„ã¾ã™" + +#: executor/nodeModifyTable.c:2979 executor/nodeModifyTable.c:3106 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "ソース行ãŒ2行以上ターゲット行ã«åˆè‡´ã—ãªã„よã†ã«ã—ã¦ãã ã•ã„。" -#: executor/nodeModifyTable.c:3039 +#: executor/nodeModifyTable.c:3061 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "削除対象ã®ã‚¿ãƒ—ルã¯åŒæ™‚ã«è¡Œã‚ã‚ŒãŸæ›´æ–°ã«ã‚ˆã£ã¦ã™ã§ã«ä»–ã®åテーブルã«ç§»å‹•ã•ã‚Œã¦ã„ã¾ã™" -#: executor/nodeModifyTable.c:3078 -#, c-format -msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" -msgstr "æ›´æ–°ã¾ãŸã¯å‰Šé™¤å¯¾è±¡ã®ã‚¿ãƒ—ルã¯ã€ç¾åœ¨ã®ã‚³ãƒžãƒ³ãƒ‰ã«ã‚ˆã£ã¦ç™ºç«ã—ãŸæ“作トリガーã«ã‚ˆã£ã¦ã™ã§ã«æ›´æ–°ã•ã‚Œã¦ã„ã¾ã™" - #: executor/nodeSamplescan.c:260 #, c-format msgid "TABLESAMPLE parameter cannot be null" @@ -13003,7 +13008,7 @@ msgstr "カーソルã§%så•ã„åˆã‚ã›ã‚’é–‹ãã“ã¨ãŒã§ãã¾ã›ã‚“" msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHAREã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: executor/spi.c:1717 parser/analyze.c:2899 +#: executor/spi.c:1717 parser/analyze.c:2910 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "スクãƒãƒ¼ãƒ«å¯èƒ½ã‚«ãƒ¼ã‚½ãƒ«ã¯èªã¿å–り専用ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" @@ -13178,7 +13183,7 @@ msgstr "CREATE OR REPLACE CONSTRAINT TRIGGERã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“" msgid "duplicate trigger events specified" msgstr "é‡è¤‡ã—ãŸãƒˆãƒªã‚¬ãƒ¼ã‚¤ãƒ™ãƒ³ãƒˆãŒæŒ‡å®šã•ã‚Œã¾ã—ãŸ" -#: gram.y:5937 parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 +#: gram.y:5937 parser/parse_utilcmd.c:3726 parser/parse_utilcmd.c:3752 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "INITIALLY DEFERREDã¨å®£è¨€ã•ã‚ŒãŸåˆ¶ç´„ã¯DEFERRABLEã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" @@ -14605,22 +14610,22 @@ msgstr "ECDH: ã‚ーを生æˆã§ãã¾ã›ã‚“ã§ã—ãŸ" msgid "no SSL error reported" msgstr "SSLエラーã¯ã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: libpq/be-secure-openssl.c:1259 +#: libpq/be-secure-openssl.c:1272 #, c-format msgid "SSL error code %lu" msgstr "SSLエラーコード: %lu" -#: libpq/be-secure-openssl.c:1418 +#: libpq/be-secure-openssl.c:1431 #, c-format msgid "could not create BIO" msgstr "BIOを作æˆã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: libpq/be-secure-openssl.c:1428 +#: libpq/be-secure-openssl.c:1441 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "ASN1_OBJECTオブジェクトã®NIDã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: libpq/be-secure-openssl.c:1436 +#: libpq/be-secure-openssl.c:1449 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "NID %dã‚’ASN1_OBJECTæ§‹é€ ä½“ã¸å¤‰æ›ã§ãã¾ã›ã‚“ã§ã—ãŸ" @@ -15021,164 +15026,164 @@ msgstr "\"%3$s\"ã¨ã—ã¦èªè¨¼ã•ã‚ŒãŸãƒ¦ãƒ¼ã‚¶ãƒ¼\"%2$s\"ã¯ãƒ¦ãƒ¼ã‚¶ãƒ¼ãƒžãƒ msgid "could not open usermap file \"%s\": %m" msgstr "ユーザーマップファイル\"%s\"をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: libpq/pqcomm.c:204 +#: libpq/pqcomm.c:200 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "ソケットをéžãƒ–ãƒãƒƒã‚ングモードã«è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: libpq/pqcomm.c:362 +#: libpq/pqcomm.c:358 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "Unixドメインソケットã®ãƒ‘ス\"%s\"ãŒé•·ã™ãŽã¾ã™(最大 %d ãƒã‚¤ãƒˆ)" -#: libpq/pqcomm.c:383 +#: libpq/pqcomm.c:379 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "ホストå\"%s\"ã€ã‚µãƒ¼ãƒ“ス\"%s\"をアドレスã«å¤‰æ›ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" -#: libpq/pqcomm.c:387 +#: libpq/pqcomm.c:383 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "サービス\"%s\"をアドレスã«å¤‰æ›ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s" -#: libpq/pqcomm.c:414 +#: libpq/pqcomm.c:410 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "è¦æ±‚ã•ã‚ŒãŸã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’å…¨ã¦ãƒã‚¤ãƒ³ãƒ‰ã§ãã¾ã›ã‚“ã§ã—ãŸ: MAXLISTEN (%d)を超ãˆã¦ã„ã¾ã™" -#: libpq/pqcomm.c:423 +#: libpq/pqcomm.c:419 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:423 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:432 +#: libpq/pqcomm.c:428 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:437 +#: libpq/pqcomm.c:433 #, c-format msgid "unrecognized address family %d" msgstr "アドレスファミリ %d ã‚’èªè˜ã§ãã¾ã›ã‚“" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:463 +#: libpq/pqcomm.c:459 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "アドレス\"%s\"ã«å¯¾ã™ã‚‹%sソケットã®ä½œæˆã«å¤±æ•—ã—ã¾ã—ãŸ: %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:489 libpq/pqcomm.c:507 +#: libpq/pqcomm.c:485 libpq/pqcomm.c:503 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "%3$sアドレス%4$sã«å¯¾ã™ã‚‹%1$s(%2$s)ãŒå¤±æ•—ã—ã¾ã—ãŸ: %5$m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:530 +#: libpq/pqcomm.c:526 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "%sアドレス\"%s\"ã®bindã«å¤±æ•—ã—ã¾ã—ãŸ: %m" -#: libpq/pqcomm.c:534 +#: libpq/pqcomm.c:530 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "ã™ã§ã«ä»–ã®postmasterãŒãƒãƒ¼ãƒˆ%dã§ç¨¼å‹•ã—ã¦ã„ã¾ã›ã‚“ã‹?" -#: libpq/pqcomm.c:536 +#: libpq/pqcomm.c:532 #, c-format msgid "Is another postmaster already running on port %d? If not, wait a few seconds and retry." msgstr "ã™ã§ã«ä»–ã«postmasterãŒãƒãƒ¼ãƒˆ%dã§ç¨¼å‹•ã—ã¦ã„ã¾ã›ã‚“ã‹? 稼動ã—ã¦ã„ãªã‘ã‚Œã°æ•°ç§’å¾…ã£ã¦ã‹ã‚‰å†è©¦è¡Œã—ã¦ãã ã•ã„。" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:569 +#: libpq/pqcomm.c:565 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "%sアドレス\"%s\"ã®listenã«å¤±æ•—ã—ã¾ã—ãŸ: %m" -#: libpq/pqcomm.c:578 +#: libpq/pqcomm.c:574 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "Unixソケット\"%s\"ã§å¾…ã¡å—ã‘ã¦ã„ã¾ã™" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:584 +#: libpq/pqcomm.c:580 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "%sアドレス\"%s\"ã€ãƒãƒ¼ãƒˆ%dã§å¾…ã¡å—ã‘ã¦ã„ã¾ã™" -#: libpq/pqcomm.c:675 +#: libpq/pqcomm.c:671 #, c-format msgid "group \"%s\" does not exist" msgstr "グループ\"%s\"ã¯å˜åœ¨ã—ã¾ã›ã‚“" -#: libpq/pqcomm.c:685 +#: libpq/pqcomm.c:681 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "ファイル\"%s\"ã®ã‚°ãƒ«ãƒ¼ãƒ—ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: libpq/pqcomm.c:696 +#: libpq/pqcomm.c:692 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "ファイル\"%s\"ã®æ¨©é™ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: libpq/pqcomm.c:726 +#: libpq/pqcomm.c:722 #, c-format msgid "could not accept new connection: %m" msgstr "æ–°ã—ã„接続をå—ã‘付ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: libpq/pqcomm.c:766 libpq/pqcomm.c:775 libpq/pqcomm.c:807 libpq/pqcomm.c:817 libpq/pqcomm.c:1652 libpq/pqcomm.c:1697 libpq/pqcomm.c:1737 libpq/pqcomm.c:1781 libpq/pqcomm.c:1820 libpq/pqcomm.c:1859 libpq/pqcomm.c:1895 libpq/pqcomm.c:1934 +#: libpq/pqcomm.c:762 libpq/pqcomm.c:771 libpq/pqcomm.c:803 libpq/pqcomm.c:813 libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 #, c-format msgid "%s(%s) failed: %m" msgstr "%s(%s)ãŒå¤±æ•—ã—ã¾ã—ãŸ: %m" -#: libpq/pqcomm.c:921 +#: libpq/pqcomm.c:917 #, c-format msgid "there is no client connection" msgstr "クライアント接続ãŒã‚ã‚Šã¾ã›ã‚“" -#: libpq/pqcomm.c:977 libpq/pqcomm.c:1078 +#: libpq/pqcomm.c:973 libpq/pqcomm.c:1074 #, c-format msgid "could not receive data from client: %m" msgstr "クライアントã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’å—ä¿¡ã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: libpq/pqcomm.c:1183 tcop/postgres.c:4373 +#: libpq/pqcomm.c:1179 tcop/postgres.c:4373 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "プãƒãƒˆã‚³ãƒ«ã®åŒæœŸãŒå¤±ã‚ã‚ŒãŸãŸã‚コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’終了ã—ã¾ã™" -#: libpq/pqcomm.c:1249 +#: libpq/pqcomm.c:1245 #, c-format msgid "unexpected EOF within message length word" msgstr "メッセージ長ワード内ã®EOFã¯æƒ³å®šå¤–ã§ã™" -#: libpq/pqcomm.c:1259 +#: libpq/pqcomm.c:1255 #, c-format msgid "invalid message length" msgstr "メッセージ長ãŒä¸æ£ã§ã™" -#: libpq/pqcomm.c:1281 libpq/pqcomm.c:1294 +#: libpq/pqcomm.c:1277 libpq/pqcomm.c:1290 #, c-format msgid "incomplete message from client" msgstr "クライアントã‹ã‚‰ã®ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ãŒä¸å®Œå…¨ã§ã™" -#: libpq/pqcomm.c:1405 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "クライアントã«ãƒ‡ãƒ¼ã‚¿ã‚’é€ä¿¡ã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: libpq/pqcomm.c:1620 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "%s(%s)ãŒå¤±æ•—ã—ã¾ã—ãŸ: エラーコード %d" -#: libpq/pqcomm.c:1709 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "ã‚ープアライブã®ã‚¢ã‚¤ãƒ‰ãƒ«æ™‚é–“ã®è¨å®šã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: libpq/pqcomm.c:1793 libpq/pqcomm.c:1868 libpq/pqcomm.c:1943 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s)ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" @@ -15507,7 +15512,7 @@ msgstr "ExtensibleNodeMethods \"%s\"ã¯ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã›ã‚“" msgid "relation \"%s\" does not have a composite type" msgstr "リレーション\"%s\"ã¯è¤‡åˆåž‹ã‚’æŒã£ã¦ã„ã¾ã›ã‚“" -#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567 parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883 utils/fmgr/funcapi.c:670 +#: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567 parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883 utils/fmgr/funcapi.c:678 #, c-format msgid "could not find array type for data type %s" msgstr "データ型%sã®é…列型ãŒã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ" @@ -15527,7 +15532,7 @@ msgstr "パラメータをæŒã¤ç„¡åãƒãƒ¼ã‚¿ãƒ«: %s" msgid "FULL JOIN is only supported with merge-joinable or hash-joinable join conditions" msgstr "FULL JOIN ã¯ãƒžãƒ¼ã‚¸çµåˆå¯èƒ½ã‚‚ã—ãã¯ãƒãƒƒã‚·ãƒ¥çµåˆå¯èƒ½ãªå ´åˆã®ã¿ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™" -#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:182 parser/parse_merge.c:189 +#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:187 parser/parse_merge.c:194 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "リレーション\"%s\"ã«å¯¾ã—ã¦MERGEã¯å®Ÿè¡Œã§ãã¾ã›ã‚“" @@ -15539,7 +15544,7 @@ msgid "%s cannot be applied to the nullable side of an outer join" msgstr "外部çµåˆã®NULLå¯ãªå´ã§ã¯%sã‚’é©ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1344 parser/analyze.c:1752 parser/analyze.c:2008 parser/analyze.c:3190 +#: optimizer/plan/planner.c:1344 parser/analyze.c:1763 parser/analyze.c:2019 parser/analyze.c:3201 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "UNION/INTERSECT/EXCEPTã§ã¯%sを使用ã§ãã¾ã›ã‚“" @@ -15595,7 +15600,7 @@ msgstr "ã™ã¹ã¦ã®åˆ—ã®ãƒ‡ãƒ¼ã‚¿åž‹ã¯ãƒãƒƒã‚·ãƒ¥å¯èƒ½ã§ãªã‘ã‚Œã°ãªã‚Š msgid "could not implement %s" msgstr "%sを実行ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: optimizer/util/clauses.c:4843 +#: optimizer/util/clauses.c:4847 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "SQL関数\"%s\"ã®ã‚¤ãƒ³ãƒ©ã‚¤ãƒ³åŒ–処ç†ä¸" @@ -15630,7 +15635,7 @@ msgstr "ON CONFLICT DO UPDATEã§ã®æŽ’除制約ã®ä½¿ç”¨ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ msgid "there is no unique or exclusion constraint matching the ON CONFLICT specification" msgstr "ON CONFLICT 指定ã«åˆè‡´ã™ã‚‹ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã¾ãŸã¯æŽ’除制約ãŒã‚ã‚Šã¾ã›ã‚“" -#: parser/analyze.c:818 parser/analyze.c:1532 +#: parser/analyze.c:818 parser/analyze.c:1543 #, c-format msgid "VALUES lists must all be the same length" msgstr "VALUESリストã¯ã™ã¹ã¦åŒã˜é•·ã•ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" @@ -15650,196 +15655,196 @@ msgstr "INSERTã«å¼ã‚ˆã‚Šã‚‚多ãã®å¯¾è±¡åˆ—ãŒã‚ã‚Šã¾ã™" msgid "The insertion source is a row expression containing the same number of columns expected by the INSERT. Did you accidentally use extra parentheses?" msgstr "挿入ソースãŒINSERTãŒæœŸå¾…ã™ã‚‹ã®ã¨åŒã˜åˆ—æ•°ã‚’å«ã‚€è¡Œè¡¨ç¾ã«ãªã£ã¦ã„ã¾ã™ã€‚ã†ã£ã‹ã‚Šä½™è¨ˆãªã‚«ãƒƒã‚³ã‚’ã¤ã‘ãŸã‚Šã—ã¾ã›ã‚“ã§ã—ãŸã‹ï¼Ÿ" -#: parser/analyze.c:1340 parser/analyze.c:1725 +#: parser/analyze.c:1351 parser/analyze.c:1736 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "ã“ã“ã§ã¯SELECT ... INTOã¯è¨±å¯ã•ã‚Œã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1655 parser/analyze.c:3401 +#: parser/analyze.c:1666 parser/analyze.c:3412 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%sã‚’VALUESã«ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: parser/analyze.c:1891 +#: parser/analyze.c:1902 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "ä¸æ£ãªUNION/INTERSECT/EXCEPT ORDER BYå¥ã§ã™" -#: parser/analyze.c:1892 +#: parser/analyze.c:1903 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "å¼ã‚„関数ã§ã¯ãªãã€çµæžœåˆ—ã®åå‰ã®ã¿ãŒä½¿ç”¨ã§ãã¾ã™ã€‚" -#: parser/analyze.c:1893 +#: parser/analyze.c:1904 #, c-format msgid "Add the expression/function to every SELECT, or move the UNION into a FROM clause." msgstr "å¼/関数をã™ã¹ã¦ã®SELECTã«ã¤ã‘ã¦ãã ã•ã„。ã¾ãŸã¯ã“ã®UNIONã‚’FROMå¥ã«ç§»å‹•ã—ã¦ãã ã•ã„。" -#: parser/analyze.c:1998 +#: parser/analyze.c:2009 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTOã¯UNION/INTERSECT/EXCEPTã®æœ€åˆã®SELECTã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™" -#: parser/analyze.c:2070 +#: parser/analyze.c:2081 #, c-format msgid "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of same query level" msgstr "UNION/INTERSECT/EXCEPTã®è¦ç´ ã¨ãªã‚‹æ–‡ã§ã¯åŒä¸€å•ã„åˆã‚ã›ãƒ¬ãƒ™ãƒ«ã®ä»–ã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã‚’å‚ç…§ã§ãã¾ã›ã‚“" -#: parser/analyze.c:2157 +#: parser/analyze.c:2168 #, c-format msgid "each %s query must have the same number of columns" msgstr "ã™ã¹ã¦ã®%så•ã„åˆã‚ã›ã¯åŒã˜åˆ—æ•°ã‚’è¿”ã™å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: parser/analyze.c:2561 +#: parser/analyze.c:2572 #, c-format msgid "RETURNING must have at least one column" msgstr "RETURNINGã«ã¯å°‘ãªãã¨ã‚‚1ã¤ã®åˆ—ãŒå¿…è¦ã§ã™" -#: parser/analyze.c:2664 +#: parser/analyze.c:2675 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" msgstr[0] "代入元ãŒ%d個ã®åˆ—ã‚’è¿”ã—ã¾ã—ãŸ" -#: parser/analyze.c:2725 +#: parser/analyze.c:2736 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "変数\"%s\"ã¯åž‹%sã§ã™ãŒã€å¼ã¯åž‹%sã§ã—ãŸ" #. translator: %s is a SQL keyword -#: parser/analyze.c:2849 parser/analyze.c:2857 +#: parser/analyze.c:2860 parser/analyze.c:2868 #, c-format msgid "cannot specify both %s and %s" msgstr "%sã¨%sã®ä¸¡æ–¹ã‚’åŒæ™‚ã«ã¯æŒ‡å®šã§ãã¾ã›ã‚“" -#: parser/analyze.c:2877 +#: parser/analyze.c:2888 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR ã§ã¯ WITH ã«ãƒ‡ãƒ¼ã‚¿ã‚’変更ã™ã‚‹æ–‡ã‚’å«ã‚“ã§ã¯ãªã‚Šã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2885 +#: parser/analyze.c:2896 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %sã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/analyze.c:2888 +#: parser/analyze.c:2899 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "ä¿æŒå¯èƒ½ã‚«ãƒ¼ã‚½ãƒ«ã¯èªã¿å–り専用ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2896 +#: parser/analyze.c:2907 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %sã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2907 +#: parser/analyze.c:2918 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %sã¯ãŒä¸æ£ã§ã™" -#: parser/analyze.c:2910 +#: parser/analyze.c:2921 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "INSENSITIVEカーソルã¯èªã¿å–り専用ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚" -#: parser/analyze.c:2976 +#: parser/analyze.c:2987 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "実体化ビューã§ã¯WITHå¥ã«ãƒ‡ãƒ¼ã‚¿ã‚’変更ã™ã‚‹æ–‡ã‚’å«ã‚“ã§ã¯ãªã‚Šã¾ã›ã‚“" -#: parser/analyze.c:2986 +#: parser/analyze.c:2997 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "実体化ビューã§ã¯ä¸€æ™‚テーブルやビューを使用ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“" -#: parser/analyze.c:2996 +#: parser/analyze.c:3007 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "実体化ビューã¯å¢ƒç•Œãƒ‘ラメータを用ã„ã¦å®šç¾©ã—ã¦ã¯ãªã‚Šã¾ã›ã‚“" -#: parser/analyze.c:3008 +#: parser/analyze.c:3019 #, c-format msgid "materialized views cannot be unlogged" msgstr "実体化ビューをãƒã‚°éžå–å¾—ã«ã¯ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3197 +#: parser/analyze.c:3208 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "DISTINCTå¥ã§ã¯%sを使用ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3204 +#: parser/analyze.c:3215 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "GROUP BYå¥ã§%sを使用ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3211 +#: parser/analyze.c:3222 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "HAVING å¥ã§ã¯%sを使用ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3218 +#: parser/analyze.c:3229 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "集約関数ã§ã¯%sã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3225 +#: parser/analyze.c:3236 #, c-format msgid "%s is not allowed with window functions" msgstr "ウィンドウ関数ã§ã¯%sã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3232 +#: parser/analyze.c:3243 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "ターゲットリストã®ä¸ã§ã¯%sを集åˆè¿”å´é–¢æ•°ã¨ä¸€ç·’ã«ä½¿ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3324 +#: parser/analyze.c:3335 #, c-format msgid "%s must specify unqualified relation names" msgstr "%sã§ã¯éžä¿®é£¾ã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³åを指定ã—ã¦ãã ã•ã„" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3374 +#: parser/analyze.c:3385 #, c-format msgid "%s cannot be applied to a join" msgstr "%sã‚’çµåˆã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3383 +#: parser/analyze.c:3394 #, c-format msgid "%s cannot be applied to a function" msgstr "%sを関数ã«ä½¿ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3392 +#: parser/analyze.c:3403 #, c-format msgid "%s cannot be applied to a table function" msgstr "%sã¯ãƒ†ãƒ¼ãƒ–ル関数ã«ã¯é©ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3410 +#: parser/analyze.c:3421 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%sã¯WITHå•ã„åˆã‚ã›ã«ã¯é©ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3419 +#: parser/analyze.c:3430 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%sã¯åå‰ä»˜ãタプルストアã«ã¯é©ç”¨ã§ãã¾ã›ã‚“" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3439 +#: parser/analyze.c:3450 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "%2$så¥ã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%1$s\"ã¯FROMå¥ã«ã‚ã‚Šã¾ã›ã‚“" @@ -16442,7 +16447,7 @@ msgstr "offset PRECEDING/FOLLOWING ã‚’ä¼´ã£ãŸ RANGE ã¯åˆ—åž‹ %s ã¨ã‚ªãƒ•ã‚»ã msgid "Cast the offset value to the exact intended type." msgstr "オフセット値をæ„図ã—ãŸåž‹ãã®ã‚‚ã®ã«ã‚ャストã—ã¦ãã ã•ã„。" -#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:994 +#: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:1008 #, c-format msgid "cannot cast type %s to %s" msgstr "åž‹%sã‹ã‚‰%sã¸ã®åž‹å¤‰æ›ãŒã§ãã¾ã›ã‚“" @@ -16498,17 +16503,17 @@ msgstr "%sã§åž‹%sã‹ã‚‰%sã¸å¤‰æ›ã§ãã¾ã›ã‚“ã§ã—ãŸ" msgid "arguments declared \"%s\" are not all alike" msgstr "\"%s\"ã¨å®£è¨€ã•ã‚ŒãŸå¼•æ•°ãŒå…¨ã¦åŒã˜ã§ã‚ã‚Šã¾ã›ã‚“" -#: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 utils/fmgr/funcapi.c:601 +#: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 utils/fmgr/funcapi.c:609 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "%sã¨å®£è¨€ã•ã‚ŒãŸå¼•æ•°ãŒé…列ã§ã¯ãªã%såž‹ã§ã™" -#: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 utils/fmgr/funcapi.c:615 +#: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 utils/fmgr/funcapi.c:623 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "%sã¨å®£è¨€ã•ã‚ŒãŸå¼•æ•°ãŒç¯„囲型ã§ã¯ãªãåž‹%sã§ã™" -#: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:633 utils/fmgr/funcapi.c:698 +#: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:641 utils/fmgr/funcapi.c:706 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "%sã¨å®£è¨€ã•ã‚ŒãŸå¼•æ•°ãŒè¤‡ç¯„囲型ã§ã¯ãªãåž‹%sã§ã™" @@ -16782,7 +16787,7 @@ msgstr "å•ã„åˆã‚ã›\"%s\"ã¸ã®å†å¸°å‚ç…§ãŒ2回以上ç¾ã‚Œã¦ã¯ãªã‚Šã msgid "DEFAULT is not allowed in this context" msgstr "ã“ã®æ–‡è„ˆã§ã¯DEFAULTã¯ä½¿ãˆã¾ã›ã‚“" -#: parser/parse_expr.c:335 parser/parse_relation.c:3659 parser/parse_relation.c:3679 +#: parser/parse_expr.c:335 parser/parse_relation.c:3668 parser/parse_relation.c:3688 #, c-format msgid "column %s.%s does not exist" msgstr "列%s.%sã¯å˜åœ¨ã—ã¾ã›ã‚“" @@ -16815,7 +16820,7 @@ msgstr "列å‚ç…§ã¯DEFAULTå¼ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" msgid "cannot use column reference in partition bound expression" msgstr "列å‚ç…§ã¯ãƒ‘ーティション境界å¼ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: parser/parse_expr.c:784 parser/parse_relation.c:818 parser/parse_relation.c:900 parser/parse_target.c:1234 +#: parser/parse_expr.c:784 parser/parse_relation.c:818 parser/parse_relation.c:900 parser/parse_target.c:1248 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "列å‚ç…§\"%s\"ã¯æ›–昧ã§ã™" @@ -17340,22 +17345,22 @@ msgstr "集åˆè¿”å´é–¢æ•°ã¯ã‚«ãƒ©ãƒ 生æˆå¼ã§ã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "MERGEæ–‡ã§ã¯WITH RECURSIVEã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:166 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "ç„¡æ¡ä»¶WHENå¥ã®å¾Œã«æŒ‡å®šã•ã‚Œã¦åˆ°é”ä¸èƒ½ãªWHENå¥" -#: parser/parse_merge.c:191 +#: parser/parse_merge.c:196 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGEã¯ãƒ«ãƒ¼ãƒ«ã‚’æŒã¤ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«å¯¾ã—ã¦ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“。" -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:213 #, c-format msgid "name \"%s\" specified more than once" msgstr "åå‰\"%s\"ãŒè¤‡æ•°å›žæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:215 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "ã“ã®åå‰ã¯MERGEã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆãƒ†ãƒ¼ãƒ–ルã¨ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã®ä¸¡æ–¹ã§ä½¿ç”¨ã•ã‚Œã¦ã„ã¾ã™" @@ -17450,12 +17455,12 @@ msgstr "テーブルå‚ç…§%uã¯æ›–昧ã§ã™" msgid "table name \"%s\" specified more than once" msgstr "テーブルå\"%s\"ãŒè¤‡æ•°æŒ‡å®šã•ã‚Œã¾ã—ãŸ" -#: parser/parse_relation.c:474 parser/parse_relation.c:3599 +#: parser/parse_relation.c:474 parser/parse_relation.c:3608 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "テーブル\"%s\"用ã®FROMå¥ã«å¯¾ã™ã‚‹ä¸æ£ãªå‚ç…§" -#: parser/parse_relation.c:478 parser/parse_relation.c:3604 +#: parser/parse_relation.c:478 parser/parse_relation.c:3613 #, c-format msgid "There is an entry for table \"%s\", but it cannot be referenced from this part of the query." msgstr "テーブル\"%s\"ã®é …ç›®ãŒã‚ã‚Šã¾ã™ãŒã€å•ã„åˆã‚ã›ã®ã“ã®éƒ¨åˆ†ã‹ã‚‰ã¯å‚ç…§ã§ãã¾ã›ã‚“。\"" @@ -17555,27 +17560,27 @@ msgstr "çµåˆå¼\"%s\"ã§ã¯%d列使用ã§ãã¾ã™ãŒã€%d列指定ã•ã‚Œã¾ã msgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "WITH å•ã„åˆã‚ã›\"%s\"ã«RETURNINGå¥ãŒã‚ã‚Šã¾ã›ã‚“" -#: parser/parse_relation.c:3602 +#: parser/parse_relation.c:3611 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "テーブル別å\"%s\"ã‚’å‚ç…§ã—よã†ã¨ã—ã¦ã„ãŸã‚ˆã†ã§ã™ã€‚" -#: parser/parse_relation.c:3610 +#: parser/parse_relation.c:3619 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "テーブル\"%s\"用ã®FROMå¥ã‚¨ãƒ³ãƒˆãƒªãŒã‚ã‚Šã¾ã›ã‚“" -#: parser/parse_relation.c:3662 +#: parser/parse_relation.c:3671 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "列\"%s.%s\"ã‚’å‚ç…§ã—よã†ã¨ã—ã¦ã„ãŸã‚ˆã†ã§ã™ã€‚" -#: parser/parse_relation.c:3664 +#: parser/parse_relation.c:3673 #, c-format msgid "There is a column named \"%s\" in table \"%s\", but it cannot be referenced from this part of the query." msgstr "テーブル\"%2$s\"ã«ã¯\"%1$s\"ã¨ã„ã†åå‰ã®åˆ—ãŒã‚ã‚Šã¾ã™ãŒã€å•ã„åˆã‚ã›ã®ã“ã®éƒ¨åˆ†ã‹ã‚‰ã¯å‚ç…§ã§ãã¾ã›ã‚“。" -#: parser/parse_relation.c:3681 +#: parser/parse_relation.c:3690 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." msgstr "列\"%s.%s\"ã¾ãŸã¯åˆ—\"%s.%s\"ã‚’å‚ç…§ã—よã†ã¨ã—ã¦ã„ãŸã‚ˆã†ã§ã™ã€‚" @@ -17610,17 +17615,17 @@ msgstr "åž‹%3$sãŒè¤‡åˆåž‹ã§ã‚ã‚Šã¾ã›ã‚“ã®ã§ã€åˆ—\"%2$s\"ã®ãƒ•ã‚£ãƒ¼ãƒ« msgid "cannot assign to field \"%s\" of column \"%s\" because there is no such column in data type %s" msgstr "データ型%3$sã®åˆ—ãŒã‚ã‚Šã¾ã›ã‚“ã®ã§ã€åˆ—\"%2$s\"ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰\"%1$s\"ã«ä»£å…¥ã§ãã¾ã›ã‚“。" -#: parser/parse_target.c:877 +#: parser/parse_target.c:886 #, c-format msgid "subscripted assignment to \"%s\" requires type %s but expression is of type %s" msgstr "\"%s\"ã¸ã®æ·»å—付ã代入ã«ã¯åž‹%sãŒå¿…è¦ã§ã™ãŒã€å¼ã¯åž‹%sã§ã—ãŸ" -#: parser/parse_target.c:887 +#: parser/parse_target.c:896 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "サブフィールド\"%s\"ã¯åž‹%sã§ã™ãŒã€å¼ã¯åž‹%sã§ã—ãŸ" -#: parser/parse_target.c:1323 +#: parser/parse_target.c:1337 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "テーブル指定ã®ãªã„SELECT *ã¯ç„¡åŠ¹ã§ã™" @@ -17665,322 +17670,322 @@ msgstr "ä¸æ£ãªåž‹å\"%s\"" msgid "cannot create partitioned table as inheritance child" msgstr "パーティション親テーブルを継承ã®åテーブルã¨ã—ã¦ä½œæˆã¯ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:580 +#: parser/parse_utilcmd.c:589 #, c-format msgid "array of serial is not implemented" msgstr "連番(SERIAL)ã®é…列ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 parser/parse_utilcmd.c:739 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"ã®åˆ—\"%1$s\"ã§NULL宣言ã¨NOT NULL宣言ãŒç«¶åˆã—ã¦ã„ã¾ã™" -#: parser/parse_utilcmd.c:683 +#: parser/parse_utilcmd.c:692 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"ã®åˆ—\"%1$s\"ã§è¤‡æ•°ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã®æŒ‡å®šãŒã‚ã‚Šã¾ã™" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:709 #, c-format msgid "identity columns are not supported on typed tables" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã§ã¯è˜åˆ¥åˆ—ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:713 #, c-format msgid "identity columns are not supported on partitions" msgstr "パーティションã§ã¯è˜åˆ¥åˆ—ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:722 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"ã®åˆ—\"%1$s\"ã«è¤‡æ•°ã®è˜åˆ¥æŒ‡å®šãŒã‚ã‚Šã¾ã™" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:752 #, c-format msgid "generated columns are not supported on typed tables" msgstr "型付ã‘ã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã§ã¯ç”Ÿæˆã‚«ãƒ©ãƒ ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:756 #, c-format msgid "generated columns are not supported on partitions" msgstr "パーティションã§ã¯ç”Ÿæˆã‚«ãƒ©ãƒ ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:752 +#: parser/parse_utilcmd.c:761 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"ã®åˆ—\"%1$s\"ã«è¤‡æ•°ã®GENERATEDå¥ã®æŒ‡å®šãŒã‚ã‚Šã¾ã™" -#: parser/parse_utilcmd.c:770 parser/parse_utilcmd.c:885 +#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:894 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "外部テーブルã§ã¯ä¸»ã‚ー制約ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:895 +#: parser/parse_utilcmd.c:788 parser/parse_utilcmd.c:904 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "外部テーブルã§ã¯ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:824 +#: parser/parse_utilcmd.c:833 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "デフォルト値ã¨è˜åˆ¥æŒ‡å®šã®ä¸¡æ–¹ãŒãƒ†ãƒ¼ãƒ–ル\"%2$s\"ã®åˆ—\"%1$s\"ã«æŒ‡å®šã•ã‚Œã¦ã„ã¾ã™" -#: parser/parse_utilcmd.c:832 +#: parser/parse_utilcmd.c:841 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"ã®åˆ—\"%1$s\"ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã¨ç”Ÿæˆå¼ã®ä¸¡æ–¹ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™" -#: parser/parse_utilcmd.c:840 +#: parser/parse_utilcmd.c:849 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "テーブル\"%2$s\"ã®åˆ—\"%1$s\"ã«è˜åˆ¥æŒ‡å®šã¨ç”Ÿæˆå¼ã®ä¸¡æ–¹ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã™" -#: parser/parse_utilcmd.c:905 +#: parser/parse_utilcmd.c:914 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "外部テーブルã§ã¯é™¤å¤–制約ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:911 +#: parser/parse_utilcmd.c:920 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "パーティションテーブルã§ã¯é™¤å¤–制約ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:976 +#: parser/parse_utilcmd.c:985 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "外部テーブルã®ä½œæˆã«ãŠã„ã¦LIKEã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:989 +#: parser/parse_utilcmd.c:998 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "LIKEå¥ã§ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³\"%s\"ã¯ä¸æ£ã§ã™" -#: parser/parse_utilcmd.c:1755 parser/parse_utilcmd.c:1863 +#: parser/parse_utilcmd.c:1764 parser/parse_utilcmd.c:1872 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "インデックス\"%s\"ã«ã¯è¡Œå…¨ä½“テーブルå‚ç…§ãŒå«ã¾ã‚Œã¾ã™" -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "CREATE TABLE ã§ã¯æ—¢å˜ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’使ãˆã¾ã›ã‚“" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2281 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "インデックス\"%s\"ã¯ã™ã§ã«1ã¤ã®åˆ¶ç´„ã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã¾ã™" -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2302 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\"ã¯ãƒ¦ãƒ‹ãƒ¼ã‚¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2301 parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 +#: parser/parse_utilcmd.c:2303 parser/parse_utilcmd.c:2310 parser/parse_utilcmd.c:2317 parser/parse_utilcmd.c:2394 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "ã“ã®ã‚ˆã†ãªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’使ã£ã¦ãƒ—ライマリã‚ーや一æ„性制約を作æˆã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "index \"%s\" contains expressions" msgstr "インデックス\"%s\"ã¯å¼ã‚’å«ã‚“ã§ã„ã¾ã™" -#: parser/parse_utilcmd.c:2307 +#: parser/parse_utilcmd.c:2316 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\"ã¯éƒ¨åˆ†ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã™" -#: parser/parse_utilcmd.c:2319 +#: parser/parse_utilcmd.c:2328 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\"ã¯é…延å¯èƒ½ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã§ã™" -#: parser/parse_utilcmd.c:2320 +#: parser/parse_utilcmd.c:2329 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "é…延å¯èƒ½ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’使ã£ãŸé…延ä¸å¯åˆ¶ç´„ã¯ä½œã‚Œã¾ã›ã‚“。" -#: parser/parse_utilcmd.c:2384 +#: parser/parse_utilcmd.c:2393 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "インデックス\"%s\"ã®åˆ—番å·%dã«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚½ãƒ¼ãƒˆå‹•ä½œãŒã‚ã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:2541 +#: parser/parse_utilcmd.c:2550 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "列\"%s\"ãŒãƒ—ライマリã‚ー制約内ã«2回出ç¾ã—ã¾ã™" -#: parser/parse_utilcmd.c:2547 +#: parser/parse_utilcmd.c:2556 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "列\"%s\"ãŒä¸€æ„性制約内ã«2回出ç¾ã—ã¾ã™" -#: parser/parse_utilcmd.c:2894 +#: parser/parse_utilcmd.c:2903 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "インデックスå¼ã¨è¿°èªžã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä»˜ã‘ã•ã‚Œã‚‹ãƒ†ãƒ¼ãƒ–ルã®ã¿ã‚’å‚ç…§ã§ãã¾ã™" -#: parser/parse_utilcmd.c:2966 +#: parser/parse_utilcmd.c:2975 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "çµ±è¨ˆæƒ…å ±å¼ã¯å‚ç…§ã•ã‚Œã¦ã„るテーブルã®ã¿ã‚’å‚ç…§ã§ãã¾ã™" -#: parser/parse_utilcmd.c:3009 +#: parser/parse_utilcmd.c:3018 #, c-format msgid "rules on materialized views are not supported" msgstr "実体化ビューã«å¯¾ã™ã‚‹ãƒ«ãƒ¼ãƒ«ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3072 +#: parser/parse_utilcmd.c:3081 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "ルールã®WHEREæ¡ä»¶ã«ä»–ã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã¸ã®å‚照をæŒãŸã›ã‚‰ã‚Œã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3145 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "ルールã®WHEREæ¡ä»¶ã¯SELECTã€INSERTã€UPDATEã€DELETE動作ã®ã¿ã‚’æŒã¤ã“ã¨ãŒã§ãã¾ã™" -#: parser/parse_utilcmd.c:3163 parser/parse_utilcmd.c:3264 rewrite/rewriteHandler.c:532 rewrite/rewriteManip.c:1021 +#: parser/parse_utilcmd.c:3172 parser/parse_utilcmd.c:3273 rewrite/rewriteHandler.c:532 rewrite/rewriteManip.c:1021 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "æ¡ä»¶ä»˜ãã®UNION/INTERSECT/EXCEPTæ–‡ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3181 +#: parser/parse_utilcmd.c:3190 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "ON SELECTルールã§ã¯OLDを使用ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3185 +#: parser/parse_utilcmd.c:3194 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "ON SELECTルールã§ã¯NEWを使用ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3194 +#: parser/parse_utilcmd.c:3203 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "ON INSERTルールã§ã¯OLDを使用ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3200 +#: parser/parse_utilcmd.c:3209 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "ON DELETEルールã§ã¯NEWを使用ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3228 +#: parser/parse_utilcmd.c:3237 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "WITH å•ã„åˆã‚ã›å†…ã§ã¯ OLD ã¯å‚ç…§ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3235 +#: parser/parse_utilcmd.c:3244 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "WITH å•ã„åˆã‚ã›å†…ã§ã¯ NEW ã¯å‚ç…§ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3689 +#: parser/parse_utilcmd.c:3698 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "DEFERRABLEå¥ã®å ´æ‰€ãŒé–“é•ã£ã¦ã„ã¾ã™" -#: parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3709 +#: parser/parse_utilcmd.c:3703 parser/parse_utilcmd.c:3718 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "複数ã®DEFERRABLE/NOT DEFERRABLEå¥ã‚’使用ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3704 +#: parser/parse_utilcmd.c:3713 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "NOT DEFERRABLEå¥ã®å ´æ‰€ãŒé–“é•ã£ã¦ã„ã¾ã™" -#: parser/parse_utilcmd.c:3725 +#: parser/parse_utilcmd.c:3734 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "INITIALLY DEFERREDå¥ã®å ´æ‰€ãŒé–“é•ã£ã¦ã„ã¾ã™<" -#: parser/parse_utilcmd.c:3730 parser/parse_utilcmd.c:3756 +#: parser/parse_utilcmd.c:3739 parser/parse_utilcmd.c:3765 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "複数ã®INITIALLY IMMEDIATE/DEFERREDå¥ã‚’使用ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3751 +#: parser/parse_utilcmd.c:3760 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "INITIALLY IMMEDIATEå¥ã®å ´æ‰€ãŒé–“é•ã£ã¦ã„ã¾ã™<" -#: parser/parse_utilcmd.c:3944 +#: parser/parse_utilcmd.c:3953 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "CREATEã§æŒ‡å®šã—ãŸã‚¹ã‚ーマ(%s)ãŒä½œæˆå…ˆã®ã‚¹ã‚ーマ(%s)ã¨ç•°ãªã‚Šã¾ã™" -#: parser/parse_utilcmd.c:3979 +#: parser/parse_utilcmd.c:3988 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\"ã¯ãƒ‘ーティションテーブルã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3986 +#: parser/parse_utilcmd.c:3995 #, c-format msgid "table \"%s\" is not partitioned" msgstr "テーブル\"%s\"ã¯ãƒ‘ーティションã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:3993 +#: parser/parse_utilcmd.c:4002 #, c-format msgid "index \"%s\" is not partitioned" msgstr "インデックス\"%s\"ã¯ãƒ‘ーティションã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4033 +#: parser/parse_utilcmd.c:4042 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "ãƒãƒƒã‚·ãƒ¥ãƒ‘ーティションテーブルã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ‘ーティションをæŒã¤ã“ã¨ãŒã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4050 +#: parser/parse_utilcmd.c:4059 #, c-format msgid "invalid bound specification for a hash partition" msgstr "ãƒãƒƒã‚·ãƒ¥ãƒ‘ーティションã«å¯¾ã™ã‚‹ä¸æ£ãªå¢ƒç•ŒæŒ‡å®š" -#: parser/parse_utilcmd.c:4056 partitioning/partbounds.c:4824 +#: parser/parse_utilcmd.c:4065 partitioning/partbounds.c:4824 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "ãƒãƒƒã‚·ãƒ¥ãƒ‘ーティションã®æ³•ã¯0より大ãã„æ•´æ•°ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™" -#: parser/parse_utilcmd.c:4063 partitioning/partbounds.c:4832 +#: parser/parse_utilcmd.c:4072 partitioning/partbounds.c:4832 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "ãƒãƒƒã‚·ãƒ¥ãƒ‘ーティションã®å‰°ä½™ã¯æ³•ã‚ˆã‚Šã‚‚å°ã•ããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4076 +#: parser/parse_utilcmd.c:4085 #, c-format msgid "invalid bound specification for a list partition" msgstr "リストパーティションã«å¯¾ã™ã‚‹ä¸æ£ãªå¢ƒç•ŒæŒ‡å®š" -#: parser/parse_utilcmd.c:4129 +#: parser/parse_utilcmd.c:4138 #, c-format msgid "invalid bound specification for a range partition" msgstr "範囲パーティションã«å¯¾ã™ã‚‹ä¸æ£ãªå¢ƒç•ŒæŒ‡å®š" -#: parser/parse_utilcmd.c:4135 +#: parser/parse_utilcmd.c:4144 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "FROMã¯å…¨ã¦ã®ãƒ‘ーティション列ã”ã¨ã«ä¸€ã¤ã®å€¤ã‚’指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4139 +#: parser/parse_utilcmd.c:4148 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "TOã¯å…¨ã¦ã®ãƒ‘ーティション列ã”ã¨ã«ä¸€ã¤ã®å€¤ã‚’指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4253 +#: parser/parse_utilcmd.c:4262 #, c-format msgid "cannot specify NULL in range bound" msgstr "範囲境界ã§NULLã¯ä½¿ç”¨ã§ãã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4302 +#: parser/parse_utilcmd.c:4311 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "MAXVALUEã«ç¶šã境界値ã¯MAXVALUEã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4309 +#: parser/parse_utilcmd.c:4318 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "MINVALUEã«ç¶šã境界値ã¯MINVALUEã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: parser/parse_utilcmd.c:4352 +#: parser/parse_utilcmd.c:4361 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "指定ã—ãŸå€¤ã¯åˆ—\"%s\"ã®%såž‹ã«å¤‰æ›ã§ãã¾ã›ã‚“" @@ -18298,47 +18303,47 @@ msgstr "失敗ã—ãŸã‚·ã‚¹ãƒ†ãƒ コールã¯MapViewOfFileExã§ã™ã€‚" msgid "Failed system call was MapViewOfFileEx." msgstr "失敗ã—ãŸã‚·ã‚¹ãƒ†ãƒ コールã¯MapViewOfFileExã§ã™ã€‚" -#: postmaster/autovacuum.c:404 +#: postmaster/autovacuum.c:405 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "自動VACUUM起動プãƒã‚»ã‚¹ã‚’ fork ã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: postmaster/autovacuum.c:752 +#: postmaster/autovacuum.c:753 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "自動VACUUMワーカーã®èµ·å‹•ã«æ™‚é–“ãŒã‹ã‹ã‚Šã™ãŽã¦ã„ã¾ã™; ã‚ャンセルã—ã¾ã—ãŸ" -#: postmaster/autovacuum.c:1482 +#: postmaster/autovacuum.c:1483 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "自動VACUUMワーカープãƒã‚»ã‚¹ã‚’forkã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: postmaster/autovacuum.c:2277 +#: postmaster/autovacuum.c:2296 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "自動VACUUM: å¤ç«‹ã—ãŸä¸€æ™‚テーブル\"%s.%s.%s\"を削除ã—ã¾ã™" -#: postmaster/autovacuum.c:2502 +#: postmaster/autovacuum.c:2521 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "テーブル\"%s.%s.%s\"ã«å¯¾ã™ã‚‹è‡ªå‹•VACUUM" -#: postmaster/autovacuum.c:2505 +#: postmaster/autovacuum.c:2524 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "テーブル\"%s.%s.%s\"ã«å¯¾ã™ã‚‹è‡ªå‹•ANALYZE" -#: postmaster/autovacuum.c:2698 +#: postmaster/autovacuum.c:2717 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "リレーション\"%s.%s.%s\"ã®ä½œæ¥ã‚¨ãƒ³ãƒˆãƒªã‚’処ç†ã—ã¦ã„ã¾ã™" -#: postmaster/autovacuum.c:3309 +#: postmaster/autovacuum.c:3328 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "誤è¨å®šã®ãŸã‚自動VACUUMãŒèµ·å‹•ã§ãã¾ã›ã‚“" -#: postmaster/autovacuum.c:3310 +#: postmaster/autovacuum.c:3329 #, c-format msgid "Enable the \"track_counts\" option." msgstr "\"track_counts\"オプションを有効ã«ã—ã¦ãã ã•ã„。" @@ -21340,62 +21345,62 @@ msgstr "リレーション\"%3$s\"ã®æ›´æ–°ã•ã‚ŒãŸã‚¿ãƒ—ル(%1$u,%2$u)ã®å†ãƒ msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "リレーション\"%3$s\"ã®ã‚¿ãƒ—ル(%1$u,%2$u)ã«å¯¾ã™ã‚‹æŽ’除制約ã®ãƒã‚§ãƒƒã‚¯ä¸" -#: storage/lmgr/lmgr.c:1135 +#: storage/lmgr/lmgr.c:1173 #, c-format msgid "relation %u of database %u" msgstr "データベース%2$uã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³%1$u" -#: storage/lmgr/lmgr.c:1141 +#: storage/lmgr/lmgr.c:1179 #, c-format msgid "extension of relation %u of database %u" msgstr "データベース%2$uã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³%1$uã®æ‹¡å¼µ" -#: storage/lmgr/lmgr.c:1147 +#: storage/lmgr/lmgr.c:1185 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "データベース%uã®pg_database.datfrozenxid" -#: storage/lmgr/lmgr.c:1152 +#: storage/lmgr/lmgr.c:1190 #, c-format msgid "page %u of relation %u of database %u" msgstr "データベース%3$uã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³%2$uã®ãƒšãƒ¼ã‚¸%1$u" -#: storage/lmgr/lmgr.c:1159 +#: storage/lmgr/lmgr.c:1197 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "データベース%4$uã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³%3$uã®ã‚¿ãƒ—ル(%2$u,%1$u)" -#: storage/lmgr/lmgr.c:1167 +#: storage/lmgr/lmgr.c:1205 #, c-format msgid "transaction %u" msgstr "トランザクション %u" -#: storage/lmgr/lmgr.c:1172 +#: storage/lmgr/lmgr.c:1210 #, c-format msgid "virtual transaction %d/%u" msgstr "仮想トランザクション %d/%u" -#: storage/lmgr/lmgr.c:1178 +#: storage/lmgr/lmgr.c:1216 #, c-format msgid "speculative token %u of transaction %u" msgstr "トランザクション%2$uã®æŠ•æ©Ÿçš„書ãè¾¼ã¿ãƒˆãƒ¼ã‚¯ãƒ³%1$u" -#: storage/lmgr/lmgr.c:1184 +#: storage/lmgr/lmgr.c:1222 #, c-format msgid "object %u of class %u of database %u" msgstr "データベース%3$uã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³%2$uã®ã‚ªãƒ–ジェクト%1$u" -#: storage/lmgr/lmgr.c:1192 +#: storage/lmgr/lmgr.c:1230 #, c-format msgid "user lock [%u,%u,%u]" msgstr "ユーザーãƒãƒƒã‚¯[%u,%u,%u]" -#: storage/lmgr/lmgr.c:1199 +#: storage/lmgr/lmgr.c:1237 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "アドãƒã‚¤ã‚¶ãƒªãƒ»ãƒãƒƒã‚¯[%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1207 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "unrecognized locktag type %d" msgstr "ãƒãƒƒã‚¯ã‚¿ã‚°ã‚¿ã‚¤ãƒ—%dã¯ä¸æ˜Žã§ã™" @@ -22221,37 +22226,37 @@ msgstr "MaxFragments 㯠0 以上ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "æ°¸ç¶šçµ±è¨ˆæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«\"%s\"ã‚’unlinkã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: utils/activity/pgstat.c:1226 +#: utils/activity/pgstat.c:1229 #, c-format msgid "invalid statistics kind: \"%s\"" msgstr "ä¸æ£ãªçµ±è¨ˆæƒ…å ±ç¨®åˆ¥: \"%s\"" -#: utils/activity/pgstat.c:1306 +#: utils/activity/pgstat.c:1309 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "ä¸€æ™‚çµ±è¨ˆæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«\"%s\"をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: utils/activity/pgstat.c:1412 +#: utils/activity/pgstat.c:1415 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "ä¸€æ™‚çµ±è¨ˆæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«\"%s\"ã«æ›¸ãè¾¼ã¿ã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: utils/activity/pgstat.c:1421 +#: utils/activity/pgstat.c:1424 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "ä¸€æ™‚çµ±è¨ˆæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«\"%s\"をクãƒãƒ¼ã‚ºã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: utils/activity/pgstat.c:1429 +#: utils/activity/pgstat.c:1432 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "ä¸€æ™‚çµ±è¨ˆæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«\"%s\"ã®åå‰ã‚’\"%s\"ã«å¤‰æ›´ã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: utils/activity/pgstat.c:1478 +#: utils/activity/pgstat.c:1481 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "çµ±è¨ˆæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«\"%s\"をオープンã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: utils/activity/pgstat.c:1634 +#: utils/activity/pgstat.c:1637 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "çµ±è¨ˆæƒ…å ±ãƒ•ã‚¡ã‚¤ãƒ«\"%s\"ãŒç ´æã—ã¦ã„ã¾ã™" @@ -22691,7 +22696,7 @@ msgstr "%s符å·åŒ–æ–¹å¼ã‹ã‚‰ASCIIã¸ã®å¤‰æ›ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã #. translator: first %s is inet or cidr #: utils/adt/bool.c:153 utils/adt/cash.c:276 utils/adt/datetime.c:4050 utils/adt/float.c:188 utils/adt/float.c:272 utils/adt/float.c:284 utils/adt/float.c:401 utils/adt/float.c:486 utils/adt/float.c:502 utils/adt/geo_ops.c:220 utils/adt/geo_ops.c:230 utils/adt/geo_ops.c:242 utils/adt/geo_ops.c:274 utils/adt/geo_ops.c:316 utils/adt/geo_ops.c:326 utils/adt/geo_ops.c:974 utils/adt/geo_ops.c:1389 utils/adt/geo_ops.c:1424 utils/adt/geo_ops.c:1432 #: utils/adt/geo_ops.c:3392 utils/adt/geo_ops.c:4607 utils/adt/geo_ops.c:4622 utils/adt/geo_ops.c:4629 utils/adt/int.c:173 utils/adt/int.c:185 utils/adt/jsonpath.c:182 utils/adt/mac.c:93 utils/adt/mac8.c:93 utils/adt/mac8.c:166 utils/adt/mac8.c:184 utils/adt/mac8.c:202 utils/adt/mac8.c:221 utils/adt/network.c:99 utils/adt/numeric.c:698 utils/adt/numeric.c:717 utils/adt/numeric.c:6882 utils/adt/numeric.c:6906 utils/adt/numeric.c:6930 utils/adt/numeric.c:7932 -#: utils/adt/numutils.c:158 utils/adt/numutils.c:234 utils/adt/numutils.c:318 utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 utils/adt/uuid.c:135 utils/adt/xid8funcs.c:346 +#: utils/adt/numutils.c:158 utils/adt/numutils.c:234 utils/adt/numutils.c:318 utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 utils/adt/uuid.c:135 utils/adt/xid8funcs.c:354 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "\"%s\"åž‹ã®å…¥åŠ›æ§‹æ–‡ãŒä¸æ£ã§ã™: \"%s\"" @@ -22737,7 +22742,7 @@ msgstr "TIME(%d)%sã®ä½å–りを許容最大値%dã¾ã§æ¸›ã‚‰ã—ã¾ã—ãŸ" msgid "date out of range: \"%s\"" msgstr "日付ãŒç¯„囲外ã§ã™: \"%s\"" -#: utils/adt/date.c:215 utils/adt/date.c:513 utils/adt/date.c:537 utils/adt/xml.c:2209 +#: utils/adt/date.c:215 utils/adt/date.c:513 utils/adt/date.c:537 utils/adt/xml.c:2219 #, c-format msgid "date out of range" msgstr "日付ãŒç¯„囲外ã§ã™" @@ -22762,20 +22767,20 @@ msgstr "ç„¡é™å¤§ã®æ—¥ä»˜ã¯æ¸›ç®—ã§ãã¾ã›ã‚“" msgid "date out of range for timestamp" msgstr "タイムスタンプã§æ—¥ä»˜ãŒç¯„囲外ã§ã™" -#: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4078 utils/adt/timestamp.c:4271 utils/adt/timestamp.c:4443 utils/adt/timestamp.c:4696 utils/adt/timestamp.c:4897 utils/adt/timestamp.c:4944 utils/adt/timestamp.c:5168 utils/adt/timestamp.c:5215 utils/adt/timestamp.c:5345 +#: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4095 utils/adt/timestamp.c:4305 utils/adt/timestamp.c:4477 utils/adt/timestamp.c:4730 utils/adt/timestamp.c:4931 utils/adt/timestamp.c:4978 utils/adt/timestamp.c:5202 utils/adt/timestamp.c:5249 utils/adt/timestamp.c:5379 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "å˜ä½\"%s\"ã¯åž‹%sã«å¯¾ã—ã¦ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 utils/adt/timestamp.c:4092 utils/adt/timestamp.c:4288 utils/adt/timestamp.c:4457 utils/adt/timestamp.c:4656 utils/adt/timestamp.c:4953 utils/adt/timestamp.c:5224 utils/adt/timestamp.c:5406 +#: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 utils/adt/timestamp.c:4109 utils/adt/timestamp.c:4322 utils/adt/timestamp.c:4491 utils/adt/timestamp.c:4690 utils/adt/timestamp.c:4987 utils/adt/timestamp.c:5258 utils/adt/timestamp.c:5440 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "å˜ä½\"%s\"ã¯åž‹%sã«å¯¾ã—ã¦ã¯èªè˜ã§ãã¾ã›ã‚“" #: utils/adt/date.c:1307 utils/adt/date.c:1353 utils/adt/date.c:1907 utils/adt/date.c:1938 utils/adt/date.c:1967 utils/adt/date.c:2831 utils/adt/date.c:3078 utils/adt/datetime.c:420 utils/adt/datetime.c:1869 utils/adt/formatting.c:4141 utils/adt/formatting.c:4177 utils/adt/formatting.c:4268 utils/adt/formatting.c:4390 utils/adt/json.c:418 utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257 utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 -#: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937 utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2961 utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2975 utils/adt/timestamp.c:3030 utils/adt/timestamp.c:3053 utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3080 utils/adt/timestamp.c:3088 utils/adt/timestamp.c:3096 utils/adt/timestamp.c:3782 utils/adt/timestamp.c:3906 utils/adt/timestamp.c:3996 -#: utils/adt/timestamp.c:4086 utils/adt/timestamp.c:4179 utils/adt/timestamp.c:4282 utils/adt/timestamp.c:4761 utils/adt/timestamp.c:5035 utils/adt/timestamp.c:5485 utils/adt/timestamp.c:5499 utils/adt/timestamp.c:5504 utils/adt/timestamp.c:5518 utils/adt/timestamp.c:5551 utils/adt/timestamp.c:5638 utils/adt/timestamp.c:5679 utils/adt/timestamp.c:5683 utils/adt/timestamp.c:5752 utils/adt/timestamp.c:5756 utils/adt/timestamp.c:5770 utils/adt/timestamp.c:5804 -#: utils/adt/xml.c:2231 utils/adt/xml.c:2238 utils/adt/xml.c:2258 utils/adt/xml.c:2265 +#: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937 utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2961 utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2975 utils/adt/timestamp.c:3030 utils/adt/timestamp.c:3053 utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3080 utils/adt/timestamp.c:3088 utils/adt/timestamp.c:3096 utils/adt/timestamp.c:3782 utils/adt/timestamp.c:3906 utils/adt/timestamp.c:3977 +#: utils/adt/timestamp.c:4013 utils/adt/timestamp.c:4103 utils/adt/timestamp.c:4177 utils/adt/timestamp.c:4213 utils/adt/timestamp.c:4316 utils/adt/timestamp.c:4795 utils/adt/timestamp.c:5069 utils/adt/timestamp.c:5519 utils/adt/timestamp.c:5533 utils/adt/timestamp.c:5538 utils/adt/timestamp.c:5552 utils/adt/timestamp.c:5585 utils/adt/timestamp.c:5672 utils/adt/timestamp.c:5713 utils/adt/timestamp.c:5717 utils/adt/timestamp.c:5786 utils/adt/timestamp.c:5790 +#: utils/adt/timestamp.c:5804 utils/adt/timestamp.c:5838 utils/adt/xml.c:2241 utils/adt/xml.c:2248 utils/adt/xml.c:2268 utils/adt/xml.c:2275 #, c-format msgid "timestamp out of range" msgstr "timestampã®ç¯„囲外ã§ã™" @@ -22800,12 +22805,12 @@ msgstr "ウィンドウ関数ã§ã®ä¸æ£ãªã‚µã‚¤ã‚ºã® PRECEDING ã¾ãŸã¯ FOL msgid "time zone displacement out of range" msgstr "タイムゾーンã®ç½®æ›ãŒç¯„囲外ã§ã™" -#: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 utils/adt/datetime.c:4898 utils/adt/timestamp.c:516 utils/adt/timestamp.c:543 utils/adt/timestamp.c:4365 utils/adt/timestamp.c:5510 utils/adt/timestamp.c:5762 +#: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 utils/adt/datetime.c:4898 utils/adt/timestamp.c:516 utils/adt/timestamp.c:543 utils/adt/timestamp.c:4399 utils/adt/timestamp.c:5544 utils/adt/timestamp.c:5796 #, c-format msgid "time zone \"%s\" not recognized" msgstr "タイムゾーン\"%s\"ã¯ä¸æ˜Žã§ã™" -#: utils/adt/date.c:3117 utils/adt/timestamp.c:5540 utils/adt/timestamp.c:5793 +#: utils/adt/date.c:3117 utils/adt/timestamp.c:5574 utils/adt/timestamp.c:5827 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "intervalã«ã‚ˆã‚‹ã‚¿ã‚¤ãƒ ゾーン\"%s\"ã«ã¯æœˆã¾ãŸã¯æ—¥ã‚’å«ã‚ã¦ã¯ã„ã‘ã¾ã›ã‚“" @@ -23350,7 +23355,7 @@ msgstr "å°‘ãªãã¨ã‚‚2ãƒã‚¤ãƒ³ãƒˆã‚’è¦æ±‚ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" msgid "invalid int2vector data" msgstr "ä¸æ£ãªint2vectorデータ" -#: utils/adt/int.c:1528 utils/adt/int8.c:1404 utils/adt/numeric.c:1678 utils/adt/timestamp.c:5855 utils/adt/timestamp.c:5935 +#: utils/adt/int.c:1528 utils/adt/int8.c:1404 utils/adt/numeric.c:1678 utils/adt/timestamp.c:5889 utils/adt/timestamp.c:5969 #, c-format msgid "step size cannot equal zero" msgstr "ステップ数をゼãƒã«ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" @@ -23371,7 +23376,7 @@ msgstr "OIDã®ç¯„囲外ã§ã™" msgid "key value must be scalar, not array, composite, or json" msgstr "ã‚ー値ã¯é…列ã§ã‚‚複åˆåž‹ã§ã‚‚JSONã§ã‚‚ãªãã€ã‚¹ã‚«ãƒ©ã§ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“" -#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2104 +#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2112 #, c-format msgid "could not determine data type for argument %d" msgstr "引数%dã®ãƒ‡ãƒ¼ã‚¿åž‹ãŒç‰¹å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" @@ -23799,67 +23804,67 @@ msgstr "jsonpathé …ç›®ãƒ¡ã‚½ãƒƒãƒ‰ .%s() ã®æ–‡å—列引数ã¯æœ‰åŠ¹ãªå€ç²¾åº¦ msgid "jsonpath item method .%s() can only be applied to a string or numeric value" msgstr "jsonpath é …ç›®ãƒ¡ã‚½ãƒƒãƒ‰ .%s() ã¯æ–‡å—列ã¾ãŸã¯æ•°å€¤ã«ã®ã¿é©ç”¨å¯èƒ½ã§ã™" -#: utils/adt/jsonpath_exec.c:1583 +#: utils/adt/jsonpath_exec.c:1586 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "jsonpath演算å %s ã®å·¦è¾ºå€¤ãŒå˜ä¸€ã®æ•°å€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: utils/adt/jsonpath_exec.c:1590 +#: utils/adt/jsonpath_exec.c:1593 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "jsonpath演算å %s ã®å³è¾ºå€¤ãŒå˜ä¸€ã®æ•°å€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: utils/adt/jsonpath_exec.c:1658 +#: utils/adt/jsonpath_exec.c:1661 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "å˜é …jsonpath演算å %s ã®ã‚ªãƒšãƒ©ãƒ³ãƒ‰ãŒæ•°å€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: utils/adt/jsonpath_exec.c:1756 +#: utils/adt/jsonpath_exec.c:1759 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "jsonpath é …ç›®ãƒ¡ã‚½ãƒƒãƒ‰ .%s() ã¯æ•°å€¤ã«ã®ã¿é©ç”¨å¯èƒ½ã§ã™" -#: utils/adt/jsonpath_exec.c:1796 +#: utils/adt/jsonpath_exec.c:1799 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "jsonpath é …ç›®ãƒ¡ã‚½ãƒƒãƒ‰ .%s() ã¯æ–‡å—列ã«ã®ã¿é©ç”¨å¯èƒ½ã§ã™" -#: utils/adt/jsonpath_exec.c:1899 +#: utils/adt/jsonpath_exec.c:1902 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "datetime書å¼ã‚’èªè˜ã§ãã¾ã›ã‚“: \"%s\"" -#: utils/adt/jsonpath_exec.c:1901 +#: utils/adt/jsonpath_exec.c:1904 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "datetimeテンプレート引数を使ã£ã¦å…¥åŠ›ãƒ‡ãƒ¼ã‚¿ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã‚’指定ã—ã¦ãã ã•ã„。" -#: utils/adt/jsonpath_exec.c:1969 +#: utils/adt/jsonpath_exec.c:1972 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "jsonpathé …ç›®ãƒ¡ã‚½ãƒƒãƒ‰ .%s() ã¯ã‚ªãƒ–ジェクトã«å¯¾ã—ã¦ã®ã¿é©ç”¨å¯èƒ½ã§ã™" -#: utils/adt/jsonpath_exec.c:2151 +#: utils/adt/jsonpath_exec.c:2154 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "jsonpath変数\"%s\"ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: utils/adt/jsonpath_exec.c:2415 +#: utils/adt/jsonpath_exec.c:2418 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "jsonpathé…列添ãˆå—ãŒå˜ä¸€ã®æ•°å€¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: utils/adt/jsonpath_exec.c:2427 +#: utils/adt/jsonpath_exec.c:2430 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "jsonpathé…列ã®æ·»ãˆå—ãŒæ•´æ•°ã®ç¯„囲外ã§ã™" -#: utils/adt/jsonpath_exec.c:2604 +#: utils/adt/jsonpath_exec.c:2607 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "時間帯を使用ã›ãšã«%sã‹ã‚‰%sã¸ã®å€¤ã®å¤‰æ›ã¯ã§ãã¾ã›ã‚“" -#: utils/adt/jsonpath_exec.c:2606 +#: utils/adt/jsonpath_exec.c:2609 #, c-format msgid "Use *_tz() function for time zone support." msgstr "*_tz() 関数を使用ã™ã‚‹ã“ã¨ã§æ™‚間帯ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã™ã€‚" @@ -24487,7 +24492,7 @@ msgstr "\"%s\"ã¨ã„ã†åå‰ã®é–¢æ•°ãŒè¤‡æ•°ã‚ã‚Šã¾ã™" msgid "more than one operator named %s" msgstr "%sã¨ã„ã†åå‰ã®æ¼”ç®—åãŒè¤‡æ•°ã‚ã‚Šã¾ã™" -#: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 utils/adt/ruleutils.c:10028 utils/adt/ruleutils.c:10197 +#: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 utils/adt/ruleutils.c:10029 utils/adt/ruleutils.c:10198 #, c-format msgid "too many arguments" msgstr "引数ãŒå¤šã™ãŽã¾ã™" @@ -24652,22 +24657,22 @@ msgstr "レコードã®åˆ— %3$d ã«ãŠã„ã¦ã€å…¨ãç•°ãªã‚‹åž‹ %1$s 㨠%2$s msgid "cannot compare record types with different numbers of columns" msgstr "個数ãŒç•°ãªã‚‹åˆ—åŒå£«ã§ã¯ãƒ¬ã‚³ãƒ¼ãƒ‰åž‹ã®æ¯”較ãŒã§ãã¾ã›ã‚“" -#: utils/adt/ruleutils.c:2725 +#: utils/adt/ruleutils.c:2710 #, c-format msgid "input is a query, not an expression" msgstr "入力ãŒå¼ã§ã¯ãªãæ–‡ã§ã™" -#: utils/adt/ruleutils.c:2737 +#: utils/adt/ruleutils.c:2722 #, c-format msgid "expression contains variables of more than one relation" msgstr "å¼ãŒ2ã¤ä»¥ä¸Šã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã®å¤‰æ•°ã‚’å«ã‚“ã§ã„ã¾ã™" -#: utils/adt/ruleutils.c:2744 +#: utils/adt/ruleutils.c:2729 #, c-format msgid "expression contains variables" msgstr "å¼ãŒå¤‰æ•°ã‚’å«ã‚“ã§ã„ã¾ã™" -#: utils/adt/ruleutils.c:5267 +#: utils/adt/ruleutils.c:5268 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "ルール\"%s\"ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„イベントタイプ%dã‚’æŒã¡ã¾ã™" @@ -24718,7 +24723,7 @@ msgid "timestamp out of range: \"%g\"" msgstr "timestampãŒç¯„囲外ã§ã™: \"%g\"" #: utils/adt/timestamp.c:938 utils/adt/timestamp.c:1509 utils/adt/timestamp.c:2761 utils/adt/timestamp.c:2778 utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2870 utils/adt/timestamp.c:3134 utils/adt/timestamp.c:3139 utils/adt/timestamp.c:3144 utils/adt/timestamp.c:3194 utils/adt/timestamp.c:3201 utils/adt/timestamp.c:3208 utils/adt/timestamp.c:3228 utils/adt/timestamp.c:3235 utils/adt/timestamp.c:3242 utils/adt/timestamp.c:3329 utils/adt/timestamp.c:3404 -#: utils/adt/timestamp.c:3777 utils/adt/timestamp.c:3901 utils/adt/timestamp.c:4451 +#: utils/adt/timestamp.c:3777 utils/adt/timestamp.c:3901 utils/adt/timestamp.c:3949 utils/adt/timestamp.c:3959 utils/adt/timestamp.c:4149 utils/adt/timestamp.c:4159 utils/adt/timestamp.c:4485 #, c-format msgid "interval out of range" msgstr "intervalãŒç¯„囲外ã§ã™" @@ -24748,22 +24753,22 @@ msgstr "interval(%d)ã®ç²¾åº¦ã¯%dã‹ã‚‰%dã¾ã§ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" msgid "cannot subtract infinite timestamps" msgstr "ç„¡é™å¤§ã®timestampを減算ã§ãã¾ã›ã‚“" -#: utils/adt/timestamp.c:3937 utils/adt/timestamp.c:4120 +#: utils/adt/timestamp.c:3938 utils/adt/timestamp.c:4138 #, c-format msgid "origin out of range" msgstr "基点ãŒç¯„囲外ã§ã™" -#: utils/adt/timestamp.c:3942 utils/adt/timestamp.c:4125 +#: utils/adt/timestamp.c:3943 utils/adt/timestamp.c:4143 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "タイムスタンプ型ã¯æœˆã‚„å¹´ã‚’å«ã‚€é–“éš”ã«ãƒ“ニングã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“" -#: utils/adt/timestamp.c:3949 utils/adt/timestamp.c:4132 +#: utils/adt/timestamp.c:3954 utils/adt/timestamp.c:4154 #, c-format msgid "stride must be greater than zero" msgstr "増分ã¯0より大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: utils/adt/timestamp.c:4445 +#: utils/adt/timestamp.c:4479 #, c-format msgid "Months usually have fractional weeks." msgstr "月ã¯é€šå¸¸é€±ã®ç«¯æ•°ã‚’å«ã‚“ã§ã„ã¾ã™ã€‚" @@ -25148,171 +25153,171 @@ msgstr "ntileã®å€¤ã¯0より大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" msgid "argument of nth_value must be greater than zero" msgstr "nth_valueã®å€¤0より大ãããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“" -#: utils/adt/xid8funcs.c:117 +#: utils/adt/xid8funcs.c:118 #, c-format msgid "transaction ID %llu is in the future" msgstr "トランザクションID %lluã¯æœªæ¥ã®å€¤ã§ã™" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:555 #, c-format msgid "invalid external pg_snapshot data" msgstr "ä¸æ£ãªå¤–部pg_snapshotデータ" -#: utils/adt/xml.c:222 +#: utils/adt/xml.c:232 #, c-format msgid "unsupported XML feature" msgstr "éžã‚µãƒãƒ¼ãƒˆã®XML機能ã§ã™ã€‚" -#: utils/adt/xml.c:223 +#: utils/adt/xml.c:233 #, c-format msgid "This functionality requires the server to be built with libxml support." msgstr "ã“ã®æ©Ÿèƒ½ã¯libxmlサãƒãƒ¼ãƒˆä»˜ãã§ãƒ“ルドã•ã‚ŒãŸã‚µãƒ¼ãƒãƒ¼ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚" -#: utils/adt/xml.c:242 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:252 utils/mb/mbutils.c:627 #, c-format msgid "invalid encoding name \"%s\"" msgstr "ä¸æ£ãªç¬¦å·åŒ–æ–¹å¼å\"%s\"" -#: utils/adt/xml.c:485 utils/adt/xml.c:490 +#: utils/adt/xml.c:495 utils/adt/xml.c:500 #, c-format msgid "invalid XML comment" msgstr "無効ãªXMLコメント" -#: utils/adt/xml.c:619 +#: utils/adt/xml.c:629 #, c-format msgid "not an XML document" msgstr "XML文書ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: utils/adt/xml.c:778 utils/adt/xml.c:801 +#: utils/adt/xml.c:788 utils/adt/xml.c:811 #, c-format msgid "invalid XML processing instruction" msgstr "無効ãªXML処ç†å‘½ä»¤ã§ã™" -#: utils/adt/xml.c:779 +#: utils/adt/xml.c:789 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "XML処ç†å‘½ä»¤ã®å¯¾è±¡åã‚’\"%s\"ã¨ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“ã§ã—ãŸã€‚" -#: utils/adt/xml.c:802 +#: utils/adt/xml.c:812 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML処ç†å‘½ä»¤ã«ã¯\"?>\"ã‚’å«ã‚ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。" -#: utils/adt/xml.c:881 +#: utils/adt/xml.c:891 #, c-format msgid "xmlvalidate is not implemented" msgstr "XML ã®å¦¥å½“性検査ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: utils/adt/xml.c:960 +#: utils/adt/xml.c:970 #, c-format msgid "could not initialize XML library" msgstr "XMLライブラリをåˆæœŸåŒ–ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: utils/adt/xml.c:961 +#: utils/adt/xml.c:971 #, c-format msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." msgstr "libxml2ãŒäº’æ›æ€§ãŒãªã„æ–‡å—åž‹ã‚’æŒã¡ã¾ã™: sizeof(char)=%zuã€sizeof(xmlChar)=%zu" -#: utils/adt/xml.c:1047 +#: utils/adt/xml.c:1057 #, c-format msgid "could not set up XML error handler" msgstr "XMLエラーãƒãƒ³ãƒ‰ãƒ©ã‚’è¨å®šã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: utils/adt/xml.c:1048 +#: utils/adt/xml.c:1058 #, c-format msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with." msgstr "ã“ã‚Œã¯ãŠãらã使用ã™ã‚‹libxml2ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒPostgreSQLを構築ã™ã‚‹æ™‚ã«ä½¿ç”¨ã—ãŸlibxml2ヘッダã¨äº’æ›æ€§ãŒãªã„ã“ã¨ã‚’示ã—ã¾ã™ã€‚" -#: utils/adt/xml.c:1935 +#: utils/adt/xml.c:1945 msgid "Invalid character value." msgstr "æ–‡å—ã®å€¤ãŒæœ‰åŠ¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: utils/adt/xml.c:1938 +#: utils/adt/xml.c:1948 msgid "Space required." msgstr "スペースをã‚ã‘ã¦ãã ã•ã„。" -#: utils/adt/xml.c:1941 +#: utils/adt/xml.c:1951 msgid "standalone accepts only 'yes' or 'no'." msgstr "standalone ã«ã¯ 'yes' ã‹ 'no' ã ã‘ãŒæœ‰åŠ¹ã§ã™ã€‚" -#: utils/adt/xml.c:1944 +#: utils/adt/xml.c:1954 msgid "Malformed declaration: missing version." msgstr "ä¸æ£ãªå½¢å¼ã®å®£è¨€: ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã‚ã‚Šã¾ã›ã‚“。" -#: utils/adt/xml.c:1947 +#: utils/adt/xml.c:1957 msgid "Missing encoding in text declaration." msgstr "テã‚スト宣言ã«ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã®æŒ‡å®šãŒã‚ã‚Šã¾ã›ã‚“。" -#: utils/adt/xml.c:1950 +#: utils/adt/xml.c:1960 msgid "Parsing XML declaration: '?>' expected." msgstr "XML 宣言ã®ãƒ‘ースä¸: '>?' ãŒå¿…è¦ã§ã™ã€‚" -#: utils/adt/xml.c:1953 +#: utils/adt/xml.c:1963 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "èªè˜ã§ããªã„libxml ã®ã‚¨ãƒ©ãƒ¼ã‚³ãƒ¼ãƒ‰: %d" -#: utils/adt/xml.c:2210 +#: utils/adt/xml.c:2220 #, c-format msgid "XML does not support infinite date values." msgstr "XMLã¯ãƒ‡ãƒ¼ã‚¿å€¤ã¨ã—ã¦ç„¡é™ã‚’サãƒãƒ¼ãƒˆã—ã¾ã›ã‚“。" -#: utils/adt/xml.c:2232 utils/adt/xml.c:2259 +#: utils/adt/xml.c:2242 utils/adt/xml.c:2269 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XMLタイムスタンプ値ã¨ã—ã¦ã¯ç„¡é™ã‚’サãƒãƒ¼ãƒˆã—ã¾ã›ã‚“。" -#: utils/adt/xml.c:2675 +#: utils/adt/xml.c:2685 #, c-format msgid "invalid query" msgstr "ä¸æ£ãªç„¡åŠ¹ãªå•ã„åˆã‚ã›" -#: utils/adt/xml.c:2767 +#: utils/adt/xml.c:2777 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "ãƒãƒ¼ã‚¿ãƒ«\"%s\"ã¯ã‚¿ãƒ—ルを返å´ã—ã¾ã›ã‚“" -#: utils/adt/xml.c:4019 +#: utils/adt/xml.c:4029 #, c-format msgid "invalid array for XML namespace mapping" msgstr "XMLåå‰ç©ºé–“マッピングã«å¯¾ã™ã‚‹ä¸æ£ãªé…列" -#: utils/adt/xml.c:4020 +#: utils/adt/xml.c:4030 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "ã“ã®é…列ã¯ç¬¬2軸ã®é•·ã•ãŒ2ã§ã‚ã‚‹2次元é…列ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。" -#: utils/adt/xml.c:4044 +#: utils/adt/xml.c:4054 #, c-format msgid "empty XPath expression" msgstr "空ã®XPathå¼" -#: utils/adt/xml.c:4096 +#: utils/adt/xml.c:4106 #, c-format msgid "neither namespace name nor URI may be null" msgstr "åå‰ç©ºé–“åã‚‚URIã‚‚nullã«ã¯ã§ãã¾ã›ã‚“" -#: utils/adt/xml.c:4103 +#: utils/adt/xml.c:4113 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "\"%s\"ã¨ã„ã†åå‰ã®XMLåå‰ç©ºé–“ãŠã‚ˆã³URI\"%s\"を登録ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: utils/adt/xml.c:4454 +#: utils/adt/xml.c:4464 #, c-format msgid "DEFAULT namespace is not supported" msgstr "デフォルトåå‰ç©ºé–“ã¯å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã›ã‚“" -#: utils/adt/xml.c:4483 +#: utils/adt/xml.c:4493 #, c-format msgid "row path filter must not be empty string" msgstr "行パスフィルタã¯ç©ºæ–‡å—列ã§ã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“" -#: utils/adt/xml.c:4514 +#: utils/adt/xml.c:4524 #, c-format msgid "column path filter must not be empty string" msgstr "列パスフィルタ空文å—列ã§ã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“" -#: utils/adt/xml.c:4658 +#: utils/adt/xml.c:4668 #, c-format msgid "more than one value returned by column XPath expression" msgstr "列XPathå¼ãŒ2ã¤ä»¥ä¸Šã®å€¤ã‚’è¿”å´ã—ã¾ã—ãŸ" @@ -25372,22 +25377,22 @@ msgstr "ã¨ã‚Šã‚ãˆãšç¶šè¡Œã—ã¾ã™ãŒã€ä½•ã‹ãŒãŠã‹ã—ã„ã§ã™ã€‚" msgid "could not remove cache file \"%s\": %m" msgstr "ã‚ャッシュファイル\"%s\"を削除ã§ãã¾ã›ã‚“ã§ã—ãŸ: %m" -#: utils/cache/relmapper.c:590 +#: utils/cache/relmapper.c:591 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "リレーションã®ãƒžãƒƒãƒ”ングを変更ã—ãŸãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯PREPAREã§ãã¾ã›ã‚“" -#: utils/cache/relmapper.c:836 +#: utils/cache/relmapper.c:839 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "リレーションマッピングファイル\"%s\"ã«ä¸æ£ãªãƒ‡ãƒ¼ã‚¿ãŒã‚ã‚Šã¾ã™" -#: utils/cache/relmapper.c:846 +#: utils/cache/relmapper.c:849 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "リレーションマッピングファイル\"%s\"ã®ä¸ã«ä¸æ£ãªãƒã‚§ãƒƒã‚¯ã‚µãƒ ãŒã‚ã‚Šã¾ã™" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:575 +#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:583 #, c-format msgid "record type has not been registered" msgstr "レコード型ã¯ç™»éŒ²ã•ã‚Œã¦ã„ã¾ã›ã‚“" @@ -25407,92 +25412,92 @@ msgstr "TRAP: %s(\"%s\"ã€ãƒ•ã‚¡ã‚¤ãƒ«: \"%s\"ã€è¡Œ: %dã€PID: %d)\n" msgid "error occurred before error message processing is available\n" msgstr "エラーメッセージã®å‡¦ç†ãŒå¯èƒ½ã«ãªã‚‹å‰ã«ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã—ãŸ\n" -#: utils/error/elog.c:1943 +#: utils/error/elog.c:1947 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "ファイル\"%s\"ã®æ¨™æº–エラー出力ã¨ã—ã¦ã®å†ã‚ªãƒ¼ãƒ—ンã«å¤±æ•—ã—ã¾ã—ãŸ: %m" -#: utils/error/elog.c:1956 +#: utils/error/elog.c:1960 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "ファイル\"%s\"ã®æ¨™æº–出力ã¨ã—ã¦ã®å†ã‚ªãƒ¼ãƒ—ンã«å¤±æ•—ã—ã¾ã—ãŸ: %m" -#: utils/error/elog.c:2521 utils/error/elog.c:2548 utils/error/elog.c:2564 +#: utils/error/elog.c:2525 utils/error/elog.c:2552 utils/error/elog.c:2568 msgid "[unknown]" msgstr "[ä¸æ˜Ž]" -#: utils/error/elog.c:2837 utils/error/elog.c:3158 utils/error/elog.c:3265 +#: utils/error/elog.c:2841 utils/error/elog.c:3162 utils/error/elog.c:3269 msgid "missing error text" msgstr "エラーテã‚ストãŒã‚ã‚Šã¾ã›ã‚“" -#: utils/error/elog.c:2840 utils/error/elog.c:2843 +#: utils/error/elog.c:2844 utils/error/elog.c:2847 #, c-format msgid " at character %d" msgstr "(%dæ–‡å—ç›®)" -#: utils/error/elog.c:2853 utils/error/elog.c:2860 +#: utils/error/elog.c:2857 utils/error/elog.c:2864 msgid "DETAIL: " msgstr "詳細: " -#: utils/error/elog.c:2867 +#: utils/error/elog.c:2871 msgid "HINT: " msgstr "ヒント: " -#: utils/error/elog.c:2874 +#: utils/error/elog.c:2878 msgid "QUERY: " msgstr "å•ã„åˆã‚ã›: " -#: utils/error/elog.c:2881 +#: utils/error/elog.c:2885 msgid "CONTEXT: " msgstr "文脈: " -#: utils/error/elog.c:2891 +#: utils/error/elog.c:2895 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "å ´æ‰€: %s, %s:%d\n" -#: utils/error/elog.c:2898 +#: utils/error/elog.c:2902 #, c-format msgid "LOCATION: %s:%d\n" msgstr "å ´æ‰€: %s:%d\n" -#: utils/error/elog.c:2905 +#: utils/error/elog.c:2909 msgid "BACKTRACE: " msgstr "ãƒãƒƒã‚¯ãƒˆãƒ¬ãƒ¼ã‚¹: " -#: utils/error/elog.c:2917 +#: utils/error/elog.c:2921 msgid "STATEMENT: " msgstr "æ–‡: " -#: utils/error/elog.c:3310 +#: utils/error/elog.c:3314 msgid "DEBUG" msgstr "DEBUG" -#: utils/error/elog.c:3314 +#: utils/error/elog.c:3318 msgid "LOG" msgstr "LOG" -#: utils/error/elog.c:3317 +#: utils/error/elog.c:3321 msgid "INFO" msgstr "INFO" -#: utils/error/elog.c:3320 +#: utils/error/elog.c:3324 msgid "NOTICE" msgstr "NOTICE" -#: utils/error/elog.c:3324 +#: utils/error/elog.c:3328 msgid "WARNING" msgstr "WARNING" -#: utils/error/elog.c:3327 +#: utils/error/elog.c:3331 msgid "ERROR" msgstr "ERROR" -#: utils/error/elog.c:3330 +#: utils/error/elog.c:3334 msgid "FATAL" msgstr "FATAL" -#: utils/error/elog.c:3333 +#: utils/error/elog.c:3337 msgid "PANIC" msgstr "PANIC" @@ -25615,32 +25620,32 @@ msgstr "関数呼ã³å‡ºã—コンテクストã«æ¼”ç®—åクラスオプション msgid "language validation function %u called for language %u instead of %u" msgstr "言語有効性検査関数%1$uãŒè¨€èªž%3$uã§ã¯ãªã%2$uã«å¯¾ã—ã¦å‘¼ã³å‡ºã•ã‚Œã¾ã—ãŸ" -#: utils/fmgr/funcapi.c:498 +#: utils/fmgr/funcapi.c:505 #, c-format msgid "could not determine actual result type for function \"%s\" declared to return type %s" msgstr "戻り値型%2$sã¨ã—ã¦å®£è¨€ã•ã‚ŒãŸé–¢æ•°\"%1$s\"ã®å®Ÿéš›ã®çµæžœåž‹ã‚’特定ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: utils/fmgr/funcapi.c:643 +#: utils/fmgr/funcapi.c:651 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "%sã¨å®£è¨€ã•ã‚ŒãŸå¼•æ•°ãŒç¯„囲型ã§ã¯ãªãåž‹%sã‚’å«ã‚“ã§ã„ã¾ã™" -#: utils/fmgr/funcapi.c:726 +#: utils/fmgr/funcapi.c:734 #, c-format msgid "could not find multirange type for data type %s" msgstr "データ型%sã®è¤‡ç¯„囲型ãŒã‚ã‚Šã¾ã›ã‚“ã§ã—ãŸ" -#: utils/fmgr/funcapi.c:1943 utils/fmgr/funcapi.c:1975 +#: utils/fmgr/funcapi.c:1951 utils/fmgr/funcapi.c:1983 #, c-format msgid "number of aliases does not match number of columns" msgstr "別åã®æ•°ãŒåˆ—ã®æ•°ã¨ä¸€è‡´ã—ã¾ã›ã‚“" -#: utils/fmgr/funcapi.c:1969 +#: utils/fmgr/funcapi.c:1977 #, c-format msgid "no column alias was provided" msgstr "列ã®åˆ¥åãŒæä¾›ã•ã‚Œã¦ã„ã¾ã›ã‚“ã§ã—ãŸ" -#: utils/fmgr/funcapi.c:1993 +#: utils/fmgr/funcapi.c:2001 #, c-format msgid "could not determine row description for function returning record" msgstr "レコードを返ã™é–¢æ•°ã«ã¤ã„ã¦ã®è¡Œå®šç¾©ã‚’特定ã§ãã¾ã›ã‚“ã§ã—ãŸ" @@ -28325,7 +28330,7 @@ msgstr "タイムゾーンファイル\"%s\"ã®è¡Œ%dã«ãƒ•ã‚¡ã‚¤ãƒ«åãŒãªã„@ msgid "Failed while creating memory context \"%s\"." msgstr "メモリコンテã‚スト\"%s\"ã®ä½œæˆæ™‚ã«å¤±æ•—ã—ã¾ã—ãŸ" -#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1334 +#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1338 #, c-format msgid "could not attach to dynamic shared area" msgstr "動的共有エリアをアタッãƒã§ãã¾ã›ã‚“ã§ã—ãŸ" @@ -28479,9 +28484,3 @@ msgstr "èªã¿å–ã‚Šã®ã¿ã®ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚¶ãƒ–ルトランザクション㧠#, c-format msgid "cannot import a snapshot from a different database" msgstr "ç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰ã®ã‚¹ãƒŠãƒƒãƒ—ショットをèªã¿è¾¼ã‚€ã“ã¨ã¯ã§ãã¾ã›ã‚“" - -#~ msgid "out of memory while trying to decode a record of length %u" -#~ msgstr "é•·ã•%uã®ãƒ¬ã‚³ãƒ¼ãƒ‰ã®ãƒ‡ã‚³ãƒ¼ãƒ‰ä¸ã®ãƒ¡ãƒ¢ãƒªä¸è¶³" - -#~ msgid "record length %u at %X/%X too long" -#~ msgstr "%2$X/%3$Xã®ãƒ¬ã‚³ãƒ¼ãƒ‰é•·%1$uãŒå¤§ãã™ãŽã¾ã™" diff --git a/src/backend/po/ru.po b/src/backend/po/ru.po index 040010f..82639ed 100644 --- a/src/backend/po/ru.po +++ b/src/backend/po/ru.po @@ -10,8 +10,8 @@ msgid "" msgstr "" "Project-Id-Version: postgres (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-02 18:11+0300\n" -"PO-Revision-Date: 2024-02-02 19:00+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" +"PO-Revision-Date: 2024-05-04 10:47+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" "Language: ru\n" @@ -83,7 +83,7 @@ msgstr "не удалоÑÑŒ открыть файл \"%s\" Ð´Ð»Ñ Ñ‡Ñ‚ÐµÐ½Ð¸Ñ: #: access/transam/twophase.c:1349 access/transam/xlog.c:3209 #: access/transam/xlog.c:4024 access/transam/xlogrecovery.c:1223 #: access/transam/xlogrecovery.c:1315 access/transam/xlogrecovery.c:1352 -#: access/transam/xlogrecovery.c:1412 backup/basebackup.c:1844 +#: access/transam/xlogrecovery.c:1412 backup/basebackup.c:1848 #: commands/extension.c:3411 libpq/hba.c:505 replication/logical/origin.c:729 #: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4958 #: replication/logical/snapbuild.c:1870 replication/logical/snapbuild.c:1912 @@ -97,7 +97,7 @@ msgstr "не удалоÑÑŒ прочитать файл \"%s\": %m" #: ../common/controldata_utils.c:102 ../common/controldata_utils.c:105 #: access/transam/xlog.c:3214 access/transam/xlog.c:4029 -#: backup/basebackup.c:1848 replication/logical/origin.c:734 +#: backup/basebackup.c:1852 replication/logical/origin.c:734 #: replication/logical/origin.c:773 replication/logical/snapbuild.c:1875 #: replication/logical/snapbuild.c:1917 replication/logical/snapbuild.c:1944 #: replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 @@ -154,7 +154,7 @@ msgstr "" #: access/transam/xlog.c:3164 access/transam/xlog.c:3359 #: access/transam/xlog.c:4014 access/transam/xlogrecovery.c:4243 #: access/transam/xlogrecovery.c:4346 access/transam/xlogutils.c:852 -#: backup/basebackup.c:522 backup/basebackup.c:1520 postmaster/syslogger.c:1560 +#: backup/basebackup.c:522 backup/basebackup.c:1524 postmaster/syslogger.c:1560 #: replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3611 #: replication/logical/reorderbuffer.c:4162 #: replication/logical/reorderbuffer.c:4938 @@ -163,7 +163,7 @@ msgstr "" #: replication/walsender.c:2722 storage/file/copydir.c:161 #: storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 #: storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:795 -#: utils/cache/relmapper.c:912 utils/error/elog.c:1933 +#: utils/cache/relmapper.c:912 utils/error/elog.c:1937 #: utils/init/miscinit.c:1374 utils/init/miscinit.c:1508 #: utils/init/miscinit.c:1585 utils/misc/guc.c:8998 utils/misc/guc.c:9047 #, c-format @@ -273,15 +273,15 @@ msgstr "не удалоÑÑŒ найти запуÑкаемый файл \"%s\"" msgid "could not change directory to \"%s\": %m" msgstr "не удалоÑÑŒ перейти в каталог \"%s\": %m" -#: ../common/exec.c:299 access/transam/xlog.c:8325 backup/basebackup.c:1340 +#: ../common/exec.c:299 access/transam/xlog.c:8325 backup/basebackup.c:1344 #: utils/adt/misc.c:342 #, c-format msgid "could not read symbolic link \"%s\": %m" msgstr "не удалоÑÑŒ прочитать ÑимволичеÑкую ÑÑылку \"%s\": %m" -#: ../common/exec.c:422 libpq/pqcomm.c:746 storage/ipc/latch.c:1092 -#: storage/ipc/latch.c:1272 storage/ipc/latch.c:1501 storage/ipc/latch.c:1663 -#: storage/ipc/latch.c:1789 +#: ../common/exec.c:422 libpq/pqcomm.c:742 storage/ipc/latch.c:1098 +#: storage/ipc/latch.c:1278 storage/ipc/latch.c:1507 storage/ipc/latch.c:1669 +#: storage/ipc/latch.c:1795 #, c-format msgid "%s() failed: %m" msgstr "ошибка в %s(): %m" @@ -289,8 +289,8 @@ msgstr "ошибка в %s(): %m" #: ../common/fe_memutils.c:35 ../common/fe_memutils.c:75 #: ../common/fe_memutils.c:98 ../common/fe_memutils.c:162 #: ../common/psprintf.c:145 ../port/path.c:753 ../port/path.c:791 -#: ../port/path.c:808 utils/misc/ps_status.c:181 utils/misc/ps_status.c:189 -#: utils/misc/ps_status.c:219 utils/misc/ps_status.c:227 +#: ../port/path.c:808 utils/misc/ps_status.c:208 utils/misc/ps_status.c:216 +#: utils/misc/ps_status.c:246 utils/misc/ps_status.c:254 #, c-format msgid "out of memory\n" msgstr "нехватка памÑти\n" @@ -503,7 +503,7 @@ msgstr "не удалоÑÑŒ перезапуÑтитьÑÑ Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½ msgid "could not get exit code from subprocess: error code %lu" msgstr "не удалоÑÑŒ получить код выхода от подпроцеÑÑа (код ошибки: %lu)" -#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1276 +#: ../common/rmtree.c:79 backup/basebackup.c:1100 backup/basebackup.c:1280 #, c-format msgid "could not stat file or directory \"%s\": %m" msgstr "не удалоÑÑŒ получить информацию о файле или каталоге \"%s\": %m" @@ -721,12 +721,12 @@ msgid "could not open parent table of index \"%s\"" msgstr "не удалоÑÑŒ открыть родительÑкую таблицу индекÑа \"%s\"" #: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1087 -#: parser/parse_utilcmd.c:2287 +#: parser/parse_utilcmd.c:2296 #, c-format msgid "index \"%s\" is not valid" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" - нерабочий" -#: access/brin/brin_bloom.c:749 access/brin/brin_bloom.c:791 +#: access/brin/brin_bloom.c:752 access/brin/brin_bloom.c:794 #: access/brin/brin_minmax_multi.c:2986 access/brin/brin_minmax_multi.c:3129 #: statistics/dependencies.c:663 statistics/dependencies.c:716 #: statistics/mcv.c:1484 statistics/mcv.c:1515 statistics/mvdistinct.c:344 @@ -1135,9 +1135,9 @@ msgstr "" "не удалоÑÑŒ определить, какое правило Ñортировки иÑпользовать Ð´Ð»Ñ Ñ…ÐµÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ " "Ñтрок" -#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:668 -#: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:1955 commands/tablecmds.c:17513 commands/view.c:86 +#: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:671 +#: catalog/heap.c:677 commands/createas.c:206 commands/createas.c:515 +#: commands/indexcmds.c:1955 commands/tablecmds.c:17550 commands/view.c:86 #: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 #: utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 #: utils/adt/like_support.c:1025 utils/adt/varchar.c:733 @@ -1295,22 +1295,22 @@ msgstr "не удалоÑÑŒ запиÑать в файл \"%s\": %m" msgid "could not remove file \"%s\": %m" msgstr "не удалоÑÑŒ Ñтереть файл \"%s\": %m" -#: access/heap/vacuumlazy.c:407 +#: access/heap/vacuumlazy.c:405 #, c-format msgid "aggressively vacuuming \"%s.%s.%s\"" msgstr "агреÑÑÐ¸Ð²Ð½Ð°Ñ Ð¾Ñ‡Ð¸Ñтка \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:412 +#: access/heap/vacuumlazy.c:410 #, c-format msgid "vacuuming \"%s.%s.%s\"" msgstr "очиÑтка \"%s.%s.%s\"" -#: access/heap/vacuumlazy.c:663 +#: access/heap/vacuumlazy.c:661 #, c-format msgid "finished vacuuming \"%s.%s.%s\": index scans: %d\n" msgstr "закончена очиÑтка \"%s.%s.%s\": Ñканирований индекÑа: %d\n" -#: access/heap/vacuumlazy.c:674 +#: access/heap/vacuumlazy.c:672 #, c-format msgid "" "automatic aggressive vacuum to prevent wraparound of table \"%s.%s.%s\": " @@ -1319,7 +1319,7 @@ msgstr "" "автоматичеÑÐºÐ°Ñ Ð°Ð³Ñ€ÐµÑÑÐ¸Ð²Ð½Ð°Ñ Ð¾Ñ‡Ð¸Ñтка, Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð°Ñ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ðµ, таблицы " "\"%s.%s.%s\": Ñканирований индекÑа: %d\n" -#: access/heap/vacuumlazy.c:676 +#: access/heap/vacuumlazy.c:674 #, c-format msgid "" "automatic vacuum to prevent wraparound of table \"%s.%s.%s\": index scans: " @@ -1328,27 +1328,27 @@ msgstr "" "автоматичеÑÐºÐ°Ñ Ð¾Ñ‡Ð¸Ñтка, Ð¿Ñ€ÐµÐ´Ð¾Ñ‚Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð°Ñ Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ðµ, таблицы \"%s.%s.%s\": " "Ñканирований индекÑа: %d\n" -#: access/heap/vacuumlazy.c:681 +#: access/heap/vacuumlazy.c:679 #, c-format msgid "automatic aggressive vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "" "автоматичеÑÐºÐ°Ñ Ð°Ð³Ñ€ÐµÑÑÐ¸Ð²Ð½Ð°Ñ Ð¾Ñ‡Ð¸Ñтка таблицы \"%s.%s.%s\": Ñканирований " "индекÑа: %d\n" -#: access/heap/vacuumlazy.c:683 +#: access/heap/vacuumlazy.c:681 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\": index scans: %d\n" msgstr "" "автоматичеÑÐºÐ°Ñ Ð¾Ñ‡Ð¸Ñтка таблицы \"%s.%s.%s\": Ñканирований индекÑа: %d\n" -#: access/heap/vacuumlazy.c:690 +#: access/heap/vacuumlazy.c:688 #, c-format msgid "pages: %u removed, %u remain, %u scanned (%.2f%% of total)\n" msgstr "" "Ñтраниц удалено: %u, оÑталоÑÑŒ: %u, проÑканировано: %u (%.2f%% от общего " "чиÑла)\n" -#: access/heap/vacuumlazy.c:697 +#: access/heap/vacuumlazy.c:695 #, c-format msgid "" "tuples: %lld removed, %lld remain, %lld are dead but not yet removable\n" @@ -1356,7 +1356,7 @@ msgstr "" "верÑий Ñтрок: удалено: %lld, оÑталоÑÑŒ: %lld, «мёртвых», но ещё не подлежащих " "удалению: %lld\n" -#: access/heap/vacuumlazy.c:703 +#: access/heap/vacuumlazy.c:701 #, c-format msgid "" "tuples missed: %lld dead from %u pages not removed due to cleanup lock " @@ -1365,36 +1365,36 @@ msgstr "" "из-за конфликта блокировки очиÑтки пропущено верÑий Ñтрок: %lld, на " "Ñтраницах: %u\n" -#: access/heap/vacuumlazy.c:708 +#: access/heap/vacuumlazy.c:706 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" msgstr "" "XID отÑечки удалениÑ: %u, на момент Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸ он имел возраÑÑ‚: %d " "XID\n" -#: access/heap/vacuumlazy.c:714 +#: access/heap/vacuumlazy.c:712 #, c-format msgid "new relfrozenxid: %u, which is %d XIDs ahead of previous value\n" msgstr "" "новое значение relfrozenxid: %u, оно продвинулоÑÑŒ вперёд от предыдущего " "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° %d XID\n" -#: access/heap/vacuumlazy.c:721 +#: access/heap/vacuumlazy.c:719 #, c-format msgid "new relminmxid: %u, which is %d MXIDs ahead of previous value\n" msgstr "" "новое значение relminmxid: %u, оно продвинулоÑÑŒ вперёд от предыдущего " "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð½Ð° %d MXID\n" -#: access/heap/vacuumlazy.c:727 +#: access/heap/vacuumlazy.c:725 msgid "index scan not needed: " msgstr "Ñканирование индекÑа не требуетÑÑ: " -#: access/heap/vacuumlazy.c:729 +#: access/heap/vacuumlazy.c:727 msgid "index scan needed: " msgstr "Ñканирование индекÑа требуетÑÑ: " -#: access/heap/vacuumlazy.c:731 +#: access/heap/vacuumlazy.c:729 #, c-format msgid "" "%u pages from table (%.2f%% of total) had %lld dead item identifiers " @@ -1403,22 +1403,22 @@ msgstr "" "на Ñтраницах таблицы (%u, %.2f%% от общего чиÑла) удалено мёртвых " "идентификаторов Ñлементов: %lld\n" -#: access/heap/vacuumlazy.c:736 +#: access/heap/vacuumlazy.c:734 msgid "index scan bypassed: " msgstr "Ñканирование индекÑа пропущено: " -#: access/heap/vacuumlazy.c:738 +#: access/heap/vacuumlazy.c:736 msgid "index scan bypassed by failsafe: " msgstr "Ñканирование индекÑа пропущено из-за защиты: " -#: access/heap/vacuumlazy.c:740 +#: access/heap/vacuumlazy.c:738 #, c-format msgid "%u pages from table (%.2f%% of total) have %lld dead item identifiers\n" msgstr "" "на Ñтраницах таблицы (%u, %.2f%% от общего чиÑла) находитÑÑ Ð¼Ñ‘Ñ€Ñ‚Ð²Ñ‹Ñ… " "идентификаторов Ñлементов: %lld\n" -#: access/heap/vacuumlazy.c:755 +#: access/heap/vacuumlazy.c:753 #, c-format msgid "" "index \"%s\": pages: %u in total, %u newly deleted, %u currently deleted, %u " @@ -1427,43 +1427,43 @@ msgstr "" "Ð¸Ð½Ð´ÐµÐºÑ \"%s\": вÑего Ñтраниц: %u, ÑÐµÐ¹Ñ‡Ð°Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¾: %u, удалено на данный " "момент: %u, Ñвободно: %u\n" -#: access/heap/vacuumlazy.c:767 commands/analyze.c:796 +#: access/heap/vacuumlazy.c:765 commands/analyze.c:796 #, c-format msgid "I/O timings: read: %.3f ms, write: %.3f ms\n" msgstr "Ð²Ñ€ÐµÐ¼Ñ Ð²Ð²Ð¾Ð´Ð°/вывода: чтение: %.3f мÑ, запиÑÑŒ: %.3f мÑ\n" -#: access/heap/vacuumlazy.c:777 commands/analyze.c:799 +#: access/heap/vacuumlazy.c:775 commands/analyze.c:799 #, c-format msgid "avg read rate: %.3f MB/s, avg write rate: %.3f MB/s\n" msgstr "" "ÑреднÑÑ ÑкороÑÑ‚ÑŒ чтениÑ: %.3f МБ/Ñ, ÑреднÑÑ ÑкороÑÑ‚ÑŒ запиÑи: %.3f МБ/Ñ\n" -#: access/heap/vacuumlazy.c:780 commands/analyze.c:801 +#: access/heap/vacuumlazy.c:778 commands/analyze.c:801 #, c-format msgid "buffer usage: %lld hits, %lld misses, %lld dirtied\n" msgstr "" "иÑпользование буфера: попаданий: %lld, промахов: %lld, «грÑзных» запиÑей: " "%lld\n" -#: access/heap/vacuumlazy.c:785 +#: access/heap/vacuumlazy.c:783 #, c-format msgid "WAL usage: %lld records, %lld full page images, %llu bytes\n" msgstr "" "иÑпользование WAL: запиÑей: %lld, полных образов Ñтраниц: %lld, байт: %llu\n" -#: access/heap/vacuumlazy.c:789 commands/analyze.c:805 +#: access/heap/vacuumlazy.c:787 commands/analyze.c:805 #, c-format msgid "system usage: %s" msgstr "нагрузка ÑиÑтемы: %s" -#: access/heap/vacuumlazy.c:2463 +#: access/heap/vacuumlazy.c:2461 #, c-format msgid "table \"%s\": removed %lld dead item identifiers in %u pages" msgstr "" "таблица \"%s\": удалено мёртвых идентификаторов Ñлементов: %lld, на " "Ñтраницах: %u" -#: access/heap/vacuumlazy.c:2629 +#: access/heap/vacuumlazy.c:2627 #, c-format msgid "" "bypassing nonessential maintenance of table \"%s.%s.%s\" as a failsafe after " @@ -1472,12 +1472,12 @@ msgstr "" "неÑущеÑÑ‚Ð²ÐµÐ½Ð½Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ Ð¾Ð±ÑÐ»ÑƒÐ¶Ð¸Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ \"%s.%s.%s\" пропуÑкаетÑÑ Ð² " "качеÑтве меры защиты поÑле %d Ñканирований индекÑа" -#: access/heap/vacuumlazy.c:2634 +#: access/heap/vacuumlazy.c:2632 #, c-format msgid "The table's relfrozenxid or relminmxid is too far in the past." msgstr "Значение relfrozenxid или relminmxid таблицы Ñлишком далеко в прошлом." -#: access/heap/vacuumlazy.c:2635 +#: access/heap/vacuumlazy.c:2633 #, c-format msgid "" "Consider increasing configuration parameter \"maintenance_work_mem\" or " @@ -1490,23 +1490,23 @@ msgstr "" "Также можно раÑÑмотреть другие ÑпоÑобы обеÑÐ¿ÐµÑ‡ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ñти " "VACUUM, ÑоответÑтвующей ÑкороÑти Ð²Ñ‹Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ‚Ð¾Ñ€Ð¾Ð² транзакций." -#: access/heap/vacuumlazy.c:2878 +#: access/heap/vacuumlazy.c:2876 #, c-format msgid "\"%s\": stopping truncate due to conflicting lock request" msgstr "\"%s\": оÑтановка уÑÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð·-за конфликтующего запроÑа блокировки" -#: access/heap/vacuumlazy.c:2948 +#: access/heap/vacuumlazy.c:2946 #, c-format msgid "table \"%s\": truncated %u to %u pages" msgstr "таблица \"%s\": уÑечение (было Ñтраниц: %u, Ñтало: %u)" -#: access/heap/vacuumlazy.c:3010 +#: access/heap/vacuumlazy.c:3008 #, c-format msgid "table \"%s\": suspending truncate due to conflicting lock request" msgstr "" "таблица \"%s\": приоÑтановка уÑÐµÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð·-за конфликтующего запроÑа блокировки" -#: access/heap/vacuumlazy.c:3170 +#: access/heap/vacuumlazy.c:3168 #, c-format msgid "" "disabling parallel option of vacuum on \"%s\" --- cannot vacuum temporary " @@ -1515,47 +1515,47 @@ msgstr "" "отключение параллельного режима очиÑтки \"%s\" --- Ñоздавать временные " "таблицы в параллельном режиме нельзÑ" -#: access/heap/vacuumlazy.c:3383 +#: access/heap/vacuumlazy.c:3381 #, c-format msgid "while scanning block %u offset %u of relation \"%s.%s\"" msgstr "при Ñканировании блока %u (Ñмещение %u) Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3386 +#: access/heap/vacuumlazy.c:3384 #, c-format msgid "while scanning block %u of relation \"%s.%s\"" msgstr "при Ñканировании блока %u Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3390 +#: access/heap/vacuumlazy.c:3388 #, c-format msgid "while scanning relation \"%s.%s\"" msgstr "при Ñканировании Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3398 +#: access/heap/vacuumlazy.c:3396 #, c-format msgid "while vacuuming block %u offset %u of relation \"%s.%s\"" msgstr "при очиÑтке блока %u (Ñмещение %u) Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3401 +#: access/heap/vacuumlazy.c:3399 #, c-format msgid "while vacuuming block %u of relation \"%s.%s\"" msgstr "при очиÑтке блока %u Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3405 +#: access/heap/vacuumlazy.c:3403 #, c-format msgid "while vacuuming relation \"%s.%s\"" msgstr "при очиÑтке Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3410 commands/vacuumparallel.c:1058 +#: access/heap/vacuumlazy.c:3408 commands/vacuumparallel.c:1058 #, c-format msgid "while vacuuming index \"%s\" of relation \"%s.%s\"" msgstr "при очиÑтке индекÑа \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3415 commands/vacuumparallel.c:1064 +#: access/heap/vacuumlazy.c:3413 commands/vacuumparallel.c:1064 #, c-format msgid "while cleaning up index \"%s\" of relation \"%s.%s\"" msgstr "при уборке индекÑа \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" -#: access/heap/vacuumlazy.c:3421 +#: access/heap/vacuumlazy.c:3419 #, c-format msgid "while truncating relation \"%s.%s\" to %u blocks" msgstr "при уÑечении Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\" до %u блок." @@ -1575,14 +1575,19 @@ msgstr "Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ð° доÑтупа индекÑа \"%s\" не задан msgid "transaction aborted during system catalog scan" msgstr "Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ð¸Ñ Ð¿Ñ€ÐµÑ€Ð²Ð°Ð½Ð° во Ð²Ñ€ÐµÐ¼Ñ ÑÐºÐ°Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ ÑиÑтемного каталога" -#: access/index/indexam.c:203 catalog/objectaddress.c:1376 +#: access/index/genam.c:657 access/index/indexam.c:87 +#, c-format +msgid "cannot access index \"%s\" while it is being reindexed" +msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" переÑтраиваетÑÑ, обращатьÑÑ Ðº нему нельзÑ" + +#: access/index/indexam.c:208 catalog/objectaddress.c:1376 #: commands/indexcmds.c:2783 commands/tablecmds.c:271 commands/tablecmds.c:295 -#: commands/tablecmds.c:17199 commands/tablecmds.c:18984 +#: commands/tablecmds.c:17236 commands/tablecmds.c:19021 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" - Ñто не индекÑ" -#: access/index/indexam.c:1010 +#: access/index/indexam.c:1015 #, c-format msgid "operator class %s has no options" msgstr "у клаÑÑа операторов %s нет параметров" @@ -1603,7 +1608,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Возможно, Ñто вызвано переменной природой индекÑного выражениÑ." #: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 -#: parser/parse_utilcmd.c:2333 +#: parser/parse_utilcmd.c:2342 #, c-format msgid "index \"%s\" is not a btree" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" не ÑвлÑетÑÑ b-деревом" @@ -1701,8 +1706,8 @@ msgid "\"%s\" is an index" msgstr "\"%s\" - Ñто индекÑ" #: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 -#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13888 -#: commands/tablecmds.c:17208 +#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13930 +#: commands/tablecmds.c:17245 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" - Ñто ÑоÑтавной тип" @@ -3007,12 +3012,12 @@ msgstr "" "CHECKPOINT на ведущем Ñервере, а затем попробуйте резервное копирование \"на " "ходу\" ещё раз." -#: access/transam/xlog.c:8332 backup/basebackup.c:1345 utils/adt/misc.c:347 +#: access/transam/xlog.c:8332 backup/basebackup.c:1349 utils/adt/misc.c:347 #, c-format msgid "symbolic link \"%s\" target is too long" msgstr "целевой путь ÑимволичеÑкой ÑÑылки \"%s\" Ñлишком длинный" -#: access/transam/xlog.c:8382 backup/basebackup.c:1360 +#: access/transam/xlog.c:8382 backup/basebackup.c:1364 #: commands/tablespace.c:399 commands/tablespace.c:581 utils/adt/misc.c:355 #, c-format msgid "tablespaces are not supported on this platform" @@ -3026,13 +3031,13 @@ msgstr "табличные проÑтранÑтва не Ð¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÑŽÑ msgid "invalid data in file \"%s\"" msgstr "неверные данные в файле \"%s\"" -#: access/transam/xlog.c:8558 backup/basebackup.c:1200 +#: access/transam/xlog.c:8558 backup/basebackup.c:1204 #, c-format msgid "the standby was promoted during online backup" msgstr "" "дежурный Ñервер был повышен в процеÑÑе резервного ÐºÐ¾Ð¿Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ \"на ходу\"" -#: access/transam/xlog.c:8559 backup/basebackup.c:1201 +#: access/transam/xlog.c:8559 backup/basebackup.c:1205 #, c-format msgid "" "This means that the backup being taken is corrupt and should not be used. " @@ -4094,17 +4099,17 @@ msgstr "параметры ÑÐ¶Ð°Ñ‚Ð¸Ñ Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ñ‹Ð²Ð°Ñ‚ÑŒ, еÑлРmsgid "invalid compression specification: %s" msgstr "неправильное указание ÑжатиÑ: %s" -#: backup/basebackup.c:1431 +#: backup/basebackup.c:1435 #, c-format msgid "skipping special file \"%s\"" msgstr "Ñпециальный файл \"%s\" пропуÑкаетÑÑ" -#: backup/basebackup.c:1550 +#: backup/basebackup.c:1554 #, c-format msgid "invalid segment number %d in file \"%s\"" msgstr "неверный номер Ñегмента %d в файле \"%s\"" -#: backup/basebackup.c:1582 +#: backup/basebackup.c:1586 #, c-format msgid "" "could not verify checksum in file \"%s\", block %u: read buffer size %d and " @@ -4113,7 +4118,7 @@ msgstr "" "не удалоÑÑŒ проверить контрольную Ñумму в файле \"%s\", блоке %u: размер " "прочитанного буфера (%d) отличаетÑÑ Ð¾Ñ‚ размера Ñтраницы (%d)" -#: backup/basebackup.c:1656 +#: backup/basebackup.c:1660 #, c-format msgid "" "checksum verification failed in file \"%s\", block %u: calculated %X but " @@ -4122,14 +4127,14 @@ msgstr "" "ошибка контрольной Ñуммы в файле \"%s\", блоке %u: вычиÑлено значение %X, но " "ожидалоÑÑŒ %X" -#: backup/basebackup.c:1663 +#: backup/basebackup.c:1667 #, c-format msgid "" "further checksum verification failures in file \"%s\" will not be reported" msgstr "" "о дальнейших ошибках контрольных Ñумм в файле \"%s\" ÑообщатьÑÑ Ð½Ðµ будет" -#: backup/basebackup.c:1719 +#: backup/basebackup.c:1723 #, c-format msgid "file \"%s\" has a total of %d checksum verification failure" msgid_plural "file \"%s\" has a total of %d checksum verification failures" @@ -4137,12 +4142,12 @@ msgstr[0] "вÑего в файле \"%s\" обнаружено ошибок кРmsgstr[1] "вÑего в файле \"%s\" обнаружено ошибок контрольных Ñумм: %d" msgstr[2] "вÑего в файле \"%s\" обнаружено ошибок контрольных Ñумм: %d" -#: backup/basebackup.c:1765 +#: backup/basebackup.c:1769 #, c-format msgid "file name too long for tar format: \"%s\"" msgstr "Ñлишком длинное Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° Ð´Ð»Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° tar: \"%s\"" -#: backup/basebackup.c:1770 +#: backup/basebackup.c:1774 #, c-format msgid "" "symbolic link target too long for tar format: file name \"%s\", target \"%s\"" @@ -4411,26 +4416,26 @@ msgstr "предложение IN SCHEMA Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ð #: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 #: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:779 -#: commands/sequence.c:1663 commands/tablecmds.c:7275 commands/tablecmds.c:7431 -#: commands/tablecmds.c:7481 commands/tablecmds.c:7555 -#: commands/tablecmds.c:7625 commands/tablecmds.c:7737 -#: commands/tablecmds.c:7831 commands/tablecmds.c:7890 -#: commands/tablecmds.c:7979 commands/tablecmds.c:8009 -#: commands/tablecmds.c:8137 commands/tablecmds.c:8219 -#: commands/tablecmds.c:8375 commands/tablecmds.c:8493 -#: commands/tablecmds.c:12226 commands/tablecmds.c:12407 -#: commands/tablecmds.c:12567 commands/tablecmds.c:13731 -#: commands/tablecmds.c:16300 commands/trigger.c:954 parser/analyze.c:2506 -#: parser/parse_relation.c:725 parser/parse_target.c:1063 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3435 -#: parser/parse_utilcmd.c:3471 parser/parse_utilcmd.c:3513 utils/adt/acl.c:2869 -#: utils/adt/ruleutils.c:2830 +#: commands/sequence.c:1663 commands/tablecmds.c:7274 commands/tablecmds.c:7430 +#: commands/tablecmds.c:7480 commands/tablecmds.c:7554 +#: commands/tablecmds.c:7624 commands/tablecmds.c:7736 +#: commands/tablecmds.c:7830 commands/tablecmds.c:7889 +#: commands/tablecmds.c:7978 commands/tablecmds.c:8008 +#: commands/tablecmds.c:8136 commands/tablecmds.c:8218 +#: commands/tablecmds.c:8374 commands/tablecmds.c:8496 +#: commands/tablecmds.c:12235 commands/tablecmds.c:12416 +#: commands/tablecmds.c:12576 commands/tablecmds.c:13773 +#: commands/tablecmds.c:16342 commands/trigger.c:954 parser/analyze.c:2517 +#: parser/parse_relation.c:725 parser/parse_target.c:1077 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3444 +#: parser/parse_utilcmd.c:3480 parser/parse_utilcmd.c:3522 utils/adt/acl.c:2869 +#: utils/adt/ruleutils.c:2828 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "Ñтолбец \"%s\" в таблице \"%s\" не ÑущеÑтвует" #: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 -#: commands/tablecmds.c:253 commands/tablecmds.c:17172 utils/adt/acl.c:2077 +#: commands/tablecmds.c:253 commands/tablecmds.c:17209 utils/adt/acl.c:2077 #: utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 #: utils/adt/acl.c:2199 utils/adt/acl.c:2229 #, c-format @@ -4989,7 +4994,7 @@ msgstr "вызывать %s() может только Ñуперпользова msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() можно иÑпользовать только Ð´Ð»Ñ ÑиÑтемных каталогов" -#: catalog/catalog.c:619 parser/parse_utilcmd.c:2280 +#: catalog/catalog.c:619 parser/parse_utilcmd.c:2289 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" не принадлежит таблице \"%s\"" @@ -5004,32 +5009,32 @@ msgstr "Ñтолбец \"%s\" имеет тип не oid" msgid "index \"%s\" is not the index for column \"%s\"" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" не ÑвлÑетÑÑ Ð¸Ð½Ð´ÐµÐºÑом Ñтолбца \"%s\"" -#: catalog/dependency.c:538 catalog/pg_shdepend.c:657 +#: catalog/dependency.c:545 catalog/pg_shdepend.c:657 #, c-format msgid "cannot drop %s because it is required by the database system" msgstr "удалить объект %s нельзÑ, так как он нужен ÑиÑтеме баз данных" -#: catalog/dependency.c:830 catalog/dependency.c:1057 +#: catalog/dependency.c:837 catalog/dependency.c:1064 #, c-format msgid "cannot drop %s because %s requires it" msgstr "удалить объект %s нельзÑ, так как он нужен объекту %s" -#: catalog/dependency.c:832 catalog/dependency.c:1059 +#: catalog/dependency.c:839 catalog/dependency.c:1066 #, c-format msgid "You can drop %s instead." msgstr "Однако можно удалить %s." -#: catalog/dependency.c:1138 catalog/dependency.c:1147 +#: catalog/dependency.c:1145 catalog/dependency.c:1154 #, c-format msgid "%s depends on %s" msgstr "%s завиÑит от объекта %s" -#: catalog/dependency.c:1162 catalog/dependency.c:1171 +#: catalog/dependency.c:1169 catalog/dependency.c:1178 #, c-format msgid "drop cascades to %s" msgstr "удаление раÑпроÑтранÑетÑÑ Ð½Ð° объект %s" -#: catalog/dependency.c:1179 catalog/pg_shdepend.c:822 +#: catalog/dependency.c:1186 catalog/pg_shdepend.c:822 #, c-format msgid "" "\n" @@ -5047,14 +5052,14 @@ msgstr[2] "" "\n" "и ещё %d объектов (Ñм. ÑпиÑок в протоколе Ñервера)" -#: catalog/dependency.c:1191 +#: catalog/dependency.c:1198 #, c-format msgid "cannot drop %s because other objects depend on it" msgstr "удалить объект %s нельзÑ, так как от него завиÑÑÑ‚ другие объекты" -#: catalog/dependency.c:1194 catalog/dependency.c:1201 -#: catalog/dependency.c:1212 commands/tablecmds.c:1328 -#: commands/tablecmds.c:14373 commands/tablespace.c:476 commands/user.c:1008 +#: catalog/dependency.c:1201 catalog/dependency.c:1208 +#: catalog/dependency.c:1219 commands/tablecmds.c:1324 +#: commands/tablecmds.c:14415 commands/tablespace.c:476 commands/user.c:1008 #: commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 #: storage/lmgr/deadlock.c:1151 storage/lmgr/proc.c:1421 utils/misc/guc.c:7402 #: utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11880 @@ -5064,18 +5069,18 @@ msgstr "удалить объект %s нельзÑ, так как от него msgid "%s" msgstr "%s" -#: catalog/dependency.c:1195 catalog/dependency.c:1202 +#: catalog/dependency.c:1202 catalog/dependency.c:1209 #, c-format msgid "Use DROP ... CASCADE to drop the dependent objects too." msgstr "Ð”Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð·Ð°Ð²Ð¸Ñимых объектов иÑпользуйте DROP ... CASCADE." -#: catalog/dependency.c:1199 +#: catalog/dependency.c:1206 #, c-format msgid "cannot drop desired object(s) because other objects depend on them" msgstr "" "удалить запрошенные объекты нельзÑ, так как от них завиÑÑÑ‚ другие объекты" -#: catalog/dependency.c:1207 +#: catalog/dependency.c:1214 #, c-format msgid "drop cascades to %d other object" msgid_plural "drop cascades to %d other objects" @@ -5083,13 +5088,13 @@ msgstr[0] "удаление раÑпроÑтранÑетÑÑ Ð½Ð° ещё %d об msgstr[1] "удаление раÑпроÑтранÑетÑÑ Ð½Ð° ещё %d объекта" msgstr[2] "удаление раÑпроÑтранÑетÑÑ Ð½Ð° ещё %d объектов" -#: catalog/dependency.c:1889 +#: catalog/dependency.c:1896 #, c-format msgid "constant of the type %s cannot be used here" msgstr "конÑтанту типа %s здеÑÑŒ иÑпользовать нельзÑ" -#: catalog/dependency.c:2410 parser/parse_relation.c:3374 -#: parser/parse_relation.c:3384 +#: catalog/dependency.c:2421 parser/parse_relation.c:3383 +#: parser/parse_relation.c:3393 #, c-format msgid "column %d of relation \"%s\" does not exist" msgstr "Ñтолбец %d Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" не ÑущеÑтвует" @@ -5104,13 +5109,13 @@ msgstr "нет прав Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s\"" msgid "System catalog modifications are currently disallowed." msgstr "Изменение ÑиÑтемного каталога в текущем ÑоÑтоÑнии запрещено." -#: catalog/heap.c:466 commands/tablecmds.c:2348 commands/tablecmds.c:2985 -#: commands/tablecmds.c:6865 +#: catalog/heap.c:466 commands/tablecmds.c:2344 commands/tablecmds.c:2981 +#: commands/tablecmds.c:6864 #, c-format msgid "tables can have at most %d columns" msgstr "макÑимальное чиÑло Ñтолбцов в таблице: %d" -#: catalog/heap.c:484 commands/tablecmds.c:7165 +#: catalog/heap.c:484 commands/tablecmds.c:7164 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "Ð¸Ð¼Ñ Ñтолбца \"%s\" конфликтует Ñ ÑиÑтемным Ñтолбцом" @@ -5121,23 +5126,23 @@ msgid "column name \"%s\" specified more than once" msgstr "Ð¸Ð¼Ñ Ñтолбца \"%s\" указано неоднократно" #. translator: first %s is an integer not a name -#: catalog/heap.c:575 +#: catalog/heap.c:578 #, c-format msgid "partition key column %s has pseudo-type %s" msgstr "Ñтолбец \"%s\" ключа Ñ€Ð°Ð·Ð±Ð¸ÐµÐ½Ð¸Ñ Ð¸Ð¼ÐµÐµÑ‚ пÑевдотип %s" -#: catalog/heap.c:580 +#: catalog/heap.c:583 #, c-format msgid "column \"%s\" has pseudo-type %s" msgstr "Ñтолбец \"%s\" имеет пÑевдотип %s" -#: catalog/heap.c:611 +#: catalog/heap.c:614 #, c-format msgid "composite type %s cannot be made a member of itself" msgstr "ÑоÑтавной тип %s не может Ñодержать ÑÐµÐ±Ñ Ð¶Ðµ" #. translator: first %s is an integer not a name -#: catalog/heap.c:666 +#: catalog/heap.c:669 #, c-format msgid "" "no collation was derived for partition key column %s with collatable type %s" @@ -5145,20 +5150,20 @@ msgstr "" "Ð´Ð»Ñ Ð²Ñ…Ð¾Ð´Ñщего в ключ Ñ€Ð°Ð·Ð±Ð¸ÐµÐ½Ð¸Ñ Ñтолбца \"%s\" Ñ Ñортируемым типом %s не " "удалоÑÑŒ получить правило Ñортировки" -#: catalog/heap.c:672 commands/createas.c:203 commands/createas.c:512 +#: catalog/heap.c:675 commands/createas.c:203 commands/createas.c:512 #, c-format msgid "no collation was derived for column \"%s\" with collatable type %s" msgstr "" "Ð´Ð»Ñ Ñтолбца \"%s\" Ñ Ñортируемым типом %s не удалоÑÑŒ получить правило " "Ñортировки" -#: catalog/heap.c:1148 catalog/index.c:875 commands/createas.c:408 -#: commands/tablecmds.c:3890 +#: catalog/heap.c:1151 catalog/index.c:875 commands/createas.c:408 +#: commands/tablecmds.c:3886 #, c-format msgid "relation \"%s\" already exists" msgstr "отношение \"%s\" уже ÑущеÑтвует" -#: catalog/heap.c:1164 catalog/pg_type.c:436 catalog/pg_type.c:784 +#: catalog/heap.c:1167 catalog/pg_type.c:436 catalog/pg_type.c:784 #: catalog/pg_type.c:931 commands/typecmds.c:249 commands/typecmds.c:261 #: commands/typecmds.c:754 commands/typecmds.c:1169 commands/typecmds.c:1395 #: commands/typecmds.c:1575 commands/typecmds.c:2547 @@ -5166,7 +5171,7 @@ msgstr "отношение \"%s\" уже ÑущеÑтвует" msgid "type \"%s\" already exists" msgstr "тип \"%s\" уже ÑущеÑтвует" -#: catalog/heap.c:1165 +#: catalog/heap.c:1168 #, c-format msgid "" "A relation has an associated type of the same name, so you must use a name " @@ -5175,53 +5180,53 @@ msgstr "" "С отношением уже ÑвÑзан тип Ñ Ñ‚Ð°ÐºÐ¸Ð¼ же именем; выберите имÑ, не " "конфликтующее Ñ ÑущеÑтвующими типами." -#: catalog/heap.c:1205 +#: catalog/heap.c:1208 #, c-format msgid "toast relfilenode value not set when in binary upgrade mode" msgstr "значение relfilenode Ð´Ð»Ñ TOAST не задано в режиме двоичного обновлениÑ" -#: catalog/heap.c:1216 +#: catalog/heap.c:1219 #, c-format msgid "pg_class heap OID value not set when in binary upgrade mode" msgstr "значение OID кучи в pg_class не задано в режиме двоичного обновлениÑ" -#: catalog/heap.c:1226 +#: catalog/heap.c:1229 #, c-format msgid "relfilenode value not set when in binary upgrade mode" msgstr "значение relfilenode не задано в режиме двоичного обновлениÑ" -#: catalog/heap.c:2127 +#: catalog/heap.c:2130 #, c-format msgid "cannot add NO INHERIT constraint to partitioned table \"%s\"" msgstr "" "добавить ограничение NO INHERIT к Ñекционированной таблице \"%s\" нельзÑ" -#: catalog/heap.c:2402 +#: catalog/heap.c:2405 #, c-format msgid "check constraint \"%s\" already exists" msgstr "ограничение-проверка \"%s\" уже ÑущеÑтвует" -#: catalog/heap.c:2572 catalog/index.c:889 catalog/pg_constraint.c:689 -#: commands/tablecmds.c:8867 +#: catalog/heap.c:2575 catalog/index.c:889 catalog/pg_constraint.c:689 +#: commands/tablecmds.c:8870 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "ограничение \"%s\" Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" уже ÑущеÑтвует" -#: catalog/heap.c:2579 +#: catalog/heap.c:2582 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует Ñ Ð½ÐµÐ½Ð°Ñледуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2590 +#: catalog/heap.c:2593 #, c-format msgid "" "constraint \"%s\" conflicts with inherited constraint on relation \"%s\"" msgstr "" "ограничение \"%s\" конфликтует Ñ Ð½Ð°Ñледуемым ограничением таблицы \"%s\"" -#: catalog/heap.c:2600 +#: catalog/heap.c:2603 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on relation \"%s\"" @@ -5229,64 +5234,64 @@ msgstr "" "ограничение \"%s\" конфликтует Ñ Ð½ÐµÐ¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð½Ñ‹Ð¼ (NOT VALID) ограничением " "таблицы \"%s\"" -#: catalog/heap.c:2605 +#: catalog/heap.c:2608 #, c-format msgid "merging constraint \"%s\" with inherited definition" msgstr "ÑлиÑние Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ \"%s\" Ñ ÑƒÐ½Ð°Ñледованным определением" -#: catalog/heap.c:2710 +#: catalog/heap.c:2713 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" msgstr "" "иÑпользовать генерируемый Ñтолбец \"%s\" в выражении генерируемого Ñтолбца " "нельзÑ" -#: catalog/heap.c:2712 +#: catalog/heap.c:2715 #, c-format msgid "A generated column cannot reference another generated column." msgstr "" "Генерируемый Ñтолбец не может ÑÑылатьÑÑ Ð½Ð° другой генерируемый Ñтолбец." -#: catalog/heap.c:2718 +#: catalog/heap.c:2721 #, c-format msgid "cannot use whole-row variable in column generation expression" msgstr "" "в выражении генерируемого Ñтолбца Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать переменные «вÑÑ Ñтрока»" -#: catalog/heap.c:2719 +#: catalog/heap.c:2722 #, c-format msgid "This would cause the generated column to depend on its own value." msgstr "" "Ðто Ñделало бы генерируемый Ñтолбец завиÑимым от ÑобÑтвенного значениÑ." -#: catalog/heap.c:2774 +#: catalog/heap.c:2777 #, c-format msgid "generation expression is not immutable" msgstr "генерирующее выражение не ÑвлÑетÑÑ Ð¿Ð¾ÑтоÑнным" -#: catalog/heap.c:2802 rewrite/rewriteHandler.c:1290 +#: catalog/heap.c:2805 rewrite/rewriteHandler.c:1290 #, c-format msgid "column \"%s\" is of type %s but default expression is of type %s" msgstr "Ñтолбец \"%s\" имеет тип %s, но тип Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию %s" -#: catalog/heap.c:2807 commands/prepare.c:334 parser/analyze.c:2730 -#: parser/parse_target.c:594 parser/parse_target.c:882 -#: parser/parse_target.c:892 rewrite/rewriteHandler.c:1295 +#: catalog/heap.c:2810 commands/prepare.c:334 parser/analyze.c:2741 +#: parser/parse_target.c:594 parser/parse_target.c:891 +#: parser/parse_target.c:901 rewrite/rewriteHandler.c:1295 #, c-format msgid "You will need to rewrite or cast the expression." msgstr "Перепишите выражение или преобразуйте его тип." -#: catalog/heap.c:2854 +#: catalog/heap.c:2857 #, c-format msgid "only table \"%s\" can be referenced in check constraint" msgstr "в ограничении-проверке можно ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на таблицу \"%s\"" -#: catalog/heap.c:3152 +#: catalog/heap.c:3155 #, c-format msgid "unsupported ON COMMIT and foreign key combination" msgstr "неподдерживаемое Ñочетание внешнего ключа Ñ ON COMMIT" -#: catalog/heap.c:3153 +#: catalog/heap.c:3156 #, c-format msgid "" "Table \"%s\" references \"%s\", but they do not have the same ON COMMIT " @@ -5294,23 +5299,23 @@ msgid "" msgstr "" "Таблица \"%s\" ÑÑылаетÑÑ Ð½Ð° \"%s\", и Ð´Ð»Ñ Ð½Ð¸Ñ… задан разный режим ON COMMIT." -#: catalog/heap.c:3158 +#: catalog/heap.c:3161 #, c-format msgid "cannot truncate a table referenced in a foreign key constraint" msgstr "опуÑтошить таблицу, на которую ÑÑылаетÑÑ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¹ ключ, нельзÑ" -#: catalog/heap.c:3159 +#: catalog/heap.c:3162 #, c-format msgid "Table \"%s\" references \"%s\"." msgstr "Таблица \"%s\" ÑÑылаетÑÑ Ð½Ð° \"%s\"." -#: catalog/heap.c:3161 +#: catalog/heap.c:3164 #, c-format msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "" "ОпуÑтошите таблицу \"%s\" параллельно или иÑпользуйте TRUNCATE ... CASCADE." -#: catalog/index.c:224 parser/parse_utilcmd.c:2185 +#: catalog/index.c:224 parser/parse_utilcmd.c:2194 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "таблица \"%s\" не может иметь неÑколько первичных ключей" @@ -5390,7 +5395,7 @@ msgid "cannot reindex invalid index on TOAST table" msgstr "переÑтроить нерабочий Ð¸Ð½Ð´ÐµÐºÑ Ð² таблице TOAST нельзÑ" #: catalog/index.c:3690 commands/indexcmds.c:3416 commands/indexcmds.c:3560 -#: commands/tablecmds.c:3305 +#: commands/tablecmds.c:3301 #, c-format msgid "cannot move system relation \"%s\"" msgstr "перемеÑтить ÑиÑтемную таблицу \"%s\" нельзÑ" @@ -5486,12 +5491,12 @@ msgstr "шаблон текÑтового поиÑка \"%s\" не ÑущеÑÑ‚Ð msgid "text search configuration \"%s\" does not exist" msgstr "ÐºÐ¾Ð½Ñ„Ð¸Ð³ÑƒÑ€Ð°Ñ†Ð¸Ñ Ñ‚ÐµÐºÑтового поиÑка \"%s\" не ÑущеÑтвует" -#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1255 +#: catalog/namespace.c:2883 parser/parse_expr.c:806 parser/parse_target.c:1269 #, c-format msgid "cross-database references are not implemented: %s" msgstr "ÑÑылки между базами не реализованы: %s" -#: catalog/namespace.c:2889 parser/parse_expr.c:813 parser/parse_target.c:1262 +#: catalog/namespace.c:2889 parser/parse_expr.c:813 parser/parse_target.c:1276 #: gram.y:18258 gram.y:18298 #, c-format msgid "improper qualified name (too many dotted names): %s" @@ -5508,7 +5513,7 @@ msgid "cannot move objects into or out of TOAST schema" msgstr "перемещать объекты в/из Ñхем TOAST нельзÑ" #: catalog/namespace.c:3098 commands/schemacmds.c:263 commands/schemacmds.c:343 -#: commands/tablecmds.c:1273 +#: commands/tablecmds.c:1269 #, c-format msgid "schema \"%s\" does not exist" msgstr "Ñхема \"%s\" не ÑущеÑтвует" @@ -5550,26 +5555,26 @@ msgid "List syntax is invalid." msgstr "Ошибка ÑинтакÑиÑа в ÑпиÑке." #: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 -#: commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2184 -#: commands/tablecmds.c:12343 +#: commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2180 +#: commands/tablecmds.c:12352 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" - Ñто не таблица" #: catalog/objectaddress.c:1398 commands/tablecmds.c:259 -#: commands/tablecmds.c:17177 commands/view.c:119 +#: commands/tablecmds.c:17214 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" - Ñто не предÑтавление" #: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 -#: commands/tablecmds.c:17182 +#: commands/tablecmds.c:17219 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" - Ñто не материализованное предÑтавление" #: catalog/objectaddress.c:1412 commands/tablecmds.c:283 -#: commands/tablecmds.c:17187 +#: commands/tablecmds.c:17224 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" - Ñто не ÑтороннÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°" @@ -6375,8 +6380,8 @@ msgstr "" "Ðта ÑÐµÐºÑ†Ð¸Ñ Ð¾Ñ‚ÑоединÑетÑÑ Ð¿Ð°Ñ€Ð°Ð»Ð»ÐµÐ»ÑŒÐ½Ð¾ или Ð´Ð»Ñ Ð½ÐµÑ‘ не была завершена Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ " "отÑоединениÑ." -#: catalog/pg_inherits.c:596 commands/tablecmds.c:4488 -#: commands/tablecmds.c:15489 +#: catalog/pg_inherits.c:596 commands/tablecmds.c:4484 +#: commands/tablecmds.c:15531 #, c-format msgid "" "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending " @@ -6567,7 +6572,7 @@ msgstr "SQL-функции не могут возвращать тип %s" msgid "SQL functions cannot have arguments of type %s" msgstr "SQL-функции не могут иметь аргументы типа %s" -#: catalog/pg_proc.c:1000 executor/functions.c:1473 +#: catalog/pg_proc.c:1001 executor/functions.c:1474 #, c-format msgid "SQL function \"%s\"" msgstr "SQL-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ \"%s\"" @@ -7134,7 +7139,7 @@ msgstr "клаÑтеризовать временные таблицы другРmsgid "there is no previously clustered index for table \"%s\"" msgstr "таблица \"%s\" ранее не клаÑтеризовалаÑÑŒ по какому-либо индекÑу" -#: commands/cluster.c:190 commands/tablecmds.c:14187 commands/tablecmds.c:16068 +#: commands/cluster.c:190 commands/tablecmds.c:14229 commands/tablecmds.c:16110 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ \"%s\" не ÑущеÑтвует" @@ -7149,7 +7154,7 @@ msgstr "клаÑтеризовать разделÑемый каталог неРmsgid "cannot vacuum temporary tables of other sessions" msgstr "очищать временные таблицы других ÑеанÑов нельзÑ" -#: commands/cluster.c:511 commands/tablecmds.c:16078 +#: commands/cluster.c:511 commands/tablecmds.c:16120 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" не ÑвлÑетÑÑ Ð¸Ð½Ð´ÐµÐºÑом таблицы \"%s\"" @@ -7216,7 +7221,7 @@ msgid "collation attribute \"%s\" not recognized" msgstr "атрибут COLLATION \"%s\" не раÑпознан" #: commands/collationcmds.c:119 commands/collationcmds.c:125 -#: commands/define.c:389 commands/tablecmds.c:7812 +#: commands/define.c:389 commands/tablecmds.c:7811 #: replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 #: replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 #: replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 @@ -7570,15 +7575,15 @@ msgid "Generated columns cannot be used in COPY." msgstr "Генерируемые Ñтолбцы Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в COPY." #: commands/copy.c:784 commands/indexcmds.c:1826 commands/statscmds.c:243 -#: commands/tablecmds.c:2379 commands/tablecmds.c:3035 -#: commands/tablecmds.c:3529 parser/parse_relation.c:3660 -#: parser/parse_relation.c:3680 utils/adt/tsvector_op.c:2688 +#: commands/tablecmds.c:2375 commands/tablecmds.c:3031 +#: commands/tablecmds.c:3525 parser/parse_relation.c:3669 +#: parser/parse_relation.c:3689 utils/adt/tsvector_op.c:2688 #, c-format msgid "column \"%s\" does not exist" msgstr "Ñтолбец \"%s\" не ÑущеÑтвует" -#: commands/copy.c:791 commands/tablecmds.c:2405 commands/trigger.c:963 -#: parser/parse_target.c:1079 parser/parse_target.c:1090 +#: commands/copy.c:791 commands/tablecmds.c:2401 commands/trigger.c:963 +#: parser/parse_target.c:1093 parser/parse_target.c:1104 #, c-format msgid "column \"%s\" specified more than once" msgstr "Ñтолбец \"%s\" указан неоднократно" @@ -8045,7 +8050,7 @@ msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð‘Ð” \"%s\"" #: commands/dbcommands.c:1005 #, c-format -msgid "Valid strategies are \"wal_log\", and \"file_copy\"." +msgid "Valid strategies are \"wal_log\" and \"file_copy\"." msgstr "Возможные Ñтратегии: \"wal_log\" и \"file_copy\"." #: commands/dbcommands.c:1024 @@ -8434,7 +8439,7 @@ msgid "invalid argument for %s: \"%s\"" msgstr "неверный аргумент Ð´Ð»Ñ %s: \"%s\"" #: commands/dropcmds.c:100 commands/functioncmds.c:1394 -#: utils/adt/ruleutils.c:2928 +#: utils/adt/ruleutils.c:2926 #, c-format msgid "\"%s\" is an aggregate function" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ \"%s\" ÑвлÑетÑÑ Ð°Ð³Ñ€ÐµÐ³Ð°Ñ‚Ð½Ð¾Ð¹" @@ -8444,14 +8449,14 @@ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ \"%s\" ÑвлÑетÑÑ Ð°Ð³Ñ€ÐµÐ³Ð°Ñ‚Ð½Ð¾Ð¹" msgid "Use DROP AGGREGATE to drop aggregate functions." msgstr "ИÑпользуйте DROP AGGREGATE Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð°Ð³Ñ€ÐµÐ³Ð°Ñ‚Ð½Ñ‹Ñ… функций." -#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3613 -#: commands/tablecmds.c:3771 commands/tablecmds.c:3823 -#: commands/tablecmds.c:16495 tcop/utility.c:1332 +#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3609 +#: commands/tablecmds.c:3767 commands/tablecmds.c:3819 +#: commands/tablecmds.c:16537 tcop/utility.c:1332 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "отношение \"%s\" не ÑущеÑтвует, пропуÑкаетÑÑ" -#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1278 +#: commands/dropcmds.c:188 commands/dropcmds.c:287 commands/tablecmds.c:1274 #, c-format msgid "schema \"%s\" does not exist, skipping" msgstr "Ñхема \"%s\" не ÑущеÑтвует, пропуÑкаетÑÑ" @@ -9521,7 +9526,7 @@ msgstr "" "Ð´Ð»Ñ Ñекционированных отношений Ð½ÐµÐ»ÑŒÐ·Ñ Ð½Ð°Ð·Ð½Ð°Ñ‡Ð¸Ñ‚ÑŒ табличное проÑтранÑтво по " "умолчанию" -#: commands/indexcmds.c:792 commands/tablecmds.c:816 commands/tablecmds.c:3312 +#: commands/indexcmds.c:792 commands/tablecmds.c:812 commands/tablecmds.c:3308 #, c-format msgid "only shared relations can be placed in pg_global tablespace" msgstr "" @@ -9609,13 +9614,13 @@ msgstr "Таблица \"%s\" Ñодержит Ñекции, ÑвлÑющиеÑÑ msgid "functions in index predicate must be marked IMMUTABLE" msgstr "функции в предикате индекÑа должны быть помечены как IMMUTABLE" -#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2529 -#: parser/parse_utilcmd.c:2664 +#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2538 +#: parser/parse_utilcmd.c:2673 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "указанный в ключе Ñтолбец \"%s\" не ÑущеÑтвует" -#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1826 +#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1835 #, c-format msgid "expressions are not supported in included columns" msgstr "Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð²Ð¾ включаемых Ñтолбцах не поддерживаютÑÑ" @@ -9650,8 +9655,8 @@ msgstr "включаемые Ñтолбцы не поддерживают ука msgid "could not determine which collation to use for index expression" msgstr "не удалоÑÑŒ определить правило Ñортировки Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑного выражениÑ" -#: commands/indexcmds.c:1962 commands/tablecmds.c:17520 commands/typecmds.c:807 -#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3796 +#: commands/indexcmds.c:1962 commands/tablecmds.c:17557 commands/typecmds.c:807 +#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3805 #: utils/adt/misc.c:601 #, c-format msgid "collations are not supported by type %s" @@ -9693,8 +9698,8 @@ msgstr "метод доÑтупа \"%s\" не поддерживает ÑортРmsgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "метод доÑтупа \"%s\" не поддерживает параметр NULLS FIRST/LAST" -#: commands/indexcmds.c:2144 commands/tablecmds.c:17545 -#: commands/tablecmds.c:17551 commands/typecmds.c:2302 +#: commands/indexcmds.c:2144 commands/tablecmds.c:17582 +#: commands/tablecmds.c:17588 commands/typecmds.c:2302 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "" @@ -10158,12 +10163,12 @@ msgid "operator attribute \"%s\" cannot be changed" msgstr "атрибут оператора \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ" #: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 -#: commands/tablecmds.c:1609 commands/tablecmds.c:2197 -#: commands/tablecmds.c:3423 commands/tablecmds.c:6312 -#: commands/tablecmds.c:9148 commands/tablecmds.c:17098 -#: commands/tablecmds.c:17133 commands/trigger.c:328 commands/trigger.c:1378 -#: commands/trigger.c:1488 rewrite/rewriteDefine.c:278 -#: rewrite/rewriteDefine.c:957 rewrite/rewriteRemove.c:80 +#: commands/tablecmds.c:1605 commands/tablecmds.c:2193 +#: commands/tablecmds.c:3419 commands/tablecmds.c:6308 +#: commands/tablecmds.c:9151 commands/tablecmds.c:17135 +#: commands/tablecmds.c:17170 commands/trigger.c:328 commands/trigger.c:1378 +#: commands/trigger.c:1488 rewrite/rewriteDefine.c:279 +#: rewrite/rewriteDefine.c:963 rewrite/rewriteRemove.c:80 #, c-format msgid "permission denied: \"%s\" is a system catalog" msgstr "доÑтуп запрещён: \"%s\" - Ñто ÑиÑтемный каталог" @@ -10654,8 +10659,8 @@ msgstr "" msgid "cannot change ownership of identity sequence" msgstr "Ñменить владельца поÑледовательноÑти идентификации нельзÑ" -#: commands/sequence.c:1679 commands/tablecmds.c:13878 -#: commands/tablecmds.c:16515 +#: commands/sequence.c:1679 commands/tablecmds.c:13920 +#: commands/tablecmds.c:16557 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "ПоÑледовательноÑÑ‚ÑŒ \"%s\" ÑвÑзана Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÐµÐ¹ \"%s\"." @@ -10737,12 +10742,12 @@ msgstr "повторÑющееÑÑ Ð¸Ð¼Ñ Ñтолбца в определени msgid "duplicate expression in statistics definition" msgstr "повторÑющееÑÑ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ðµ в определении ÑтатиÑтики" -#: commands/statscmds.c:620 commands/tablecmds.c:8116 +#: commands/statscmds.c:620 commands/tablecmds.c:8115 #, c-format msgid "statistics target %d is too low" msgstr "ориентир ÑтатиÑтики Ñлишком мал (%d)" -#: commands/statscmds.c:628 commands/tablecmds.c:8124 +#: commands/statscmds.c:628 commands/tablecmds.c:8123 #, c-format msgid "lowering statistics target to %d" msgstr "ориентир ÑтатиÑтики ÑнижаетÑÑ Ð´Ð¾ %d" @@ -10795,7 +10800,7 @@ msgid "must be superuser to create subscriptions" msgstr "Ð´Ð»Ñ ÑÐ¾Ð·Ð´Ð°Ð½Ð¸Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñок нужно быть Ñуперпользователем" #: commands/subscriptioncmds.c:648 commands/subscriptioncmds.c:776 -#: replication/logical/tablesync.c:1247 replication/logical/worker.c:3738 +#: replication/logical/tablesync.c:1254 replication/logical/worker.c:3738 #, c-format msgid "could not connect to the publisher: %s" msgstr "не удалоÑÑŒ подключитьÑÑ Ðº Ñерверу публикации: %s" @@ -10937,7 +10942,7 @@ msgid "could not receive list of replicated tables from the publisher: %s" msgstr "" "не удалоÑÑŒ получить ÑпиÑок реплицируемых таблиц Ñ Ñервера репликации: %s" -#: commands/subscriptioncmds.c:1810 replication/logical/tablesync.c:819 +#: commands/subscriptioncmds.c:1810 replication/logical/tablesync.c:826 #: replication/pgoutput/pgoutput.c:1072 #, c-format msgid "" @@ -11044,8 +11049,8 @@ msgstr "" "Выполните DROP MATERIALIZED VIEW Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ð¾Ð³Ð¾ " "предÑтавлениÑ." -#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19027 -#: parser/parse_utilcmd.c:2261 +#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19064 +#: parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not exist" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" не ÑущеÑтвует" @@ -11068,8 +11073,8 @@ msgstr "\"%s\" - Ñто не тип" msgid "Use DROP TYPE to remove a type." msgstr "Выполните DROP TYPE Ð´Ð»Ñ ÑƒÐ´Ð°Ð»ÐµÐ½Ð¸Ñ Ñ‚Ð¸Ð¿Ð°." -#: commands/tablecmds.c:281 commands/tablecmds.c:13717 -#: commands/tablecmds.c:16218 +#: commands/tablecmds.c:281 commands/tablecmds.c:13759 +#: commands/tablecmds.c:16260 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "ÑтороннÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° \"%s\" не ÑущеÑтвует" @@ -11095,12 +11100,12 @@ msgstr "" "в рамках операции Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñми по безопаÑноÑти Ð½ÐµÐ»ÑŒÐ·Ñ Ñоздать временную " "таблицу" -#: commands/tablecmds.c:764 commands/tablecmds.c:15025 +#: commands/tablecmds.c:764 commands/tablecmds.c:15067 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "отношение \"%s\" наÑледуетÑÑ Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑ€Ð°Ñ‚Ð½Ð¾" -#: commands/tablecmds.c:949 +#: commands/tablecmds.c:945 #, c-format msgid "" "specifying a table access method is not supported on a partitioned table" @@ -11108,47 +11113,47 @@ msgstr "" "указание табличного метода доÑтупа Ð´Ð»Ñ Ñекционированных таблиц не " "поддерживаютÑÑ" -#: commands/tablecmds.c:1042 +#: commands/tablecmds.c:1038 #, c-format msgid "\"%s\" is not partitioned" msgstr "отношение \"%s\" не ÑвлÑетÑÑ Ñекционированным" -#: commands/tablecmds.c:1137 +#: commands/tablecmds.c:1133 #, c-format msgid "cannot partition using more than %d columns" msgstr "чиÑло Ñтолбцов в ключе ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ может превышать %d" -#: commands/tablecmds.c:1193 +#: commands/tablecmds.c:1189 #, c-format msgid "cannot create foreign partition of partitioned table \"%s\"" msgstr "Ñоздать Ñтороннюю Ñекцию Ð´Ð»Ñ Ñекционированной таблицы \"%s\" нельзÑ" -#: commands/tablecmds.c:1195 +#: commands/tablecmds.c:1191 #, c-format msgid "Table \"%s\" contains indexes that are unique." msgstr "Таблица \"%s\" Ñодержит индекÑÑ‹, ÑвлÑющиеÑÑ ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼Ð¸." -#: commands/tablecmds.c:1358 +#: commands/tablecmds.c:1354 #, c-format msgid "DROP INDEX CONCURRENTLY does not support dropping multiple objects" msgstr "DROP INDEX CONCURRENTLY не поддерживает удаление неÑкольких объектов" -#: commands/tablecmds.c:1362 +#: commands/tablecmds.c:1358 #, c-format msgid "DROP INDEX CONCURRENTLY does not support CASCADE" msgstr "DROP INDEX CONCURRENTLY не поддерживает режим CASCADE" -#: commands/tablecmds.c:1466 +#: commands/tablecmds.c:1462 #, c-format msgid "cannot drop partitioned index \"%s\" concurrently" msgstr "удалить Ñекционированный Ð¸Ð½Ð´ÐµÐºÑ \"%s\" параллельным ÑпоÑобом нельзÑ" -#: commands/tablecmds.c:1754 +#: commands/tablecmds.c:1750 #, c-format msgid "cannot truncate only a partitioned table" msgstr "опуÑтошить ÑобÑтвенно Ñекционированную таблицу нельзÑ" -#: commands/tablecmds.c:1755 +#: commands/tablecmds.c:1751 #, c-format msgid "" "Do not specify the ONLY keyword, or use TRUNCATE ONLY on the partitions " @@ -11157,39 +11162,39 @@ msgstr "" "Ðе указывайте ключевое Ñлово ONLY или выполните TRUNCATE ONLY " "непоÑредÑтвенно Ð´Ð»Ñ Ñекций." -#: commands/tablecmds.c:1827 +#: commands/tablecmds.c:1823 #, c-format msgid "truncate cascades to table \"%s\"" msgstr "опуÑтошение раÑпроÑтранÑетÑÑ Ð½Ð° таблицу %s" -#: commands/tablecmds.c:2177 +#: commands/tablecmds.c:2173 #, c-format msgid "cannot truncate foreign table \"%s\"" msgstr "опуÑтошить Ñтороннюю таблицу \"%s\" нельзÑ" -#: commands/tablecmds.c:2234 +#: commands/tablecmds.c:2230 #, c-format msgid "cannot truncate temporary tables of other sessions" msgstr "временные таблицы других ÑеанÑов Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ð¿ÑƒÑтошить" -#: commands/tablecmds.c:2462 commands/tablecmds.c:14922 +#: commands/tablecmds.c:2458 commands/tablecmds.c:14964 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "наÑледование от Ñекционированной таблицы \"%s\" не допуÑкаетÑÑ" -#: commands/tablecmds.c:2467 +#: commands/tablecmds.c:2463 #, c-format msgid "cannot inherit from partition \"%s\"" msgstr "наÑледование от Ñекции \"%s\" не допуÑкаетÑÑ" -#: commands/tablecmds.c:2475 parser/parse_utilcmd.c:2491 -#: parser/parse_utilcmd.c:2633 +#: commands/tablecmds.c:2471 parser/parse_utilcmd.c:2500 +#: parser/parse_utilcmd.c:2642 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "" "наÑледуемое отношение \"%s\" не ÑвлÑетÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÐµÐ¹ или Ñторонней таблицей" -#: commands/tablecmds.c:2487 +#: commands/tablecmds.c:2483 #, c-format msgid "" "cannot create a temporary relation as partition of permanent relation \"%s\"" @@ -11197,29 +11202,29 @@ msgstr "" "Ñоздать временное отношение в качеÑтве Ñекции поÑтоÑнного Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" " "нельзÑ" -#: commands/tablecmds.c:2496 commands/tablecmds.c:14901 +#: commands/tablecmds.c:2492 commands/tablecmds.c:14943 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "временное отношение \"%s\" не может наÑледоватьÑÑ" -#: commands/tablecmds.c:2506 commands/tablecmds.c:14909 +#: commands/tablecmds.c:2502 commands/tablecmds.c:14951 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "наÑледование от временного Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ ÑеанÑа невозможно" -#: commands/tablecmds.c:2560 +#: commands/tablecmds.c:2556 #, c-format msgid "merging multiple inherited definitions of column \"%s\"" msgstr "ÑлиÑние неÑкольких наÑледованных определений Ñтолбца \"%s\"" -#: commands/tablecmds.c:2568 +#: commands/tablecmds.c:2564 #, c-format msgid "inherited column \"%s\" has a type conflict" msgstr "конфликт типов в наÑледованном Ñтолбце \"%s\"" -#: commands/tablecmds.c:2570 commands/tablecmds.c:2593 -#: commands/tablecmds.c:2610 commands/tablecmds.c:2866 -#: commands/tablecmds.c:2896 commands/tablecmds.c:2910 +#: commands/tablecmds.c:2566 commands/tablecmds.c:2589 +#: commands/tablecmds.c:2606 commands/tablecmds.c:2862 +#: commands/tablecmds.c:2892 commands/tablecmds.c:2906 #: parser/parse_coerce.c:2155 parser/parse_coerce.c:2175 #: parser/parse_coerce.c:2195 parser/parse_coerce.c:2216 #: parser/parse_coerce.c:2271 parser/parse_coerce.c:2305 @@ -11230,41 +11235,41 @@ msgstr "конфликт типов в наÑледованном Ñтолбце msgid "%s versus %s" msgstr "%s и %s" -#: commands/tablecmds.c:2579 +#: commands/tablecmds.c:2575 #, c-format msgid "inherited column \"%s\" has a collation conflict" msgstr "конфликт правил Ñортировки в наÑледованном Ñтолбце \"%s\"" -#: commands/tablecmds.c:2581 commands/tablecmds.c:2878 -#: commands/tablecmds.c:6792 +#: commands/tablecmds.c:2577 commands/tablecmds.c:2874 +#: commands/tablecmds.c:6791 #, c-format msgid "\"%s\" versus \"%s\"" msgstr "\"%s\" и \"%s\"" -#: commands/tablecmds.c:2591 +#: commands/tablecmds.c:2587 #, c-format msgid "inherited column \"%s\" has a storage parameter conflict" msgstr "конфликт параметров Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² наÑледованном Ñтолбце \"%s\"" -#: commands/tablecmds.c:2608 commands/tablecmds.c:2908 +#: commands/tablecmds.c:2604 commands/tablecmds.c:2904 #, c-format msgid "column \"%s\" has a compression method conflict" msgstr "в Ñтолбце \"%s\" возник конфликт методов ÑжатиÑ" -#: commands/tablecmds.c:2623 +#: commands/tablecmds.c:2619 #, c-format msgid "inherited column \"%s\" has a generation conflict" msgstr "конфликт ÑвойÑтва Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² наÑледованном Ñтолбце \"%s\"" -#: commands/tablecmds.c:2717 commands/tablecmds.c:2772 -#: commands/tablecmds.c:12441 parser/parse_utilcmd.c:1302 -#: parser/parse_utilcmd.c:1345 parser/parse_utilcmd.c:1754 -#: parser/parse_utilcmd.c:1862 +#: commands/tablecmds.c:2713 commands/tablecmds.c:2768 +#: commands/tablecmds.c:12450 parser/parse_utilcmd.c:1311 +#: parser/parse_utilcmd.c:1354 parser/parse_utilcmd.c:1763 +#: parser/parse_utilcmd.c:1871 #, c-format msgid "cannot convert whole-row table reference" msgstr "преобразовать ÑÑылку на тип вÑей Ñтроки таблицы нельзÑ" -#: commands/tablecmds.c:2718 parser/parse_utilcmd.c:1303 +#: commands/tablecmds.c:2714 parser/parse_utilcmd.c:1312 #, c-format msgid "" "Generation expression for column \"%s\" contains a whole-row reference to " @@ -11273,48 +11278,48 @@ msgstr "" "Генерирующее выражение Ñтолбца \"%s\" ÑÑылаетÑÑ Ð½Ð° тип вÑей Ñтроки в таблице " "\"%s\"." -#: commands/tablecmds.c:2773 parser/parse_utilcmd.c:1346 +#: commands/tablecmds.c:2769 parser/parse_utilcmd.c:1355 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Ограничение \"%s\" ÑÑылаетÑÑ Ð½Ð° тип вÑей Ñтроки в таблице \"%s\"." -#: commands/tablecmds.c:2852 +#: commands/tablecmds.c:2848 #, c-format msgid "merging column \"%s\" with inherited definition" msgstr "ÑлиÑние Ñтолбца \"%s\" Ñ Ð½Ð°Ñледованным определением" -#: commands/tablecmds.c:2856 +#: commands/tablecmds.c:2852 #, c-format msgid "moving and merging column \"%s\" with inherited definition" msgstr "перемещение и ÑлиÑние Ñтолбца \"%s\" Ñ Ð½Ð°Ñледуемым определением" -#: commands/tablecmds.c:2857 +#: commands/tablecmds.c:2853 #, c-format msgid "User-specified column moved to the position of the inherited column." msgstr "" "Определённый пользователем Ñтолбец перемещён в позицию наÑледуемого Ñтолбца." -#: commands/tablecmds.c:2864 +#: commands/tablecmds.c:2860 #, c-format msgid "column \"%s\" has a type conflict" msgstr "конфликт типов в Ñтолбце \"%s\"" -#: commands/tablecmds.c:2876 +#: commands/tablecmds.c:2872 #, c-format msgid "column \"%s\" has a collation conflict" msgstr "конфликт правил Ñортировки в Ñтолбце \"%s\"" -#: commands/tablecmds.c:2894 +#: commands/tablecmds.c:2890 #, c-format msgid "column \"%s\" has a storage parameter conflict" msgstr "конфликт параметров Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² Ñтолбце \"%s\"" -#: commands/tablecmds.c:2935 +#: commands/tablecmds.c:2931 #, c-format msgid "child column \"%s\" specifies generation expression" msgstr "Ð´Ð»Ñ Ð´Ð¾Ñ‡ÐµÑ€Ð½ÐµÐ³Ð¾ Ñтолбца \"%s\" указано генерирующее выражение" -#: commands/tablecmds.c:2937 +#: commands/tablecmds.c:2933 #, c-format msgid "" "Omit the generation expression in the definition of the child table column " @@ -11323,36 +11328,36 @@ msgstr "" "Уберите генерирующее выражение из Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñтолбца в дочерней таблице, " "чтобы Ñто выражение наÑледовалоÑÑŒ из родительÑкой." -#: commands/tablecmds.c:2941 +#: commands/tablecmds.c:2937 #, c-format msgid "column \"%s\" inherits from generated column but specifies default" msgstr "" "Ñтолбец \"%s\" наÑледуетÑÑ Ð¾Ñ‚ генерируемого Ñтолбца, но Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ задано " "значение по умолчанию" -#: commands/tablecmds.c:2946 +#: commands/tablecmds.c:2942 #, c-format msgid "column \"%s\" inherits from generated column but specifies identity" msgstr "" "Ñтолбец \"%s\" наÑледуетÑÑ Ð¾Ñ‚ генерируемого Ñтолбца, но Ð´Ð»Ñ Ð½ÐµÐ³Ð¾ задано " "ÑвойÑтво идентификации" -#: commands/tablecmds.c:3055 +#: commands/tablecmds.c:3051 #, c-format msgid "column \"%s\" inherits conflicting generation expressions" msgstr "Ñтолбец \"%s\" наÑледует конфликтующие генерирующие выражениÑ" -#: commands/tablecmds.c:3060 +#: commands/tablecmds.c:3056 #, c-format msgid "column \"%s\" inherits conflicting default values" msgstr "Ñтолбец \"%s\" наÑледует конфликтующие Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ умолчанию" -#: commands/tablecmds.c:3062 +#: commands/tablecmds.c:3058 #, c-format msgid "To resolve the conflict, specify a default explicitly." msgstr "Ð”Ð»Ñ Ñ€ÐµÑˆÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ„Ð»Ð¸ÐºÑ‚Ð° укажите желаемое значение по умолчанию." -#: commands/tablecmds.c:3108 +#: commands/tablecmds.c:3104 #, c-format msgid "" "check constraint name \"%s\" appears multiple times but with different " @@ -11361,52 +11366,52 @@ msgstr "" "Ð¸Ð¼Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ-проверки \"%s\" фигурирует неÑколько раз, но Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼Ð¸ " "выражениÑми" -#: commands/tablecmds.c:3321 +#: commands/tablecmds.c:3317 #, c-format msgid "cannot move temporary tables of other sessions" msgstr "перемещать временные таблицы других ÑеанÑов нельзÑ" -#: commands/tablecmds.c:3391 +#: commands/tablecmds.c:3387 #, c-format msgid "cannot rename column of typed table" msgstr "переименовать Ñтолбец типизированной таблицы нельзÑ" -#: commands/tablecmds.c:3410 +#: commands/tablecmds.c:3406 #, c-format msgid "cannot rename columns of relation \"%s\"" msgstr "переименовывать Ñтолбцы Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" нельзÑ" -#: commands/tablecmds.c:3505 +#: commands/tablecmds.c:3501 #, c-format msgid "inherited column \"%s\" must be renamed in child tables too" msgstr "" "наÑледованный Ñтолбец \"%s\" должен быть также переименован в дочерних " "таблицах" -#: commands/tablecmds.c:3537 +#: commands/tablecmds.c:3533 #, c-format msgid "cannot rename system column \"%s\"" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ñ‚ÑŒ ÑиÑтемный Ñтолбец \"%s\"" -#: commands/tablecmds.c:3552 +#: commands/tablecmds.c:3548 #, c-format msgid "cannot rename inherited column \"%s\"" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ñ‚ÑŒ наÑледованный Ñтолбец \"%s\"" -#: commands/tablecmds.c:3704 +#: commands/tablecmds.c:3700 #, c-format msgid "inherited constraint \"%s\" must be renamed in child tables too" msgstr "" "наÑледуемое ограничение \"%s\" должно быть также переименовано в дочерних " "таблицах" -#: commands/tablecmds.c:3711 +#: commands/tablecmds.c:3707 #, c-format msgid "cannot rename inherited constraint \"%s\"" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ¸Ð¼ÐµÐ½Ð¾Ð²Ð°Ñ‚ÑŒ наÑледованное ограничение \"%s\"" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4008 +#: commands/tablecmds.c:4004 #, c-format msgid "" "cannot %s \"%s\" because it is being used by active queries in this session" @@ -11415,59 +11420,59 @@ msgstr "" "запроÑами в данном ÑеанÑе" #. translator: first %s is a SQL command, eg ALTER TABLE -#: commands/tablecmds.c:4017 +#: commands/tablecmds.c:4013 #, c-format msgid "cannot %s \"%s\" because it has pending trigger events" msgstr "" "Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ %s \"%s\", так как Ñ Ñтим объектом ÑвÑзаны отложенные " "ÑÐ¾Ð±Ñ‹Ñ‚Ð¸Ñ Ñ‚Ñ€Ð¸Ð³Ð³ÐµÑ€Ð¾Ð²" -#: commands/tablecmds.c:4486 +#: commands/tablecmds.c:4482 #, c-format msgid "cannot alter partition \"%s\" with an incomplete detach" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ñекцию \"%s\", ÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ð½Ðµ полноÑтью отÑоединена" -#: commands/tablecmds.c:4679 commands/tablecmds.c:4694 +#: commands/tablecmds.c:4675 commands/tablecmds.c:4690 #, c-format msgid "cannot change persistence setting twice" msgstr "изменить характериÑтику Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð´Ð²Ð°Ð¶Ð´Ñ‹ нельзÑ" -#: commands/tablecmds.c:4715 +#: commands/tablecmds.c:4711 #, c-format msgid "cannot change access method of a partitioned table" msgstr "менÑÑ‚ÑŒ метод доÑтупа Ð´Ð»Ñ Ñекционированной таблицы нельзÑ" -#: commands/tablecmds.c:4721 +#: commands/tablecmds.c:4717 #, c-format msgid "cannot have multiple SET ACCESS METHOD subcommands" msgstr "множеÑтвенные подкоманды SET ACCESS METHOD не допуÑкаютÑÑ" -#: commands/tablecmds.c:5476 +#: commands/tablecmds.c:5472 #, c-format msgid "cannot rewrite system relation \"%s\"" msgstr "перезапиÑать ÑиÑтемное отношение \"%s\" нельзÑ" -#: commands/tablecmds.c:5482 +#: commands/tablecmds.c:5478 #, c-format msgid "cannot rewrite table \"%s\" used as a catalog table" msgstr "перезапиÑать таблицу \"%s\", иÑпользуемую как таблицу каталога, нельзÑ" -#: commands/tablecmds.c:5492 +#: commands/tablecmds.c:5488 #, c-format msgid "cannot rewrite temporary tables of other sessions" msgstr "перезапиÑывать временные таблицы других ÑеанÑов нельзÑ" -#: commands/tablecmds.c:5986 +#: commands/tablecmds.c:5982 #, c-format msgid "column \"%s\" of relation \"%s\" contains null values" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" Ñодержит Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ NULL" -#: commands/tablecmds.c:6003 +#: commands/tablecmds.c:5999 #, c-format msgid "check constraint \"%s\" of relation \"%s\" is violated by some row" msgstr "ограничение-проверку \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" нарушает Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñтрока" -#: commands/tablecmds.c:6022 partitioning/partbounds.c:3404 +#: commands/tablecmds.c:6018 partitioning/partbounds.c:3404 #, c-format msgid "" "updated partition constraint for default partition \"%s\" would be violated " @@ -11476,24 +11481,24 @@ msgstr "" "изменённое ограничение Ñекции Ð´Ð»Ñ Ñекции по умолчанию \"%s\" будет нарушено " "некоторыми Ñтроками" -#: commands/tablecmds.c:6028 +#: commands/tablecmds.c:6024 #, c-format msgid "partition constraint of relation \"%s\" is violated by some row" msgstr "ограничение Ñекции Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" нарушает Ð½ÐµÐºÐ¾Ñ‚Ð¾Ñ€Ð°Ñ Ñтрока" #. translator: %s is a group of some SQL keywords -#: commands/tablecmds.c:6295 +#: commands/tablecmds.c:6291 #, c-format msgid "ALTER action %s cannot be performed on relation \"%s\"" msgstr "дейÑтвие ALTER %s Ð½ÐµÐ»ÑŒÐ·Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÑŒ Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸ÐµÐ¼ \"%s\"" -#: commands/tablecmds.c:6550 commands/tablecmds.c:6557 +#: commands/tablecmds.c:6546 commands/tablecmds.c:6553 #, c-format msgid "cannot alter type \"%s\" because column \"%s.%s\" uses it" msgstr "" "изменить тип \"%s\" нельзÑ, так как он задейÑтвован в Ñтолбце \"%s.%s\"" -#: commands/tablecmds.c:6564 +#: commands/tablecmds.c:6560 #, c-format msgid "" "cannot alter foreign table \"%s\" because column \"%s.%s\" uses its row type" @@ -11501,77 +11506,77 @@ msgstr "" "изменить Ñтороннюю таблицу \"%s\" нельзÑ, так как Ñтолбец \"%s.%s\" " "задейÑтвует тип её Ñтроки" -#: commands/tablecmds.c:6571 +#: commands/tablecmds.c:6567 #, c-format msgid "cannot alter table \"%s\" because column \"%s.%s\" uses its row type" msgstr "" "изменить таблицу \"%s\" нельзÑ, так как Ñтолбец \"%s.%s\" задейÑтвует тип её " "Ñтроки" -#: commands/tablecmds.c:6627 +#: commands/tablecmds.c:6623 #, c-format msgid "cannot alter type \"%s\" because it is the type of a typed table" msgstr "изменить тип \"%s\", так как Ñто тип типизированной таблицы" -#: commands/tablecmds.c:6629 +#: commands/tablecmds.c:6625 #, c-format msgid "Use ALTER ... CASCADE to alter the typed tables too." msgstr "" "Чтобы изменить также типизированные таблицы, выполните ALTER ... CASCADE." -#: commands/tablecmds.c:6675 +#: commands/tablecmds.c:6671 #, c-format msgid "type %s is not a composite type" msgstr "тип %s не ÑвлÑетÑÑ ÑоÑтавным" -#: commands/tablecmds.c:6702 +#: commands/tablecmds.c:6698 #, c-format msgid "cannot add column to typed table" msgstr "добавить Ñтолбец в типизированную таблицу нельзÑ" -#: commands/tablecmds.c:6755 +#: commands/tablecmds.c:6754 #, c-format msgid "cannot add column to a partition" msgstr "добавить Ñтолбец в Ñекцию нельзÑ" -#: commands/tablecmds.c:6784 commands/tablecmds.c:15152 +#: commands/tablecmds.c:6783 commands/tablecmds.c:15194 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "дочернÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° \"%s\" имеет другой тип Ð´Ð»Ñ Ñтолбца \"%s\"" -#: commands/tablecmds.c:6790 commands/tablecmds.c:15159 +#: commands/tablecmds.c:6789 commands/tablecmds.c:15201 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "" "дочернÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° \"%s\" имеет другое правило Ñортировки Ð´Ð»Ñ Ñтолбца \"%s\"" -#: commands/tablecmds.c:6804 +#: commands/tablecmds.c:6803 #, c-format msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "объединение определений Ñтолбца \"%s\" Ð´Ð»Ñ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ° \"%s\"" -#: commands/tablecmds.c:6851 +#: commands/tablecmds.c:6850 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "" "добавить Ñтолбец идентификации в таблицу, у которой еÑÑ‚ÑŒ дочерние, нельзÑ" -#: commands/tablecmds.c:7095 +#: commands/tablecmds.c:7094 #, c-format msgid "column must be added to child tables too" msgstr "Ñтолбец также должен быть добавлен к дочерним таблицам" -#: commands/tablecmds.c:7173 +#: commands/tablecmds.c:7172 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" уже ÑущеÑтвует, пропуÑкаетÑÑ" -#: commands/tablecmds.c:7180 +#: commands/tablecmds.c:7179 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" уже ÑущеÑтвует" -#: commands/tablecmds.c:7246 commands/tablecmds.c:12080 +#: commands/tablecmds.c:7245 commands/tablecmds.c:12089 #, c-format msgid "" "cannot remove constraint from only the partitioned table when partitions " @@ -11580,70 +11585,70 @@ msgstr "" "удалить ограничение только из Ñекционированной таблицы, когда ÑущеÑтвуют " "Ñекции, нельзÑ" -#: commands/tablecmds.c:7247 commands/tablecmds.c:7564 -#: commands/tablecmds.c:8561 commands/tablecmds.c:12081 +#: commands/tablecmds.c:7246 commands/tablecmds.c:7563 +#: commands/tablecmds.c:8564 commands/tablecmds.c:12090 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Ðе указывайте ключевое Ñлово ONLY." -#: commands/tablecmds.c:7284 commands/tablecmds.c:7490 -#: commands/tablecmds.c:7632 commands/tablecmds.c:7746 -#: commands/tablecmds.c:7840 commands/tablecmds.c:7899 -#: commands/tablecmds.c:8018 commands/tablecmds.c:8157 -#: commands/tablecmds.c:8227 commands/tablecmds.c:8383 -#: commands/tablecmds.c:12235 commands/tablecmds.c:13740 -#: commands/tablecmds.c:16309 +#: commands/tablecmds.c:7283 commands/tablecmds.c:7489 +#: commands/tablecmds.c:7631 commands/tablecmds.c:7745 +#: commands/tablecmds.c:7839 commands/tablecmds.c:7898 +#: commands/tablecmds.c:8017 commands/tablecmds.c:8156 +#: commands/tablecmds.c:8226 commands/tablecmds.c:8382 +#: commands/tablecmds.c:12244 commands/tablecmds.c:13782 +#: commands/tablecmds.c:16351 #, c-format msgid "cannot alter system column \"%s\"" msgstr "ÑиÑтемный Ñтолбец \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ" -#: commands/tablecmds.c:7290 commands/tablecmds.c:7638 +#: commands/tablecmds.c:7289 commands/tablecmds.c:7637 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" ÑвлÑетÑÑ Ñтолбцом идентификации" -#: commands/tablecmds.c:7333 +#: commands/tablecmds.c:7332 #, c-format msgid "column \"%s\" is in a primary key" msgstr "Ñтолбец \"%s\" входит в первичный ключ" -#: commands/tablecmds.c:7338 +#: commands/tablecmds.c:7337 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "Ñтолбец \"%s\" входит в индекÑ, иÑпользуемый Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ реплики" -#: commands/tablecmds.c:7361 +#: commands/tablecmds.c:7360 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "Ñтолбец \"%s\" в родительÑкой таблице помечен как NOT NULL" -#: commands/tablecmds.c:7561 commands/tablecmds.c:9044 +#: commands/tablecmds.c:7560 commands/tablecmds.c:9047 #, c-format msgid "constraint must be added to child tables too" msgstr "ограничение также должно быть добавлено к дочерним таблицам" -#: commands/tablecmds.c:7562 +#: commands/tablecmds.c:7561 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Столбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" уже имеет ÑвойÑтво NOT NULL." -#: commands/tablecmds.c:7640 +#: commands/tablecmds.c:7639 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." msgstr "ВмеÑто Ñтого выполните ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY." -#: commands/tablecmds.c:7645 +#: commands/tablecmds.c:7644 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" ÑвлÑетÑÑ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¼" -#: commands/tablecmds.c:7648 +#: commands/tablecmds.c:7647 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." msgstr "" "ВмеÑто Ñтого выполните ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION." -#: commands/tablecmds.c:7757 +#: commands/tablecmds.c:7756 #, c-format msgid "" "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity " @@ -11652,46 +11657,46 @@ msgstr "" "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" должен быть объÑвлен как NOT NULL, чтобы его " "можно было Ñделать Ñтолбцом идентификации" -#: commands/tablecmds.c:7763 +#: commands/tablecmds.c:7762 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" уже ÑвлÑетÑÑ Ñтолбцом идентификации" -#: commands/tablecmds.c:7769 +#: commands/tablecmds.c:7768 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" уже имеет значение по умолчанию" -#: commands/tablecmds.c:7846 commands/tablecmds.c:7907 +#: commands/tablecmds.c:7845 commands/tablecmds.c:7906 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" не ÑвлÑетÑÑ Ñтолбцом идентификации" -#: commands/tablecmds.c:7912 +#: commands/tablecmds.c:7911 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "" "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" не ÑвлÑетÑÑ Ñтолбцом идентификации, " "пропуÑкаетÑÑ" -#: commands/tablecmds.c:7965 +#: commands/tablecmds.c:7964 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "" "ALTER TABLE / DROP EXPRESSION нужно применÑÑ‚ÑŒ также к дочерним таблицам" -#: commands/tablecmds.c:7987 +#: commands/tablecmds.c:7986 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ генерирующее выражение из наÑледуемого Ñтолбца" -#: commands/tablecmds.c:8026 +#: commands/tablecmds.c:8025 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "" "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" не ÑвлÑетÑÑ Ñохранённым генерируемым Ñтолбцом" -#: commands/tablecmds.c:8031 +#: commands/tablecmds.c:8030 #, c-format msgid "" "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" @@ -11699,63 +11704,63 @@ msgstr "" "Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" пропуÑкаетÑÑ, так как не ÑвлÑетÑÑ " "Ñохранённым генерируемым Ñтолбцом" -#: commands/tablecmds.c:8104 +#: commands/tablecmds.c:8103 #, c-format msgid "cannot refer to non-index column by number" msgstr "по номеру можно ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на Ñтолбец в индекÑе" -#: commands/tablecmds.c:8147 +#: commands/tablecmds.c:8146 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "Ñтолбец Ñ Ð½Ð¾Ð¼ÐµÑ€Ð¾Ð¼ %d Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" не ÑущеÑтвует" -#: commands/tablecmds.c:8166 +#: commands/tablecmds.c:8165 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "изменить ÑтатиÑтику включённого Ñтолбца \"%s\" индекÑа \"%s\" нельзÑ" -#: commands/tablecmds.c:8171 +#: commands/tablecmds.c:8170 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "" "изменить ÑтатиÑтику Ñтолбца \"%s\" (не выражениÑ) индекÑа \"%s\" нельзÑ" -#: commands/tablecmds.c:8173 +#: commands/tablecmds.c:8172 #, c-format msgid "Alter statistics on table column instead." msgstr "ВмеÑто Ñтого измените ÑтатиÑтику Ð´Ð»Ñ Ñтолбца в таблице." -#: commands/tablecmds.c:8363 +#: commands/tablecmds.c:8362 #, c-format msgid "invalid storage type \"%s\"" msgstr "неверный тип хранилища \"%s\"" -#: commands/tablecmds.c:8395 +#: commands/tablecmds.c:8394 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "тип данных Ñтолбца %s ÑовмеÑтим только Ñ Ñ…Ñ€Ð°Ð½Ð¸Ð»Ð¸Ñ‰ÐµÐ¼ PLAIN" -#: commands/tablecmds.c:8440 +#: commands/tablecmds.c:8439 #, c-format msgid "cannot drop column from typed table" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ñтолбец в типизированной таблице" -#: commands/tablecmds.c:8499 +#: commands/tablecmds.c:8502 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Ñтолбец \"%s\" в таблице\"%s\" не ÑущеÑтвует, пропуÑкаетÑÑ" -#: commands/tablecmds.c:8512 +#: commands/tablecmds.c:8515 #, c-format msgid "cannot drop system column \"%s\"" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ ÑиÑтемный Ñтолбец \"%s\"" -#: commands/tablecmds.c:8522 +#: commands/tablecmds.c:8525 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ наÑледованный Ñтолбец \"%s\"" -#: commands/tablecmds.c:8535 +#: commands/tablecmds.c:8538 #, c-format msgid "" "cannot drop column \"%s\" because it is part of the partition key of " @@ -11764,7 +11769,7 @@ msgstr "" "удалить Ñтолбец \"%s\" нельзÑ, так как он входит в ключ Ñ€Ð°Ð·Ð±Ð¸ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ " "\"%s\"" -#: commands/tablecmds.c:8560 +#: commands/tablecmds.c:8563 #, c-format msgid "" "cannot drop column from only the partitioned table when partitions exist" @@ -11772,7 +11777,7 @@ msgstr "" "удалить Ñтолбец только из Ñекционированной таблицы, когда ÑущеÑтвуют Ñекции, " "нельзÑ" -#: commands/tablecmds.c:8764 +#: commands/tablecmds.c:8767 #, c-format msgid "" "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned " @@ -11781,14 +11786,14 @@ msgstr "" "ALTER TABLE / ADD CONSTRAINT USING INDEX не поддерживаетÑÑ Ñ " "Ñекционированными таблицами" -#: commands/tablecmds.c:8789 +#: commands/tablecmds.c:8792 #, c-format msgid "" "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "" "ALTER TABLE / ADD CONSTRAINT USING INDEX переименует Ð¸Ð½Ð´ÐµÐºÑ \"%s\" в \"%s\"" -#: commands/tablecmds.c:9126 +#: commands/tablecmds.c:9129 #, c-format msgid "" "cannot use ONLY for foreign key on partitioned table \"%s\" referencing " @@ -11797,7 +11802,7 @@ msgstr "" "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать ONLY Ð´Ð»Ñ Ñтороннего ключа в Ñекционированной таблице " "\"%s\", ÑÑылающегоÑÑ Ð½Ð° отношение \"%s\"" -#: commands/tablecmds.c:9132 +#: commands/tablecmds.c:9135 #, c-format msgid "" "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing " @@ -11806,25 +11811,25 @@ msgstr "" "Ð½ÐµÐ»ÑŒÐ·Ñ Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтикой NOT VALID Ñторонний ключ в " "Ñекционированной таблице \"%s\", ÑÑылающийÑÑ Ð½Ð° отношение \"%s\"" -#: commands/tablecmds.c:9135 +#: commands/tablecmds.c:9138 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "" "Ðта функциональноÑÑ‚ÑŒ Ñ Ñекционированными таблицами пока не поддерживаетÑÑ." -#: commands/tablecmds.c:9142 commands/tablecmds.c:9608 +#: commands/tablecmds.c:9145 commands/tablecmds.c:9611 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "указанный объект \"%s\" не ÑвлÑетÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†ÐµÐ¹" -#: commands/tablecmds.c:9165 +#: commands/tablecmds.c:9168 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "" "Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² поÑтоÑнных таблицах могут ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на поÑтоÑнные " "таблицы" -#: commands/tablecmds.c:9172 +#: commands/tablecmds.c:9175 #, c-format msgid "" "constraints on unlogged tables may reference only permanent or unlogged " @@ -11833,13 +11838,13 @@ msgstr "" "Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð² нежурналируемых таблицах могут ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на поÑтоÑнные " "или нежурналируемые таблицы" -#: commands/tablecmds.c:9178 +#: commands/tablecmds.c:9181 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "" "Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ð¾ временных таблицах могут ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на временные таблицы" -#: commands/tablecmds.c:9182 +#: commands/tablecmds.c:9185 #, c-format msgid "" "constraints on temporary tables must involve temporary tables of this session" @@ -11847,7 +11852,7 @@ msgstr "" "Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ð¾ временных таблицах должны ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на временные " "таблицы текущего ÑеанÑа" -#: commands/tablecmds.c:9256 commands/tablecmds.c:9262 +#: commands/tablecmds.c:9259 commands/tablecmds.c:9265 #, c-format msgid "" "invalid %s action for foreign key constraint containing generated column" @@ -11855,22 +11860,22 @@ msgstr "" "некорректное дейÑтвие %s Ð´Ð»Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ ключа, Ñодержащего " "генерируемый Ñтолбец" -#: commands/tablecmds.c:9278 +#: commands/tablecmds.c:9281 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "чиÑло Ñтолбцов в иÑточнике и назначении внешнего ключа не Ñовпадает" -#: commands/tablecmds.c:9385 +#: commands/tablecmds.c:9388 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "ограничение внешнего ключа \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ñ€ÐµÐ°Ð»Ð¸Ð·Ð¾Ð²Ð°Ñ‚ÑŒ" -#: commands/tablecmds.c:9387 +#: commands/tablecmds.c:9390 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Столбцы ключа \"%s\" и \"%s\" имеют неÑовмеÑтимые типы: %s и %s." -#: commands/tablecmds.c:9544 +#: commands/tablecmds.c:9547 #, c-format msgid "" "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" @@ -11878,40 +11883,40 @@ msgstr "" "Ñтолбец \"%s\", фигурирующий в дейÑтвии ON DELETE SET, должен входить во " "внешний ключ" -#: commands/tablecmds.c:9817 commands/tablecmds.c:10285 -#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:925 +#: commands/tablecmds.c:9820 commands/tablecmds.c:10288 +#: parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:934 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð²Ð½ÐµÑˆÐ½ÐµÐ³Ð¾ ключа Ð´Ð»Ñ Ñторонних таблиц не поддерживаютÑÑ" -#: commands/tablecmds.c:10837 commands/tablecmds.c:11115 -#: commands/tablecmds.c:12037 commands/tablecmds.c:12112 +#: commands/tablecmds.c:10840 commands/tablecmds.c:11121 +#: commands/tablecmds.c:12046 commands/tablecmds.c:12121 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "ограничение \"%s\" в таблице \"%s\" не ÑущеÑтвует" -#: commands/tablecmds.c:10844 +#: commands/tablecmds.c:10847 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "ограничение \"%s\" в таблице \"%s\" не ÑвлÑетÑÑ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼ ключом" -#: commands/tablecmds.c:10882 +#: commands/tablecmds.c:10885 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "изменить ограничение \"%s\" таблицы \"%s\" нельзÑ" -#: commands/tablecmds.c:10885 +#: commands/tablecmds.c:10888 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "" "Ограничение \"%s\" ÑвлÑетÑÑ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´Ð½Ñ‹Ð¼ от Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ \"%s\" таблицы \"%s\"." -#: commands/tablecmds.c:10887 +#: commands/tablecmds.c:10890 #, c-format msgid "You may alter the constraint it derives from, instead." msgstr "ВмеÑто Ñтого вы можете изменить родительÑкое ограничение." -#: commands/tablecmds.c:11123 +#: commands/tablecmds.c:11129 #, c-format msgid "" "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" @@ -11919,51 +11924,51 @@ msgstr "" "ограничение \"%s\" в таблице \"%s\" не ÑвлÑетÑÑ Ð²Ð½ÐµÑˆÐ½Ð¸Ð¼ ключом или " "ограничением-проверкой" -#: commands/tablecmds.c:11201 +#: commands/tablecmds.c:11207 #, c-format msgid "constraint must be validated on child tables too" msgstr "ограничение также должно ÑоблюдатьÑÑ Ð² дочерних таблицах" -#: commands/tablecmds.c:11291 +#: commands/tablecmds.c:11297 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "Ñтолбец \"%s\", указанный в ограничении внешнего ключа, не ÑущеÑтвует" -#: commands/tablecmds.c:11297 +#: commands/tablecmds.c:11303 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "ÑиÑтемные Ñтолбцы Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать во внешних ключах" -#: commands/tablecmds.c:11301 +#: commands/tablecmds.c:11307 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "во внешнем ключе не может быть больше %d Ñтолбцов" -#: commands/tablecmds.c:11367 +#: commands/tablecmds.c:11373 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "" "иÑпользовать откладываемый первичный ключ в целевой внешней таблице \"%s\" " "нельзÑ" -#: commands/tablecmds.c:11384 +#: commands/tablecmds.c:11390 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "в целевой внешней таблице \"%s\" нет первичного ключа" -#: commands/tablecmds.c:11453 +#: commands/tablecmds.c:11459 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "в ÑпиÑке Ñтолбцов внешнего ключа не должно быть повторений" -#: commands/tablecmds.c:11547 +#: commands/tablecmds.c:11553 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "" "иÑпользовать откладываемое ограничение уникальноÑти в целевой внешней " "таблице \"%s\" нельзÑ" -#: commands/tablecmds.c:11552 +#: commands/tablecmds.c:11558 #, c-format msgid "" "there is no unique constraint matching given keys for referenced table \"%s\"" @@ -11971,27 +11976,27 @@ msgstr "" "в целевой внешней таблице \"%s\" нет Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾Ñти, " "ÑоответÑтвующего данным ключам" -#: commands/tablecmds.c:11993 +#: commands/tablecmds.c:12002 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "удалить наÑледованное ограничение \"%s\" таблицы \"%s\" нельзÑ" -#: commands/tablecmds.c:12043 +#: commands/tablecmds.c:12052 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "ограничение \"%s\" в таблице \"%s\" не ÑущеÑтвует, пропуÑкаетÑÑ" -#: commands/tablecmds.c:12219 +#: commands/tablecmds.c:12228 #, c-format msgid "cannot alter column type of typed table" msgstr "изменить тип Ñтолбца в типизированной таблице нельзÑ" -#: commands/tablecmds.c:12246 +#: commands/tablecmds.c:12255 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "изменить наÑледованный Ñтолбец \"%s\" нельзÑ" -#: commands/tablecmds.c:12255 +#: commands/tablecmds.c:12264 #, c-format msgid "" "cannot alter column \"%s\" because it is part of the partition key of " @@ -12000,7 +12005,7 @@ msgstr "" "изменить Ñтолбец \"%s\" нельзÑ, так как он входит в ключ Ñ€Ð°Ð·Ð±Ð¸ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ " "\"%s\"" -#: commands/tablecmds.c:12305 +#: commands/tablecmds.c:12314 #, c-format msgid "" "result of USING clause for column \"%s\" cannot be cast automatically to " @@ -12008,45 +12013,45 @@ msgid "" msgstr "" "результат USING Ð´Ð»Ñ Ñтолбца \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки привеÑти к типу %s" -#: commands/tablecmds.c:12308 +#: commands/tablecmds.c:12317 #, c-format msgid "You might need to add an explicit cast." msgstr "Возможно, необходимо добавить Ñвное приведение." -#: commands/tablecmds.c:12312 +#: commands/tablecmds.c:12321 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "Ñтолбец \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки привеÑти к типу %s" # skip-rule: double-colons #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12315 +#: commands/tablecmds.c:12324 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Возможно, необходимо указать \"USING %s::%s\"." -#: commands/tablecmds.c:12414 +#: commands/tablecmds.c:12423 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "изменить наÑледованный Ñтолбец \"%s\" Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" нельзÑ" -#: commands/tablecmds.c:12442 +#: commands/tablecmds.c:12451 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "Выражение USING ÑÑылаетÑÑ Ð½Ð° тип вÑей Ñтроки таблицы." -#: commands/tablecmds.c:12453 +#: commands/tablecmds.c:12462 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "" "тип наÑледованного Ñтолбца \"%s\" должен быть изменён и в дочерних таблицах" -#: commands/tablecmds.c:12578 +#: commands/tablecmds.c:12587 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ тип Ñтолбца \"%s\" дважды" -#: commands/tablecmds.c:12616 +#: commands/tablecmds.c:12625 #, c-format msgid "" "generation expression for column \"%s\" cannot be cast automatically to type " @@ -12055,153 +12060,166 @@ msgstr "" "генерирующее выражение Ð´Ð»Ñ Ñтолбца \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки привеÑти к " "типу %s" -#: commands/tablecmds.c:12621 +#: commands/tablecmds.c:12630 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "" "значение по умолчанию Ð´Ð»Ñ Ñтолбца \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡ÐµÑки привеÑти к " "типу %s" -#: commands/tablecmds.c:12702 +#: commands/tablecmds.c:12718 #, c-format -msgid "cannot alter type of a column used by a view or rule" -msgstr "" -"изменить тип Ñтолбца, задейÑтвованного в предÑтавлении или правиле, нельзÑ" +msgid "cannot alter type of a column used by a function or procedure" +msgstr "изменить тип Ñтолбца, задейÑтвованного в функции или процедуре, нельзÑ" -#: commands/tablecmds.c:12703 commands/tablecmds.c:12722 -#: commands/tablecmds.c:12740 +#: commands/tablecmds.c:12719 commands/tablecmds.c:12733 +#: commands/tablecmds.c:12752 commands/tablecmds.c:12770 +#: commands/tablecmds.c:12828 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s завиÑит от Ñтолбца \"%s\"" -#: commands/tablecmds.c:12721 +#: commands/tablecmds.c:12732 +#, c-format +msgid "cannot alter type of a column used by a view or rule" +msgstr "" +"изменить тип Ñтолбца, задейÑтвованного в предÑтавлении или правиле, нельзÑ" + +#: commands/tablecmds.c:12751 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "изменить тип Ñтолбца, задейÑтвованного в определении триггера, нельзÑ" -#: commands/tablecmds.c:12739 +#: commands/tablecmds.c:12769 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "изменить тип Ñтолбца, задейÑтвованного в определении политики, нельзÑ" -#: commands/tablecmds.c:12770 +#: commands/tablecmds.c:12800 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "изменить тип Ñтолбца, задейÑтвованного в генерируемом Ñтолбце, нельзÑ" -#: commands/tablecmds.c:12771 +#: commands/tablecmds.c:12801 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Столбец \"%s\" иÑпользуетÑÑ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¼ Ñтолбцом \"%s\"." -#: commands/tablecmds.c:13848 commands/tablecmds.c:13860 +#: commands/tablecmds.c:12827 +#, c-format +msgid "cannot alter type of a column used by a publication WHERE clause" +msgstr "" +"изменить тип Ñтолбца, задейÑтвованного в заданном Ð´Ð»Ñ Ð¿ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ†Ð¸Ð¸ предложении " +"WHERE, нельзÑ" + +#: commands/tablecmds.c:13890 commands/tablecmds.c:13902 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "Ñменить владельца индекÑа \"%s\" нельзÑ" -#: commands/tablecmds.c:13850 commands/tablecmds.c:13862 +#: commands/tablecmds.c:13892 commands/tablecmds.c:13904 #, c-format msgid "Change the ownership of the index's table, instead." msgstr "Однако возможно Ñменить владельца таблицы, Ñодержащей Ñтот индекÑ." -#: commands/tablecmds.c:13876 +#: commands/tablecmds.c:13918 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "Ñменить владельца поÑледовательноÑти \"%s\" нельзÑ" -#: commands/tablecmds.c:13890 commands/tablecmds.c:17209 -#: commands/tablecmds.c:17228 +#: commands/tablecmds.c:13932 commands/tablecmds.c:17246 +#: commands/tablecmds.c:17265 #, c-format msgid "Use ALTER TYPE instead." msgstr "ИÑпользуйте ALTER TYPE." -#: commands/tablecmds.c:13899 +#: commands/tablecmds.c:13941 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "Ñменить владельца Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" нельзÑ" -#: commands/tablecmds.c:14261 +#: commands/tablecmds.c:14303 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "в одной инÑтрукции не может быть неÑколько подкоманд SET TABLESPACE" -#: commands/tablecmds.c:14338 +#: commands/tablecmds.c:14380 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "задать параметры Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" нельзÑ" -#: commands/tablecmds.c:14372 commands/view.c:521 +#: commands/tablecmds.c:14414 commands/view.c:521 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "" "WITH CHECK OPTION поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ Ð°Ð²Ñ‚Ð¾Ð¾Ð±Ð½Ð¾Ð²Ð»Ñемыми предÑтавлениÑми" -#: commands/tablecmds.c:14622 +#: commands/tablecmds.c:14664 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "" "в табличных проÑтранÑтвах еÑÑ‚ÑŒ только таблицы, индекÑÑ‹ и материализованные " "предÑтавлениÑ" -#: commands/tablecmds.c:14634 +#: commands/tablecmds.c:14676 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "перемещать объекты в/из табличного проÑтранÑтва pg_global нельзÑ" -#: commands/tablecmds.c:14726 +#: commands/tablecmds.c:14768 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "" "обработка прерываетÑÑ Ð¸Ð·-за невозможноÑти заблокировать отношение \"%s.%s\"" -#: commands/tablecmds.c:14742 +#: commands/tablecmds.c:14784 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr "в табличном проÑтранÑтве \"%s\" не найдены подходÑщие отношениÑ" -#: commands/tablecmds.c:14860 +#: commands/tablecmds.c:14902 #, c-format msgid "cannot change inheritance of typed table" msgstr "изменить наÑледование типизированной таблицы нельзÑ" -#: commands/tablecmds.c:14865 commands/tablecmds.c:15421 +#: commands/tablecmds.c:14907 commands/tablecmds.c:15463 #, c-format msgid "cannot change inheritance of a partition" msgstr "изменить наÑледование Ñекции нельзÑ" -#: commands/tablecmds.c:14870 +#: commands/tablecmds.c:14912 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "изменить наÑледование Ñекционированной таблицы нельзÑ" -#: commands/tablecmds.c:14916 +#: commands/tablecmds.c:14958 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "наÑледование Ð´Ð»Ñ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð³Ð¾ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð¾ ÑеанÑа невозможно" -#: commands/tablecmds.c:14929 +#: commands/tablecmds.c:14971 #, c-format msgid "cannot inherit from a partition" msgstr "наÑледование от Ñекции невозможно" -#: commands/tablecmds.c:14951 commands/tablecmds.c:17864 +#: commands/tablecmds.c:14993 commands/tablecmds.c:17901 #, c-format msgid "circular inheritance not allowed" msgstr "цикличеÑкое наÑледование недопуÑтимо" -#: commands/tablecmds.c:14952 commands/tablecmds.c:17865 +#: commands/tablecmds.c:14994 commands/tablecmds.c:17902 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" уже ÑвлÑетÑÑ Ð¿Ð¾Ñ‚Ð¾Ð¼ÐºÐ¾Ð¼ \"%s\"." -#: commands/tablecmds.c:14965 +#: commands/tablecmds.c:15007 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "" "триггер \"%s\" не позволÑет таблице \"%s\" Ñтать потомком в иерархии " "наÑледованиÑ" -#: commands/tablecmds.c:14967 +#: commands/tablecmds.c:15009 #, c-format msgid "" "ROW triggers with transition tables are not supported in inheritance " @@ -12210,36 +12228,36 @@ msgstr "" "Триггеры ROW Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð½Ñ‹Ð¼Ð¸ таблицами не поддерживаютÑÑ Ð² иерархиÑÑ… " "наÑледованиÑ." -#: commands/tablecmds.c:15170 +#: commands/tablecmds.c:15212 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "Ñтолбец \"%s\" в дочерней таблице должен быть помечен как NOT NULL" -#: commands/tablecmds.c:15179 +#: commands/tablecmds.c:15221 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "Ñтолбец \"%s\" в дочерней таблице должен быть генерируемым" -#: commands/tablecmds.c:15229 +#: commands/tablecmds.c:15271 #, c-format msgid "column \"%s\" in child table has a conflicting generation expression" msgstr "" "Ñтолбец \"%s\" в дочерней таблице Ñодержит конфликтующее генерирующее " "выражение" -#: commands/tablecmds.c:15257 +#: commands/tablecmds.c:15299 #, c-format msgid "child table is missing column \"%s\"" msgstr "в дочерней таблице не хватает Ñтолбца \"%s\"" -#: commands/tablecmds.c:15345 +#: commands/tablecmds.c:15387 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "" "дочернÑÑ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° \"%s\" Ñодержит другое определение ограничениÑ-проверки " "\"%s\"" -#: commands/tablecmds.c:15353 +#: commands/tablecmds.c:15395 #, c-format msgid "" "constraint \"%s\" conflicts with non-inherited constraint on child table " @@ -12248,7 +12266,7 @@ msgstr "" "ограничение \"%s\" конфликтует Ñ Ð½ÐµÐ½Ð°Ñледуемым ограничением дочерней таблицы " "\"%s\"" -#: commands/tablecmds.c:15364 +#: commands/tablecmds.c:15406 #, c-format msgid "" "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" @@ -12256,82 +12274,82 @@ msgstr "" "ограничение \"%s\" конфликтует Ñ Ð½ÐµÐ¿Ñ€Ð¾Ð²ÐµÑ€ÐµÐ½Ð½Ñ‹Ð¼ (NOT VALID) ограничением " "дочерней таблицы \"%s\"" -#: commands/tablecmds.c:15399 +#: commands/tablecmds.c:15441 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "в дочерней таблице не хватает Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ \"%s\"" -#: commands/tablecmds.c:15485 +#: commands/tablecmds.c:15527 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "" "ÑÐµÐºÑ†Ð¸Ñ \"%s\" уже ожидает отÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ñекционированной таблицы \"%s.%s\"" -#: commands/tablecmds.c:15514 commands/tablecmds.c:15562 +#: commands/tablecmds.c:15556 commands/tablecmds.c:15604 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "отношение \"%s\" не ÑвлÑетÑÑ Ñекцией Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\"" -#: commands/tablecmds.c:15568 +#: commands/tablecmds.c:15610 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "отношение \"%s\" не ÑвлÑетÑÑ Ð¿Ñ€ÐµÐ´ÐºÐ¾Ð¼ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\"" -#: commands/tablecmds.c:15796 +#: commands/tablecmds.c:15838 #, c-format msgid "typed tables cannot inherit" msgstr "типизированные таблицы не могут наÑледоватьÑÑ" -#: commands/tablecmds.c:15826 +#: commands/tablecmds.c:15868 #, c-format msgid "table is missing column \"%s\"" msgstr "в таблице не хватает Ñтолбца \"%s\"" -#: commands/tablecmds.c:15837 +#: commands/tablecmds.c:15879 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "таблица Ñодержит Ñтолбец \"%s\", тогда как тип требует \"%s\"" -#: commands/tablecmds.c:15846 +#: commands/tablecmds.c:15888 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "таблица \"%s\" Ñодержит Ñтолбец \"%s\" другого типа" -#: commands/tablecmds.c:15860 +#: commands/tablecmds.c:15902 #, c-format msgid "table has extra column \"%s\"" msgstr "таблица Ñодержит лишний Ñтолбец \"%s\"" -#: commands/tablecmds.c:15912 +#: commands/tablecmds.c:15954 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" - Ñто не Ñ‚Ð¸Ð¿Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°" -#: commands/tablecmds.c:16086 +#: commands/tablecmds.c:16128 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "" "Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ реплики Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать неуникальный Ð¸Ð½Ð´ÐµÐºÑ \"%s\"" -#: commands/tablecmds.c:16092 +#: commands/tablecmds.c:16134 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "" "Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ реплики Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать не непоÑредÑтвенный Ð¸Ð½Ð´ÐµÐºÑ " "\"%s\"" -#: commands/tablecmds.c:16098 +#: commands/tablecmds.c:16140 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "" "Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ реплики Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ð¸Ð½Ð´ÐµÐºÑ Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸ÐµÐ¼ \"%s\"" -#: commands/tablecmds.c:16104 +#: commands/tablecmds.c:16146 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ реплики Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать чаÑтичный Ð¸Ð½Ð´ÐµÐºÑ \"%s\"" -#: commands/tablecmds.c:16121 +#: commands/tablecmds.c:16163 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column %d is a " @@ -12340,7 +12358,7 @@ msgstr "" "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ реплики, так как Ñтолбец " "%d - ÑиÑтемный" -#: commands/tablecmds.c:16128 +#: commands/tablecmds.c:16170 #, c-format msgid "" "index \"%s\" cannot be used as replica identity because column \"%s\" is " @@ -12349,13 +12367,13 @@ msgstr "" "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать Ð´Ð»Ñ Ð¸Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ð¸ реплики, так как Ñтолбец " "\"%s\" допуÑкает NULL" -#: commands/tablecmds.c:16375 +#: commands/tablecmds.c:16417 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "" "изменить ÑоÑтоÑние Ð¶ÑƒÑ€Ð½Ð°Ð»Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ %s нельзÑ, так как она временнаÑ" -#: commands/tablecmds.c:16399 +#: commands/tablecmds.c:16441 #, c-format msgid "" "cannot change table \"%s\" to unlogged because it is part of a publication" @@ -12363,12 +12381,12 @@ msgstr "" "таблицу \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ñделать нежурналируемой, так как она включена в " "публикацию" -#: commands/tablecmds.c:16401 +#: commands/tablecmds.c:16443 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ðежурналируемые Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ð½Ðµ поддерживают репликацию." -#: commands/tablecmds.c:16446 +#: commands/tablecmds.c:16488 #, c-format msgid "" "could not change table \"%s\" to logged because it references unlogged table " @@ -12377,7 +12395,7 @@ msgstr "" "не удалоÑÑŒ Ñделать таблицу \"%s\" журналируемой, так как она ÑÑылаетÑÑ Ð½Ð° " "нежурналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16456 +#: commands/tablecmds.c:16498 #, c-format msgid "" "could not change table \"%s\" to unlogged because it references logged table " @@ -12386,102 +12404,102 @@ msgstr "" "не удалоÑÑŒ Ñделать таблицу \"%s\" нежурналируемой, так как она ÑÑылаетÑÑ Ð½Ð° " "журналируемую таблицу \"%s\"" -#: commands/tablecmds.c:16514 +#: commands/tablecmds.c:16556 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "перемеÑтить поÑледовательноÑÑ‚ÑŒ Ñ Ð²Ð»Ð°Ð´ÐµÐ»ÑŒÑ†ÐµÐ¼ в другую Ñхему нельзÑ" -#: commands/tablecmds.c:16621 +#: commands/tablecmds.c:16658 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "отношение \"%s\" уже ÑущеÑтвует в Ñхеме \"%s\"" -#: commands/tablecmds.c:17042 +#: commands/tablecmds.c:17079 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" - Ñто не таблица и не материализованное предÑтавление" -#: commands/tablecmds.c:17192 +#: commands/tablecmds.c:17229 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" - Ñто не ÑоÑтавной тип" -#: commands/tablecmds.c:17220 +#: commands/tablecmds.c:17257 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "Ñменить Ñхему индекÑа \"%s\" нельзÑ" -#: commands/tablecmds.c:17222 commands/tablecmds.c:17234 +#: commands/tablecmds.c:17259 commands/tablecmds.c:17271 #, c-format msgid "Change the schema of the table instead." msgstr "Однако возможно Ñменить владельца таблицы." -#: commands/tablecmds.c:17226 +#: commands/tablecmds.c:17263 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "Ñменить Ñхему ÑоÑтавного типа \"%s\" нельзÑ" -#: commands/tablecmds.c:17232 +#: commands/tablecmds.c:17269 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "Ñменить Ñхему TOAST-таблицы \"%s\" нельзÑ" -#: commands/tablecmds.c:17269 +#: commands/tablecmds.c:17306 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "нераÑÐ¿Ð¾Ð·Ð½Ð°Ð½Ð½Ð°Ñ ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ \"%s\"" -#: commands/tablecmds.c:17277 +#: commands/tablecmds.c:17314 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ð¸Ñ ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ ÑпиÑку не поддерживает неÑколько Ñтолбцов" -#: commands/tablecmds.c:17343 +#: commands/tablecmds.c:17380 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "Ñтолбец \"%s\", упомÑнутый в ключе ÑекционированиÑ, не ÑущеÑтвует" -#: commands/tablecmds.c:17351 +#: commands/tablecmds.c:17388 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "ÑиÑтемный Ñтолбец \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в ключе ÑекционированиÑ" -#: commands/tablecmds.c:17362 commands/tablecmds.c:17452 +#: commands/tablecmds.c:17399 commands/tablecmds.c:17489 #, c-format msgid "cannot use generated column in partition key" msgstr "генерируемый Ñтолбец Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в ключе ÑекционированиÑ" -#: commands/tablecmds.c:17363 commands/tablecmds.c:17453 commands/trigger.c:668 +#: commands/tablecmds.c:17400 commands/tablecmds.c:17490 commands/trigger.c:668 #: rewrite/rewriteHandler.c:929 rewrite/rewriteHandler.c:964 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Столбец \"%s\" ÑвлÑетÑÑ Ð³ÐµÐ½ÐµÑ€Ð¸Ñ€ÑƒÐµÐ¼Ñ‹Ð¼." -#: commands/tablecmds.c:17435 +#: commands/tablecmds.c:17472 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "" "Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÐºÐ»ÑŽÑ‡ÐµÐ¹ ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½Ðµ могут Ñодержать ÑÑылки на ÑиÑтемный " "Ñтолбец" -#: commands/tablecmds.c:17482 +#: commands/tablecmds.c:17519 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "" "функции в выражении ключа ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ быть помечены как IMMUTABLE" -#: commands/tablecmds.c:17491 +#: commands/tablecmds.c:17528 #, c-format msgid "cannot use constant expression as partition key" msgstr "" "в качеÑтве ключа ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать конÑтантное выражение" -#: commands/tablecmds.c:17512 +#: commands/tablecmds.c:17549 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "не удалоÑÑŒ определить правило Ñортировки Ð´Ð»Ñ Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑекционированиÑ" -#: commands/tablecmds.c:17547 +#: commands/tablecmds.c:17584 #, c-format msgid "" "You must specify a hash operator class or define a default hash operator " @@ -12490,7 +12508,7 @@ msgstr "" "Ð’Ñ‹ должны указать клаÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð² Ñ…ÐµÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¸Ð»Ð¸ определить клаÑÑ " "операторов Ñ…ÐµÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ умолчанию Ð´Ð»Ñ Ñтого типа данных." -#: commands/tablecmds.c:17553 +#: commands/tablecmds.c:17590 #, c-format msgid "" "You must specify a btree operator class or define a default btree operator " @@ -12499,27 +12517,27 @@ msgstr "" "Ð’Ñ‹ должны указать клаÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð² B-дерева или определить клаÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð² " "B-дерева по умолчанию Ð´Ð»Ñ Ñтого типа данных." -#: commands/tablecmds.c:17804 +#: commands/tablecmds.c:17841 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" уже ÑвлÑетÑÑ Ñекцией" -#: commands/tablecmds.c:17810 +#: commands/tablecmds.c:17847 #, c-format msgid "cannot attach a typed table as partition" msgstr "подключить типизированную таблицу в качеÑтве Ñекции нельзÑ" -#: commands/tablecmds.c:17826 +#: commands/tablecmds.c:17863 #, c-format msgid "cannot attach inheritance child as partition" msgstr "подключить потомок в иерархии наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² качеÑтве Ñекции нельзÑ" -#: commands/tablecmds.c:17840 +#: commands/tablecmds.c:17877 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "подключить родитель в иерархии наÑÐ»ÐµÐ´Ð¾Ð²Ð°Ð½Ð¸Ñ Ð² качеÑтве Ñекции нельзÑ" -#: commands/tablecmds.c:17874 +#: commands/tablecmds.c:17911 #, c-format msgid "" "cannot attach a temporary relation as partition of permanent relation \"%s\"" @@ -12527,7 +12545,7 @@ msgstr "" "подключить временное отношение в качеÑтве Ñекции поÑтоÑнного Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ " "\"%s\" нельзÑ" -#: commands/tablecmds.c:17882 +#: commands/tablecmds.c:17919 #, c-format msgid "" "cannot attach a permanent relation as partition of temporary relation \"%s\"" @@ -12535,92 +12553,92 @@ msgstr "" "подключить поÑтоÑнное отношение в качеÑтве Ñекции временного Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ " "\"%s\" нельзÑ" -#: commands/tablecmds.c:17890 +#: commands/tablecmds.c:17927 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "подключить Ñекцию к временному отношению в другом ÑеанÑе нельзÑ" -#: commands/tablecmds.c:17897 +#: commands/tablecmds.c:17934 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "" "подключить временное отношение из другого ÑеанÑа в качеÑтве Ñекции нельзÑ" -#: commands/tablecmds.c:17917 +#: commands/tablecmds.c:17954 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "" "таблица \"%s\" Ñодержит Ñтолбец \"%s\", отÑутÑтвующий в родителе \"%s\"" -#: commands/tablecmds.c:17920 +#: commands/tablecmds.c:17957 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "" "ÐÐ¾Ð²Ð°Ñ ÑÐµÐºÑ†Ð¸Ñ Ð¼Ð¾Ð¶ÐµÑ‚ Ñодержать только Ñтолбцы, имеющиеÑÑ Ð² родительÑкой " "таблице." -#: commands/tablecmds.c:17932 +#: commands/tablecmds.c:17969 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "триггер \"%s\" не позволÑет Ñделать таблицу \"%s\" Ñекцией" -#: commands/tablecmds.c:17934 +#: commands/tablecmds.c:17971 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Триггеры ROW Ñ Ð¿ÐµÑ€ÐµÑ…Ð¾Ð´Ð½Ñ‹Ð¼Ð¸ таблицами Ð´Ð»Ñ Ñекций не поддерживаютÑÑ." -#: commands/tablecmds.c:18113 +#: commands/tablecmds.c:18150 #, c-format msgid "" "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "" "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ñоединить Ñтороннюю таблицу \"%s\" в качеÑтве Ñекции таблицы \"%s\"" -#: commands/tablecmds.c:18116 +#: commands/tablecmds.c:18153 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Ð¡ÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° \"%s\" Ñодержит уникальные индекÑÑ‹." -#: commands/tablecmds.c:18431 +#: commands/tablecmds.c:18468 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "" "Ñекции Ð½ÐµÐ»ÑŒÐ·Ñ Ð¾Ñ‚ÑоединÑÑ‚ÑŒ в режиме CONCURRENTLY, когда ÑущеÑтвует ÑÐµÐºÑ†Ð¸Ñ Ð¿Ð¾ " "умолчанию" -#: commands/tablecmds.c:18540 +#: commands/tablecmds.c:18577 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð° \"%s\" была параллельно удалена" -#: commands/tablecmds.c:18546 +#: commands/tablecmds.c:18583 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "ÑÐµÐºÑ†Ð¸Ñ \"%s\" была параллельно удалена" -#: commands/tablecmds.c:19061 commands/tablecmds.c:19081 -#: commands/tablecmds.c:19101 commands/tablecmds.c:19120 -#: commands/tablecmds.c:19162 +#: commands/tablecmds.c:19098 commands/tablecmds.c:19118 +#: commands/tablecmds.c:19138 commands/tablecmds.c:19157 +#: commands/tablecmds.c:19199 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ñоединить Ð¸Ð½Ð´ÐµÐºÑ \"%s\" в качеÑтве Ñекции индекÑа \"%s\"" -#: commands/tablecmds.c:19064 +#: commands/tablecmds.c:19101 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Ð˜Ð½Ð´ÐµÐºÑ \"%s\" уже приÑоединён к другому индекÑу." -#: commands/tablecmds.c:19084 +#: commands/tablecmds.c:19121 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Ð˜Ð½Ð´ÐµÐºÑ \"%s\" не ÑвлÑетÑÑ Ð¸Ð½Ð´ÐµÐºÑом какой-либо Ñекции таблицы \"%s\"." -#: commands/tablecmds.c:19104 +#: commands/tablecmds.c:19141 #, c-format msgid "The index definitions do not match." msgstr "ÐžÐ¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¸Ð½Ð´ÐµÐºÑов не Ñовпадают." -#: commands/tablecmds.c:19123 +#: commands/tablecmds.c:19160 #, c-format msgid "" "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint " @@ -12629,17 +12647,17 @@ msgstr "" "Ð˜Ð½Ð´ÐµÐºÑ \"%s\" принадлежит ограничению в таблице \"%s\", но Ð´Ð»Ñ Ð¸Ð½Ð´ÐµÐºÑа " "\"%s\" Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð½ÐµÑ‚." -#: commands/tablecmds.c:19165 +#: commands/tablecmds.c:19202 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "К Ñекции \"%s\" уже приÑоединён другой индекÑ." -#: commands/tablecmds.c:19402 +#: commands/tablecmds.c:19439 #, c-format msgid "column data type %s does not support compression" msgstr "тим данных Ñтолбца %s не поддерживает Ñжатие" -#: commands/tablecmds.c:19409 +#: commands/tablecmds.c:19446 #, c-format msgid "invalid compression method \"%s\"" msgstr "неверный метод ÑÐ¶Ð°Ñ‚Ð¸Ñ \"%s\"" @@ -13060,7 +13078,8 @@ msgstr "" #: commands/trigger.c:3442 executor/nodeModifyTable.c:1514 #: executor/nodeModifyTable.c:1588 executor/nodeModifyTable.c:2351 -#: executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:3079 +#: executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:2971 +#: executor/nodeModifyTable.c:3098 #, c-format msgid "" "Consider using an AFTER trigger instead of a BEFORE trigger to propagate " @@ -13079,7 +13098,7 @@ msgstr "не удалоÑÑŒ Ñериализовать доÑтуп из-за п #: commands/trigger.c:3491 executor/nodeModifyTable.c:1620 #: executor/nodeModifyTable.c:2451 executor/nodeModifyTable.c:2600 -#: executor/nodeModifyTable.c:2967 +#: executor/nodeModifyTable.c:2989 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не удалоÑÑŒ Ñериализовать доÑтуп из-за параллельного удалениÑ" @@ -13926,37 +13945,37 @@ msgstr "" "Скорее закройте открытые транзакции в мультитранзакциÑÑ…, чтобы избежать " "проблемы зацикливаниÑ." -#: commands/vacuum.c:1807 +#: commands/vacuum.c:1811 #, c-format msgid "some databases have not been vacuumed in over 2 billion transactions" msgstr "" "еÑÑ‚ÑŒ базы данных, которые не очищалиÑÑŒ на протÑжении более чем 2 миллиардов " "транзакций" -#: commands/vacuum.c:1808 +#: commands/vacuum.c:1812 #, c-format msgid "You might have already suffered transaction-wraparound data loss." msgstr "" "Возможно, вы уже потерÑли данные в результате Ð·Ð°Ñ†Ð¸ÐºÐ»Ð¸Ð²Ð°Ð½Ð¸Ñ ID транзакций." -#: commands/vacuum.c:1976 +#: commands/vacuum.c:1980 #, c-format msgid "skipping \"%s\" --- cannot vacuum non-tables or special system tables" msgstr "" "\"%s\" пропуÑкаетÑÑ --- очищать не таблицы или Ñпециальные ÑиÑтемные таблицы " "нельзÑ" -#: commands/vacuum.c:2354 +#: commands/vacuum.c:2358 #, c-format msgid "scanned index \"%s\" to remove %d row versions" msgstr "проÑканирован Ð¸Ð½Ð´ÐµÐºÑ \"%s\", удалено верÑий Ñтрок: %d" -#: commands/vacuum.c:2373 +#: commands/vacuum.c:2377 #, c-format msgid "index \"%s\" now contains %.0f row versions in %u pages" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" теперь Ñодержит верÑий Ñтрок: %.0f, в Ñтраницах: %u" -#: commands/vacuum.c:2377 +#: commands/vacuum.c:2381 #, c-format msgid "" "%.0f index row versions were removed.\n" @@ -14274,7 +14293,7 @@ msgstr[0] "функции Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‚ÑŒ больше %d аргу msgstr[1] "функции Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‚ÑŒ больше %d аргументов" msgstr[2] "функции Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‚ÑŒ больше %d аргументов" -#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1073 +#: executor/execExpr.c:2509 executor/execSRF.c:738 executor/functions.c:1074 #: utils/adt/jsonfuncs.c:3699 utils/fmgr/funcapi.c:98 utils/fmgr/funcapi.c:152 #, c-format msgid "set-valued function called in context that cannot accept a set" @@ -14312,7 +14331,7 @@ msgstr "Ð’ таблице задан тип %s, а в запроÑе ожидаР#: executor/execExprInterp.c:2006 utils/adt/expandedrecord.c:99 #: utils/adt/expandedrecord.c:231 utils/cache/typcache.c:1749 #: utils/cache/typcache.c:1908 utils/cache/typcache.c:2055 -#: utils/fmgr/funcapi.c:570 +#: utils/fmgr/funcapi.c:578 #, c-format msgid "type %s is not composite" msgstr "тип %s не ÑвлÑетÑÑ ÑоÑтавным" @@ -14833,31 +14852,31 @@ msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в SQL-функции" msgid "%s is not allowed in a non-volatile function" msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в не изменчивой (volatile) функции" -#: executor/functions.c:1457 +#: executor/functions.c:1458 #, c-format msgid "SQL function \"%s\" statement %d" msgstr "SQL-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ \"%s\", оператор %d" -#: executor/functions.c:1483 +#: executor/functions.c:1484 #, c-format msgid "SQL function \"%s\" during startup" msgstr "SQL-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ \"%s\" (при Ñтарте)" -#: executor/functions.c:1568 +#: executor/functions.c:1569 #, c-format msgid "" "calling procedures with output arguments is not supported in SQL functions" msgstr "" "вызов процедур Ñ Ð²Ñ‹Ñ…Ð¾Ð´Ð½Ñ‹Ð¼Ð¸ аргументами в функциÑÑ… SQL не поддерживаетÑÑ" -#: executor/functions.c:1701 executor/functions.c:1739 -#: executor/functions.c:1753 executor/functions.c:1843 -#: executor/functions.c:1876 executor/functions.c:1890 +#: executor/functions.c:1717 executor/functions.c:1755 +#: executor/functions.c:1769 executor/functions.c:1864 +#: executor/functions.c:1897 executor/functions.c:1911 #, c-format msgid "return type mismatch in function declared to return %s" msgstr "неÑовпадение типа возврата в функции (в объÑвлении указан тип %s)" -#: executor/functions.c:1703 +#: executor/functions.c:1719 #, c-format msgid "" "Function's final statement must be SELECT or INSERT/UPDATE/DELETE RETURNING." @@ -14865,32 +14884,32 @@ msgstr "" "ПоÑледним оператором в функции должен быть SELECT или INSERT/UPDATE/DELETE " "RETURNING." -#: executor/functions.c:1741 +#: executor/functions.c:1757 #, c-format msgid "Final statement must return exactly one column." msgstr "ПоÑледний оператор должен возвращать один Ñтолбец." -#: executor/functions.c:1755 +#: executor/functions.c:1771 #, c-format msgid "Actual return type is %s." msgstr "ФактичеÑкий тип возврата: %s." -#: executor/functions.c:1845 +#: executor/functions.c:1866 #, c-format msgid "Final statement returns too many columns." msgstr "ПоÑледний оператор возвращает Ñлишком много Ñтолбцов." -#: executor/functions.c:1878 +#: executor/functions.c:1899 #, c-format msgid "Final statement returns %s instead of %s at column %d." msgstr "ПоÑледний оператор возвращает %s вмеÑто %s Ð´Ð»Ñ Ñтолбца %d." -#: executor/functions.c:1892 +#: executor/functions.c:1913 #, c-format msgid "Final statement returns too few columns." msgstr "ПоÑледний оператор возвращает Ñлишком мало Ñтолбцов." -#: executor/functions.c:1920 +#: executor/functions.c:1941 #, c-format msgid "return type %s is not supported for SQL functions" msgstr "Ð´Ð»Ñ SQL-функций тип возврата %s не поддерживаетÑÑ" @@ -14924,7 +14943,7 @@ msgstr "" "не удалоÑÑŒ прочитать временный файл хеш-ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ (прочитано байт: %zu из " "%zu)" -#: executor/nodeIndexonlyscan.c:240 +#: executor/nodeIndexonlyscan.c:242 #, c-format msgid "lossy distance functions are not supported in index-only scans" msgstr "" @@ -15004,7 +15023,8 @@ msgid "Consider defining the foreign key on table \"%s\"." msgstr "Возможно, имеет ÑмыÑл перенацелить внешний ключ на таблицу \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2956 +#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2977 +#: executor/nodeModifyTable.c:3104 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не может подейÑтвовать на Ñтроку дважды" @@ -15018,14 +15038,23 @@ msgstr "" "Проверьте, не Ñодержат ли Ñтроки, которые должна добавить команда, " "дублирующиеÑÑ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ, подпадающие под ограничениÑ." -#: executor/nodeModifyTable.c:2958 +#: executor/nodeModifyTable.c:2970 executor/nodeModifyTable.c:3097 +#, c-format +msgid "" +"tuple to be updated or deleted was already modified by an operation " +"triggered by the current command" +msgstr "" +"кортеж, который должен быть изменён или удалён, уже модифицирован в " +"операции, вызванной текущей командой" + +#: executor/nodeModifyTable.c:2979 executor/nodeModifyTable.c:3106 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "" "Проверьте, не может ли какой-либо целевой Ñтроке ÑоответÑтвовать более одной " "иÑходной Ñтроки." -#: executor/nodeModifyTable.c:3039 +#: executor/nodeModifyTable.c:3061 #, c-format msgid "" "tuple to be deleted was already moved to another partition due to concurrent " @@ -15034,15 +15063,6 @@ msgstr "" "кортеж, подлежащий удалению, был перемещён в другую Ñекцию в результате " "параллельного изменениÑ" -#: executor/nodeModifyTable.c:3078 -#, c-format -msgid "" -"tuple to be updated or deleted was already modified by an operation " -"triggered by the current command" -msgstr "" -"кортеж, который должен быть изменён или удалён, уже модифицирован в " -"операции, вызванной текущей командой" - #: executor/nodeSamplescan.c:260 #, c-format msgid "TABLESAMPLE parameter cannot be null" @@ -15162,7 +15182,7 @@ msgstr "не удалоÑÑŒ открыть Ð·Ð°Ð¿Ñ€Ð¾Ñ %s как курÑор" msgid "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE is not supported" msgstr "DECLARE SCROLL CURSOR ... FOR UPDATE/SHARE не поддерживаетÑÑ" -#: executor/spi.c:1717 parser/analyze.c:2899 +#: executor/spi.c:1717 parser/analyze.c:2910 #, c-format msgid "Scrollable cursors must be READ ONLY." msgstr "Прокручиваемые курÑоры должны быть READ ONLY." @@ -16363,22 +16383,22 @@ msgstr "ECDH: не удалоÑÑŒ Ñоздать ключ" msgid "no SSL error reported" msgstr "нет ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибке SSL" -#: libpq/be-secure-openssl.c:1259 +#: libpq/be-secure-openssl.c:1272 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: libpq/be-secure-openssl.c:1418 +#: libpq/be-secure-openssl.c:1431 #, c-format msgid "could not create BIO" msgstr "не удалоÑÑŒ Ñоздать BIO" -#: libpq/be-secure-openssl.c:1428 +#: libpq/be-secure-openssl.c:1441 #, c-format msgid "could not get NID for ASN1_OBJECT object" msgstr "не удалоÑÑŒ получить NID Ð´Ð»Ñ Ð¾Ð±ÑŠÐµÐºÑ‚Ð° ASN1_OBJECT" -#: libpq/be-secure-openssl.c:1436 +#: libpq/be-secure-openssl.c:1449 #, c-format msgid "could not convert NID %d to an ASN1_OBJECT structure" msgstr "не удалоÑÑŒ преобразовать NID %d в Ñтруктуру ASN1_OBJECT" @@ -16839,74 +16859,74 @@ msgstr "" msgid "could not open usermap file \"%s\": %m" msgstr "не удалоÑÑŒ открыть файл ÑопоÑтавлений пользователей \"%s\": %m" -#: libpq/pqcomm.c:204 +#: libpq/pqcomm.c:200 #, c-format msgid "could not set socket to nonblocking mode: %m" msgstr "не удалоÑÑŒ перевеÑти Ñокет в неблокирующий режим: %m" -#: libpq/pqcomm.c:362 +#: libpq/pqcomm.c:358 #, c-format msgid "Unix-domain socket path \"%s\" is too long (maximum %d bytes)" msgstr "длина пути Unix-Ñокета \"%s\" превышает предел (%d байт)" -#: libpq/pqcomm.c:383 +#: libpq/pqcomm.c:379 #, c-format msgid "could not translate host name \"%s\", service \"%s\" to address: %s" msgstr "перевеÑти Ð¸Ð¼Ñ ÑƒÐ·Ð»Ð° \"%s\", Ñлужбы \"%s\" в Ð°Ð´Ñ€ÐµÑ Ð½Ðµ удалоÑÑŒ: %s" -#: libpq/pqcomm.c:387 +#: libpq/pqcomm.c:383 #, c-format msgid "could not translate service \"%s\" to address: %s" msgstr "не удалоÑÑŒ перевеÑти Ð¸Ð¼Ñ Ñлужбы \"%s\" в адреÑ: %s" -#: libpq/pqcomm.c:414 +#: libpq/pqcomm.c:410 #, c-format msgid "could not bind to all requested addresses: MAXLISTEN (%d) exceeded" msgstr "" "не удалоÑÑŒ привÑзатьÑÑ ÐºÐ¾ вÑем запрошенным адреÑам: превышен предел " "MAXLISTEN (%d)" -#: libpq/pqcomm.c:423 +#: libpq/pqcomm.c:419 msgid "IPv4" msgstr "IPv4" -#: libpq/pqcomm.c:427 +#: libpq/pqcomm.c:423 msgid "IPv6" msgstr "IPv6" -#: libpq/pqcomm.c:432 +#: libpq/pqcomm.c:428 msgid "Unix" msgstr "Unix" -#: libpq/pqcomm.c:437 +#: libpq/pqcomm.c:433 #, c-format msgid "unrecognized address family %d" msgstr "нераÑпознанное ÑемейÑтво адреÑов: %d" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:463 +#: libpq/pqcomm.c:459 #, c-format msgid "could not create %s socket for address \"%s\": %m" msgstr "не удалоÑÑŒ Ñоздать Ñокет %s Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа \"%s\": %m" #. translator: third %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:489 libpq/pqcomm.c:507 +#: libpq/pqcomm.c:485 libpq/pqcomm.c:503 #, c-format msgid "%s(%s) failed for %s address \"%s\": %m" msgstr "ошибка в %s(%s) Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑа %s \"%s\": %m" #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:530 +#: libpq/pqcomm.c:526 #, c-format msgid "could not bind %s address \"%s\": %m" msgstr "не удалоÑÑŒ привÑзатьÑÑ Ðº адреÑу %s \"%s\": %m" -#: libpq/pqcomm.c:534 +#: libpq/pqcomm.c:530 #, c-format msgid "Is another postmaster already running on port %d?" msgstr "Возможно, порт %d занÑÑ‚ другим процеÑÑом postmaster?" -#: libpq/pqcomm.c:536 +#: libpq/pqcomm.c:532 #, c-format msgid "" "Is another postmaster already running on port %d? If not, wait a few seconds " @@ -16916,96 +16936,96 @@ msgstr "" "попытку через неÑколько Ñекунд." #. translator: first %s is IPv4, IPv6, or Unix -#: libpq/pqcomm.c:569 +#: libpq/pqcomm.c:565 #, c-format msgid "could not listen on %s address \"%s\": %m" msgstr "не удалоÑÑŒ привÑзатьÑÑ Ðº адреÑу %s \"%s\": %m" -#: libpq/pqcomm.c:578 +#: libpq/pqcomm.c:574 #, c-format msgid "listening on Unix socket \"%s\"" msgstr "Ð´Ð»Ñ Ð¿Ñ€Ð¸Ñ‘Ð¼Ð° подключений открыт Unix-Ñокет \"%s\"" #. translator: first %s is IPv4 or IPv6 -#: libpq/pqcomm.c:584 +#: libpq/pqcomm.c:580 #, c-format msgid "listening on %s address \"%s\", port %d" msgstr "Ð´Ð»Ñ Ð¿Ñ€Ð¸Ñ‘Ð¼Ð° подключений по адреÑу %s \"%s\" открыт порт %d" -#: libpq/pqcomm.c:675 +#: libpq/pqcomm.c:671 #, c-format msgid "group \"%s\" does not exist" msgstr "группа \"%s\" не ÑущеÑтвует" -#: libpq/pqcomm.c:685 +#: libpq/pqcomm.c:681 #, c-format msgid "could not set group of file \"%s\": %m" msgstr "не удалоÑÑŒ уÑтановить группу Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\": %m" -#: libpq/pqcomm.c:696 +#: libpq/pqcomm.c:692 #, c-format msgid "could not set permissions of file \"%s\": %m" msgstr "не удалоÑÑŒ уÑтановить права доÑтупа Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\": %m" -#: libpq/pqcomm.c:726 +#: libpq/pqcomm.c:722 #, c-format msgid "could not accept new connection: %m" msgstr "не удалоÑÑŒ принÑÑ‚ÑŒ новое подключение: %m" -#: libpq/pqcomm.c:766 libpq/pqcomm.c:775 libpq/pqcomm.c:807 libpq/pqcomm.c:817 -#: libpq/pqcomm.c:1652 libpq/pqcomm.c:1697 libpq/pqcomm.c:1737 -#: libpq/pqcomm.c:1781 libpq/pqcomm.c:1820 libpq/pqcomm.c:1859 -#: libpq/pqcomm.c:1895 libpq/pqcomm.c:1934 +#: libpq/pqcomm.c:762 libpq/pqcomm.c:771 libpq/pqcomm.c:803 libpq/pqcomm.c:813 +#: libpq/pqcomm.c:1648 libpq/pqcomm.c:1693 libpq/pqcomm.c:1733 +#: libpq/pqcomm.c:1777 libpq/pqcomm.c:1816 libpq/pqcomm.c:1855 +#: libpq/pqcomm.c:1891 libpq/pqcomm.c:1930 #, c-format msgid "%s(%s) failed: %m" msgstr "ошибка в %s(%s): %m" -#: libpq/pqcomm.c:921 +#: libpq/pqcomm.c:917 #, c-format msgid "there is no client connection" msgstr "нет клиентÑкого подключениÑ" -#: libpq/pqcomm.c:977 libpq/pqcomm.c:1078 +#: libpq/pqcomm.c:973 libpq/pqcomm.c:1074 #, c-format msgid "could not receive data from client: %m" msgstr "не удалоÑÑŒ получить данные от клиента: %m" -#: libpq/pqcomm.c:1183 tcop/postgres.c:4373 +#: libpq/pqcomm.c:1179 tcop/postgres.c:4373 #, c-format msgid "terminating connection because protocol synchronization was lost" msgstr "закрытие Ð¿Ð¾Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð¸Ð·-за потери Ñинхронизации протокола" -#: libpq/pqcomm.c:1249 +#: libpq/pqcomm.c:1245 #, c-format msgid "unexpected EOF within message length word" msgstr "неожиданный обрыв данных в Ñлове длины ÑообщениÑ" -#: libpq/pqcomm.c:1259 +#: libpq/pqcomm.c:1255 #, c-format msgid "invalid message length" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð´Ð»Ð¸Ð½Ð° ÑообщениÑ" -#: libpq/pqcomm.c:1281 libpq/pqcomm.c:1294 +#: libpq/pqcomm.c:1277 libpq/pqcomm.c:1290 #, c-format msgid "incomplete message from client" msgstr "неполное Ñообщение от клиента" -#: libpq/pqcomm.c:1405 +#: libpq/pqcomm.c:1401 #, c-format msgid "could not send data to client: %m" msgstr "не удалоÑÑŒ поÑлать данные клиенту: %m" -#: libpq/pqcomm.c:1620 +#: libpq/pqcomm.c:1616 #, c-format msgid "%s(%s) failed: error code %d" msgstr "ошибка в %s(%s): код ошибки %d" -#: libpq/pqcomm.c:1709 +#: libpq/pqcomm.c:1705 #, c-format msgid "setting the keepalive idle time is not supported" msgstr "изменение Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ keepalives_idle не поддерживаетÑÑ" -#: libpq/pqcomm.c:1793 libpq/pqcomm.c:1868 libpq/pqcomm.c:1943 +#: libpq/pqcomm.c:1789 libpq/pqcomm.c:1864 libpq/pqcomm.c:1939 #, c-format msgid "%s(%s) not supported" msgstr "%s(%s) не поддерживаетÑÑ" @@ -17359,7 +17379,7 @@ msgstr "отношение \"%s\" не имеет ÑоÑтавного типа" #: nodes/nodeFuncs.c:114 nodes/nodeFuncs.c:145 parser/parse_coerce.c:2567 #: parser/parse_coerce.c:2705 parser/parse_coerce.c:2752 #: parser/parse_expr.c:2023 parser/parse_func.c:710 parser/parse_oper.c:883 -#: utils/fmgr/funcapi.c:670 +#: utils/fmgr/funcapi.c:678 #, c-format msgid "could not find array type for data type %s" msgstr "тип маÑÑива Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° данных %s не найден" @@ -17383,8 +17403,8 @@ msgstr "" "FULL JOIN поддерживаетÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ Ñ ÑƒÑловиÑми, допуÑкающими Ñоединение " "ÑлиÑнием или хеш-Ñоединение" -#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:182 -#: parser/parse_merge.c:189 +#: optimizer/plan/createplan.c:7101 parser/parse_merge.c:187 +#: parser/parse_merge.c:194 #, c-format msgid "cannot execute MERGE on relation \"%s\"" msgstr "выполнить MERGE Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ðµ \"%s\" нельзÑ" @@ -17396,8 +17416,8 @@ msgid "%s cannot be applied to the nullable side of an outer join" msgstr "%s не может применÑÑ‚ÑŒÑÑ Ðº NULL-Ñодержащей Ñтороне внешнего ÑоединениÑ" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: optimizer/plan/planner.c:1344 parser/analyze.c:1752 parser/analyze.c:2008 -#: parser/analyze.c:3190 +#: optimizer/plan/planner.c:1344 parser/analyze.c:1763 parser/analyze.c:2019 +#: parser/analyze.c:3201 #, c-format msgid "%s is not allowed with UNION/INTERSECT/EXCEPT" msgstr "%s неÑовмеÑтимо Ñ UNION/INTERSECT/EXCEPT" @@ -17458,7 +17478,7 @@ msgstr "Ð’Ñе Ñтолбцы должны иметь хешируемые тиРmsgid "could not implement %s" msgstr "не удалоÑÑŒ реализовать %s" -#: optimizer/util/clauses.c:4843 +#: optimizer/util/clauses.c:4847 #, c-format msgid "SQL function \"%s\" during inlining" msgstr "Ð²Ð½ÐµÐ´Ñ€Ñ‘Ð½Ð½Ð°Ñ Ð² код SQL-Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ \"%s\"" @@ -17501,7 +17521,7 @@ msgstr "" "нет уникального Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¸Ð»Ð¸ ограничениÑ-иÑключениÑ, ÑоответÑтвующего " "указанию ON CONFLICT" -#: parser/analyze.c:818 parser/analyze.c:1532 +#: parser/analyze.c:818 parser/analyze.c:1543 #, c-format msgid "VALUES lists must all be the same length" msgstr "ÑпиÑки VALUES должны иметь одинаковую длину" @@ -17525,29 +17545,29 @@ msgstr "" "ИÑточником данных ÑвлÑетÑÑ Ñтрока, Ð²ÐºÐ»ÑŽÑ‡Ð°ÑŽÑ‰Ð°Ñ Ñтолько же Ñтолбцов, Ñколько " "требуетÑÑ Ð´Ð»Ñ INSERT. Ð’Ñ‹ намеренно иÑпользовали Ñкобки?" -#: parser/analyze.c:1340 parser/analyze.c:1725 +#: parser/analyze.c:1351 parser/analyze.c:1736 #, c-format msgid "SELECT ... INTO is not allowed here" msgstr "SELECT ... INTO здеÑÑŒ не допуÑкаетÑÑ" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:1655 parser/analyze.c:3401 +#: parser/analyze.c:1666 parser/analyze.c:3412 #, c-format msgid "%s cannot be applied to VALUES" msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½ÑÑ‚ÑŒ к VALUES" -#: parser/analyze.c:1891 +#: parser/analyze.c:1902 #, c-format msgid "invalid UNION/INTERSECT/EXCEPT ORDER BY clause" msgstr "неверное предложение UNION/INTERSECT/EXCEPT ORDER BY" -#: parser/analyze.c:1892 +#: parser/analyze.c:1903 #, c-format msgid "Only result column names can be used, not expressions or functions." msgstr "" "ДопуÑтимо иÑпользование только имён Ñтолбцов, но не выражений или функций." -#: parser/analyze.c:1893 +#: parser/analyze.c:1904 #, c-format msgid "" "Add the expression/function to every SELECT, or move the UNION into a FROM " @@ -17556,12 +17576,12 @@ msgstr "" "Добавьте выражение/функцию в каждый SELECT или перенеÑите UNION в " "предложение FROM." -#: parser/analyze.c:1998 +#: parser/analyze.c:2009 #, c-format msgid "INTO is only allowed on first SELECT of UNION/INTERSECT/EXCEPT" msgstr "INTO можно добавить только в первый SELECT в UNION/INTERSECT/EXCEPT" -#: parser/analyze.c:2070 +#: parser/analyze.c:2081 #, c-format msgid "" "UNION/INTERSECT/EXCEPT member statement cannot refer to other relations of " @@ -17570,17 +17590,17 @@ msgstr "" "оператор, ÑоÑтавлÑющий UNION/INTERSECT/EXCEPT, не может ÑÑылатьÑÑ Ð½Ð° другие " "Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ Ð½Ð° том же уровне запроÑа" -#: parser/analyze.c:2157 +#: parser/analyze.c:2168 #, c-format msgid "each %s query must have the same number of columns" msgstr "вÑе запроÑÑ‹ в %s должны возвращать одинаковое чиÑло Ñтолбцов" -#: parser/analyze.c:2561 +#: parser/analyze.c:2572 #, c-format msgid "RETURNING must have at least one column" msgstr "в RETURNING должен быть минимум один Ñтолбец" -#: parser/analyze.c:2664 +#: parser/analyze.c:2675 #, c-format msgid "assignment source returned %d column" msgid_plural "assignment source returned %d columns" @@ -17588,150 +17608,150 @@ msgstr[0] "иÑточник приÑваиваемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð´ msgstr[1] "иÑточник приÑваиваемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð´Ð°Ð» %d Ñтолбца" msgstr[2] "иÑточник приÑваиваемого Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð²Ñ‹Ð´Ð°Ð» %d Ñтолбцов" -#: parser/analyze.c:2725 +#: parser/analyze.c:2736 #, c-format msgid "variable \"%s\" is of type %s but expression is of type %s" msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ \"%s\" имеет тип %s, а выражение - тип %s" #. translator: %s is a SQL keyword -#: parser/analyze.c:2849 parser/analyze.c:2857 +#: parser/analyze.c:2860 parser/analyze.c:2868 #, c-format msgid "cannot specify both %s and %s" msgstr "указать %s и %s одновременно нельзÑ" -#: parser/analyze.c:2877 +#: parser/analyze.c:2888 #, c-format msgid "DECLARE CURSOR must not contain data-modifying statements in WITH" msgstr "DECLARE CURSOR не может Ñодержать операторы, изменÑющие данные, в WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2885 +#: parser/analyze.c:2896 #, c-format msgid "DECLARE CURSOR WITH HOLD ... %s is not supported" msgstr "DECLARE CURSOR WITH HOLD ... %s не поддерживаетÑÑ" -#: parser/analyze.c:2888 +#: parser/analyze.c:2899 #, c-format msgid "Holdable cursors must be READ ONLY." msgstr "СохранÑемые курÑоры должны быть READ ONLY." #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2896 +#: parser/analyze.c:2907 #, c-format msgid "DECLARE SCROLL CURSOR ... %s is not supported" msgstr "DECLARE SCROLL CURSOR ... %s не поддерживаетÑÑ" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:2907 +#: parser/analyze.c:2918 #, c-format msgid "DECLARE INSENSITIVE CURSOR ... %s is not valid" msgstr "DECLARE INSENSITIVE CURSOR ... %s не допуÑкаетÑÑ" -#: parser/analyze.c:2910 +#: parser/analyze.c:2921 #, c-format msgid "Insensitive cursors must be READ ONLY." msgstr "ÐезавиÑимые курÑоры должны быть READ ONLY." -#: parser/analyze.c:2976 +#: parser/analyze.c:2987 #, c-format msgid "materialized views must not use data-modifying statements in WITH" msgstr "" "в материализованных предÑтавлениÑÑ… не должны иÑпользоватьÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ‹, " "изменÑющие данные в WITH" -#: parser/analyze.c:2986 +#: parser/analyze.c:2997 #, c-format msgid "materialized views must not use temporary tables or views" msgstr "" "в материализованных предÑтавлениÑÑ… не должны иÑпользоватьÑÑ Ð²Ñ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ " "таблицы и предÑтавлениÑ" -#: parser/analyze.c:2996 +#: parser/analyze.c:3007 #, c-format msgid "materialized views may not be defined using bound parameters" msgstr "" "определÑÑ‚ÑŒ материализованные предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ñо ÑвÑзанными параметрами нельзÑ" -#: parser/analyze.c:3008 +#: parser/analyze.c:3019 #, c-format msgid "materialized views cannot be unlogged" msgstr "материализованные предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð½Ðµ могут быть нежурналируемыми" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3197 +#: parser/analyze.c:3208 #, c-format msgid "%s is not allowed with DISTINCT clause" msgstr "%s неÑовмеÑтимо Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ DISTINCT" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3204 +#: parser/analyze.c:3215 #, c-format msgid "%s is not allowed with GROUP BY clause" msgstr "%s неÑовмеÑтимо Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ GROUP BY" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3211 +#: parser/analyze.c:3222 #, c-format msgid "%s is not allowed with HAVING clause" msgstr "%s неÑовмеÑтимо Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸ÐµÐ¼ HAVING" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3218 +#: parser/analyze.c:3229 #, c-format msgid "%s is not allowed with aggregate functions" msgstr "%s неÑовмеÑтимо Ñ Ð°Ð³Ñ€ÐµÐ³Ð°Ñ‚Ð½Ñ‹Ð¼Ð¸ функциÑми" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3225 +#: parser/analyze.c:3236 #, c-format msgid "%s is not allowed with window functions" msgstr "%s неÑовмеÑтимо Ñ Ð¾ÐºÐ¾Ð½Ð½Ñ‹Ð¼Ð¸ функциÑми" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3232 +#: parser/analyze.c:3243 #, c-format msgid "%s is not allowed with set-returning functions in the target list" msgstr "" "%s не допуÑкаетÑÑ Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñми, возвращающие множеÑтва, в ÑпиÑке результатов" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3324 +#: parser/analyze.c:3335 #, c-format msgid "%s must specify unqualified relation names" msgstr "Ð´Ð»Ñ %s нужно указывать неполные имена отношений" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3374 +#: parser/analyze.c:3385 #, c-format msgid "%s cannot be applied to a join" msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ к Ñоединению" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3383 +#: parser/analyze.c:3394 #, c-format msgid "%s cannot be applied to a function" msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ к функции" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3392 +#: parser/analyze.c:3403 #, c-format msgid "%s cannot be applied to a table function" msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ к табличной функции" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3410 +#: parser/analyze.c:3421 #, c-format msgid "%s cannot be applied to a WITH query" msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ к запроÑу WITH" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3419 +#: parser/analyze.c:3430 #, c-format msgid "%s cannot be applied to a named tuplestore" msgstr "%s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ к именованному хранилищу кортежей" #. translator: %s is a SQL row locking clause such as FOR UPDATE -#: parser/analyze.c:3439 +#: parser/analyze.c:3450 #, c-format msgid "relation \"%s\" in %s clause not found in FROM clause" msgstr "отношение \"%s\" в определении %s отÑутÑтвует в предложении FROM" @@ -18414,7 +18434,7 @@ msgstr "Приведите значение ÑÐ¼ÐµÑ‰ÐµÐ½Ð¸Ñ Ð² точноÑти #: parser/parse_coerce.c:1050 parser/parse_coerce.c:1088 #: parser/parse_coerce.c:1106 parser/parse_coerce.c:1121 -#: parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:994 +#: parser/parse_expr.c:2057 parser/parse_expr.c:2659 parser/parse_target.c:1008 #, c-format msgid "cannot cast type %s to %s" msgstr "привеÑти тип %s к %s нельзÑ" @@ -18473,19 +18493,19 @@ msgid "arguments declared \"%s\" are not all alike" msgstr "аргументы, объÑвленные как \"%s\", должны быть однотипными" #: parser/parse_coerce.c:2249 parser/parse_coerce.c:2362 -#: utils/fmgr/funcapi.c:601 +#: utils/fmgr/funcapi.c:609 #, c-format msgid "argument declared %s is not an array but type %s" msgstr "аргумент, объÑвленный как \"%s\", оказалÑÑ Ð½Ðµ маÑÑивом, а типом %s" #: parser/parse_coerce.c:2282 parser/parse_coerce.c:2432 -#: utils/fmgr/funcapi.c:615 +#: utils/fmgr/funcapi.c:623 #, c-format msgid "argument declared %s is not a range type but type %s" msgstr "аргумент, объÑвленный как \"%s\", имеет не диапазонный тип, а %s" #: parser/parse_coerce.c:2316 parser/parse_coerce.c:2396 -#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:633 utils/fmgr/funcapi.c:698 +#: parser/parse_coerce.c:2529 utils/fmgr/funcapi.c:641 utils/fmgr/funcapi.c:706 #, c-format msgid "argument declared %s is not a multirange type but type %s" msgstr "аргумент, объÑвленный как \"%s\", имеет не мультидиапазонный тип, а %s" @@ -18837,8 +18857,8 @@ msgstr "рекурÑÐ¸Ð²Ð½Ð°Ñ ÑÑылка на Ð·Ð°Ð¿Ñ€Ð¾Ñ \"%s\" указаРmsgid "DEFAULT is not allowed in this context" msgstr "DEFAULT не допуÑкаетÑÑ Ð² данном контекÑте" -#: parser/parse_expr.c:335 parser/parse_relation.c:3659 -#: parser/parse_relation.c:3679 +#: parser/parse_expr.c:335 parser/parse_relation.c:3668 +#: parser/parse_relation.c:3688 #, c-format msgid "column %s.%s does not exist" msgstr "Ñтолбец %s.%s не ÑущеÑтвует" @@ -18874,7 +18894,7 @@ msgid "cannot use column reference in partition bound expression" msgstr "в выражении границы Ñекции Ð½ÐµÐ»ÑŒÐ·Ñ ÑÑылатьÑÑ Ð½Ð° Ñтолбцы" #: parser/parse_expr.c:784 parser/parse_relation.c:818 -#: parser/parse_relation.c:900 parser/parse_target.c:1234 +#: parser/parse_relation.c:900 parser/parse_target.c:1248 #, c-format msgid "column reference \"%s\" is ambiguous" msgstr "Ð½ÐµÐ¾Ð´Ð½Ð¾Ð·Ð½Ð°Ñ‡Ð½Ð°Ñ ÑÑылка на Ñтолбец \"%s\"" @@ -19482,23 +19502,23 @@ msgstr "" msgid "WITH RECURSIVE is not supported for MERGE statement" msgstr "предложение WITH RECURSIVE не поддерживаетÑÑ Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð¼ MERGE" -#: parser/parse_merge.c:161 +#: parser/parse_merge.c:166 #, c-format msgid "unreachable WHEN clause specified after unconditional WHEN clause" msgstr "" "поÑле безуÑловного Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ WHEN указано недоÑтижимое предложение WHEN" -#: parser/parse_merge.c:191 +#: parser/parse_merge.c:196 #, c-format msgid "MERGE is not supported for relations with rules." msgstr "MERGE не поддерживаетÑÑ Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ð¹ Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°Ð¼Ð¸." -#: parser/parse_merge.c:208 +#: parser/parse_merge.c:213 #, c-format msgid "name \"%s\" specified more than once" msgstr "Ð¸Ð¼Ñ \"%s\" указано больше одного раза" -#: parser/parse_merge.c:210 +#: parser/parse_merge.c:215 #, c-format msgid "The name is used both as MERGE target table and data source." msgstr "Ðто Ð¸Ð¼Ñ Ð¸ÑпользуетÑÑ Ð¸ в целевой таблице, и в иÑточнике данных MERGE." @@ -19610,12 +19630,12 @@ msgstr "ÑÑылка на таблицу %u неоднозначна" msgid "table name \"%s\" specified more than once" msgstr "Ð¸Ð¼Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹ \"%s\" указано больше одного раза" -#: parser/parse_relation.c:474 parser/parse_relation.c:3599 +#: parser/parse_relation.c:474 parser/parse_relation.c:3608 #, c-format msgid "invalid reference to FROM-clause entry for table \"%s\"" msgstr "в Ñлементе Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ FROM Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑÑылка на таблицу \"%s\"" -#: parser/parse_relation.c:478 parser/parse_relation.c:3604 +#: parser/parse_relation.c:478 parser/parse_relation.c:3613 #, c-format msgid "" "There is an entry for table \"%s\", but it cannot be referenced from this " @@ -19739,22 +19759,22 @@ msgstr "в выражении ÑÐ¾ÐµÐ´Ð¸Ð½ÐµÐ½Ð¸Ñ \"%s\" имеетÑÑ ÑтоРmsgid "WITH query \"%s\" does not have a RETURNING clause" msgstr "в запроÑе \"%s\" в WITH нет Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ RETURNING" -#: parser/parse_relation.c:3602 +#: parser/parse_relation.c:3611 #, c-format msgid "Perhaps you meant to reference the table alias \"%s\"." msgstr "Возможно, предполагалаÑÑŒ ÑÑылка на пÑевдоним таблицы \"%s\"." -#: parser/parse_relation.c:3610 +#: parser/parse_relation.c:3619 #, c-format msgid "missing FROM-clause entry for table \"%s\"" msgstr "таблица \"%s\" отÑутÑтвует в предложении FROM" -#: parser/parse_relation.c:3662 +#: parser/parse_relation.c:3671 #, c-format msgid "Perhaps you meant to reference the column \"%s.%s\"." msgstr "Возможно, предполагалаÑÑŒ ÑÑылка на Ñтолбец \"%s.%s\"." -#: parser/parse_relation.c:3664 +#: parser/parse_relation.c:3673 #, c-format msgid "" "There is a column named \"%s\" in table \"%s\", but it cannot be referenced " @@ -19763,7 +19783,7 @@ msgstr "" "Столбец \"%s\" еÑÑ‚ÑŒ в таблице \"%s\", но на него Ð½ÐµÐ»ÑŒÐ·Ñ ÑÑылатьÑÑ Ð¸Ð· Ñтой " "чаÑти запроÑа." -#: parser/parse_relation.c:3681 +#: parser/parse_relation.c:3690 #, c-format msgid "" "Perhaps you meant to reference the column \"%s.%s\" or the column \"%s.%s\"." @@ -19808,7 +19828,7 @@ msgstr "" "приÑвоить значение полю \"%s\" Ñтолбца \"%s\" нельзÑ, так как в типе данных " "%s нет такого Ñтолбца" -#: parser/parse_target.c:877 +#: parser/parse_target.c:886 #, c-format msgid "" "subscripted assignment to \"%s\" requires type %s but expression is of type " @@ -19817,12 +19837,12 @@ msgstr "" "Ð´Ð»Ñ Ð¿Ñ€Ð¸ÑÐ²Ð°Ð¸Ð²Ð°Ð½Ð¸Ñ \"%s\" Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¿Ð¾ индекÑу требуетÑÑ Ñ‚Ð¸Ð¿ %s, однако " "выражение имеет тип %s" -#: parser/parse_target.c:887 +#: parser/parse_target.c:896 #, c-format msgid "subfield \"%s\" is of type %s but expression is of type %s" msgstr "вложенное поле \"%s\" имеет тип %s, а выражение - %s" -#: parser/parse_target.c:1323 +#: parser/parse_target.c:1337 #, c-format msgid "SELECT * with no tables specified is not valid" msgstr "SELECT * должен ÑÑылатьÑÑ Ð½Ð° таблицы" @@ -19868,74 +19888,74 @@ msgstr "неверное Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð° \"%s\"" msgid "cannot create partitioned table as inheritance child" msgstr "Ñоздать Ñекционированную таблицу в виде потомка нельзÑ" -#: parser/parse_utilcmd.c:580 +#: parser/parse_utilcmd.c:589 #, c-format msgid "array of serial is not implemented" msgstr "маÑÑивы Ñ Ñ‚Ð¸Ð¿Ð¾Ð¼ serial не реализованы" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 -#: parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 +#: parser/parse_utilcmd.c:739 #, c-format msgid "" "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "конфликт NULL/NOT NULL в объÑвлении Ñтолбца \"%s\" таблицы \"%s\"" -#: parser/parse_utilcmd.c:683 +#: parser/parse_utilcmd.c:692 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "" "Ð´Ð»Ñ Ñтолбца \"%s\" таблицы \"%s\" указано неÑколько значений по умолчанию" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:709 #, c-format msgid "identity columns are not supported on typed tables" msgstr "Ñтолбцы идентификации не поддерживаютÑÑ Ñ Ñ‚Ð¸Ð¿Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ таблицами" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:713 #, c-format msgid "identity columns are not supported on partitions" msgstr "Ñтолбцы идентификации не поддерживаютÑÑ Ñ ÑекциÑми" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:722 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "" "Ð´Ð»Ñ Ñтолбца \"%s\" таблицы \"%s\" ÑвойÑтво identity задано неоднократно" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:752 #, c-format msgid "generated columns are not supported on typed tables" msgstr "генерируемые Ñтолбцы не поддерживаютÑÑ Ñ Ñ‚Ð¸Ð¿Ð¸Ð·Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ñ‹Ð¼Ð¸ таблицами" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:756 #, c-format msgid "generated columns are not supported on partitions" msgstr "генерируемые Ñтолбцы не поддерживаютÑÑ Ñ ÑекциÑми" -#: parser/parse_utilcmd.c:752 +#: parser/parse_utilcmd.c:761 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "" "Ð´Ð»Ñ Ñтолбца \"%s\" таблицы \"%s\" указано неÑколько генерирующих выражений" -#: parser/parse_utilcmd.c:770 parser/parse_utilcmd.c:885 +#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:894 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¸Ñ‡Ð½Ð¾Ð³Ð¾ ключа Ð´Ð»Ñ Ñторонних таблиц не поддерживаютÑÑ" -#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:895 +#: parser/parse_utilcmd.c:788 parser/parse_utilcmd.c:904 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ð¾Ñти Ð´Ð»Ñ Ñторонних таблиц не поддерживаютÑÑ" -#: parser/parse_utilcmd.c:824 +#: parser/parse_utilcmd.c:833 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "" "Ð´Ð»Ñ Ñтолбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и ÑвойÑтво " "identity" -#: parser/parse_utilcmd.c:832 +#: parser/parse_utilcmd.c:841 #, c-format msgid "" "both default and generation expression specified for column \"%s\" of table " @@ -19944,7 +19964,7 @@ msgstr "" "Ð´Ð»Ñ Ñтолбца \"%s\" таблицы \"%s\" задано и значение по умолчанию, и " "генерирующее выражение" -#: parser/parse_utilcmd.c:840 +#: parser/parse_utilcmd.c:849 #, c-format msgid "" "both identity and generation expression specified for column \"%s\" of table " @@ -19953,93 +19973,93 @@ msgstr "" "Ð´Ð»Ñ Ñтолбца \"%s\" таблицы \"%s\" задано и генерирующее выражение, и " "ÑвойÑтво identity" -#: parser/parse_utilcmd.c:905 +#: parser/parse_utilcmd.c:914 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "ограничениÑ-иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñторонних таблиц не поддерживаютÑÑ" -#: parser/parse_utilcmd.c:911 +#: parser/parse_utilcmd.c:920 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "ограничениÑ-иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñекционированных таблиц не поддерживаютÑÑ" -#: parser/parse_utilcmd.c:976 +#: parser/parse_utilcmd.c:985 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE при Ñоздании Ñторонних таблиц не поддерживаетÑÑ" -#: parser/parse_utilcmd.c:989 +#: parser/parse_utilcmd.c:998 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "отношение \"%s\" не подходит Ð´Ð»Ñ Ð¿Ñ€ÐµÐ´Ð»Ð¾Ð¶ÐµÐ½Ð¸Ñ LIKE" -#: parser/parse_utilcmd.c:1755 parser/parse_utilcmd.c:1863 +#: parser/parse_utilcmd.c:1764 parser/parse_utilcmd.c:1872 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Ð˜Ð½Ð´ÐµÐºÑ \"%s\" ÑÑылаетÑÑ Ð½Ð° тип вÑей Ñтроки таблицы." -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "в CREATE TABLE Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать ÑущеÑтвующий индекÑ" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2281 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" уже ÑвÑзан Ñ Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸ÐµÐ¼" -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2302 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" не ÑвлÑетÑÑ ÑƒÐ½Ð¸ÐºÐ°Ð»ÑŒÐ½Ñ‹Ð¼ индекÑом" -#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2301 -#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 +#: parser/parse_utilcmd.c:2303 parser/parse_utilcmd.c:2310 +#: parser/parse_utilcmd.c:2317 parser/parse_utilcmd.c:2394 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "" "Создать первичный ключ или ограничение уникальноÑти Ð´Ð»Ñ Ñ‚Ð°ÐºÐ¾Ð³Ð¾ индекÑа " "нельзÑ." -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "index \"%s\" contains expressions" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" Ñодержит выражениÑ" -#: parser/parse_utilcmd.c:2307 +#: parser/parse_utilcmd.c:2316 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" - чаÑтичный индекÑ" -#: parser/parse_utilcmd.c:2319 +#: parser/parse_utilcmd.c:2328 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" - откладываемый индекÑ" -#: parser/parse_utilcmd.c:2320 +#: parser/parse_utilcmd.c:2329 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "" "Создать не откладываемое ограничение на базе откладываемого индекÑа нельзÑ." -#: parser/parse_utilcmd.c:2384 +#: parser/parse_utilcmd.c:2393 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "" "в индекÑе \"%s\" Ð´Ð»Ñ Ñтолбца номер %d не определено поведение Ñортировки по " "умолчанию" -#: parser/parse_utilcmd.c:2541 +#: parser/parse_utilcmd.c:2550 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "Ñтолбец \"%s\" фигурирует в первичном ключе дважды" -#: parser/parse_utilcmd.c:2547 +#: parser/parse_utilcmd.c:2556 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "Ñтолбец \"%s\" фигурирует в ограничении уникальноÑти дважды" -#: parser/parse_utilcmd.c:2894 +#: parser/parse_utilcmd.c:2903 #, c-format msgid "" "index expressions and predicates can refer only to the table being indexed" @@ -20047,22 +20067,22 @@ msgstr "" "индекÑные Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ Ð¸ предикаты могут ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на индекÑируемую " "таблицу" -#: parser/parse_utilcmd.c:2966 +#: parser/parse_utilcmd.c:2975 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ ÑтатиÑтики могут ÑÑылатьÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ на целевую таблицу" -#: parser/parse_utilcmd.c:3009 +#: parser/parse_utilcmd.c:3018 #, c-format msgid "rules on materialized views are not supported" msgstr "правила Ð´Ð»Ñ Ð¼Ð°Ñ‚ÐµÑ€Ð¸Ð°Ð»Ð¸Ð·Ð¾Ð²Ð°Ð½Ð½Ñ‹Ñ… предÑтавлений не поддерживаютÑÑ" -#: parser/parse_utilcmd.c:3072 +#: parser/parse_utilcmd.c:3081 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "в уÑловиÑÑ… WHERE Ð´Ð»Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» Ð½ÐµÐ»ÑŒÐ·Ñ ÑÑылатьÑÑ Ð½Ð° другие отношениÑ" -#: parser/parse_utilcmd.c:3145 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "" "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE " @@ -20071,158 +20091,158 @@ msgstr "" "правила Ñ ÑƒÑловиÑми WHERE могут Ñодержать только дейÑÑ‚Ð²Ð¸Ñ SELECT, INSERT, " "UPDATE или DELETE" -#: parser/parse_utilcmd.c:3163 parser/parse_utilcmd.c:3264 +#: parser/parse_utilcmd.c:3172 parser/parse_utilcmd.c:3273 #: rewrite/rewriteHandler.c:532 rewrite/rewriteManip.c:1021 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "уÑловные операторы UNION/INTERSECT/EXCEPT не реализованы" -#: parser/parse_utilcmd.c:3181 +#: parser/parse_utilcmd.c:3190 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "в правиле ON SELECT Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать OLD" -#: parser/parse_utilcmd.c:3185 +#: parser/parse_utilcmd.c:3194 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "в правиле ON SELECT Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать NEW" -#: parser/parse_utilcmd.c:3194 +#: parser/parse_utilcmd.c:3203 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "в правиле ON INSERT Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать OLD" -#: parser/parse_utilcmd.c:3200 +#: parser/parse_utilcmd.c:3209 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "в правиле ON DELETE Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать NEW" -#: parser/parse_utilcmd.c:3228 +#: parser/parse_utilcmd.c:3237 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "в запроÑе WITH Ð½ÐµÐ»ÑŒÐ·Ñ ÑÑылатьÑÑ Ð½Ð° OLD" -#: parser/parse_utilcmd.c:3235 +#: parser/parse_utilcmd.c:3244 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "в запроÑе WITH Ð½ÐµÐ»ÑŒÐ·Ñ ÑÑылатьÑÑ Ð½Ð° NEW" -#: parser/parse_utilcmd.c:3689 +#: parser/parse_utilcmd.c:3698 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "предложение DEFERRABLE раÑположено неправильно" -#: parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3709 +#: parser/parse_utilcmd.c:3703 parser/parse_utilcmd.c:3718 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "DEFERRABLE/NOT DEFERRABLE можно указать только один раз" -#: parser/parse_utilcmd.c:3704 +#: parser/parse_utilcmd.c:3713 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "предложение NOT DEFERRABLE раÑположено неправильно" -#: parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 gram.y:5937 +#: parser/parse_utilcmd.c:3726 parser/parse_utilcmd.c:3752 gram.y:5937 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "" "ограничение Ñ Ñ…Ð°Ñ€Ð°ÐºÑ‚ÐµÑ€Ð¸Ñтикой INITIALLY DEFERRED должно быть объÑвлено как " "DEFERRABLE" -#: parser/parse_utilcmd.c:3725 +#: parser/parse_utilcmd.c:3734 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "предложение INITIALLY DEFERRED раÑположено неправильно" -#: parser/parse_utilcmd.c:3730 parser/parse_utilcmd.c:3756 +#: parser/parse_utilcmd.c:3739 parser/parse_utilcmd.c:3765 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "INITIALLY IMMEDIATE/DEFERRED можно указать только один раз" -#: parser/parse_utilcmd.c:3751 +#: parser/parse_utilcmd.c:3760 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "предложение INITIALLY IMMEDIATE раÑположено неправильно" -#: parser/parse_utilcmd.c:3944 +#: parser/parse_utilcmd.c:3953 #, c-format msgid "" "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "в CREATE указана Ñхема (%s), Ð¾Ñ‚Ð»Ð¸Ñ‡Ð½Ð°Ñ Ð¾Ñ‚ Ñоздаваемой (%s)" -#: parser/parse_utilcmd.c:3979 +#: parser/parse_utilcmd.c:3988 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" — не ÑÐµÐºÑ†Ð¸Ð¾Ð½Ð¸Ñ€Ð¾Ð²Ð°Ð½Ð½Ð°Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ð°" -#: parser/parse_utilcmd.c:3986 +#: parser/parse_utilcmd.c:3995 #, c-format msgid "table \"%s\" is not partitioned" msgstr "таблица \"%s\" не ÑвлÑетÑÑ Ñекционированной" -#: parser/parse_utilcmd.c:3993 +#: parser/parse_utilcmd.c:4002 #, c-format msgid "index \"%s\" is not partitioned" msgstr "Ð¸Ð½Ð´ÐµÐºÑ \"%s\" не Ñекционирован" -#: parser/parse_utilcmd.c:4033 +#: parser/parse_utilcmd.c:4042 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "у Ñекционированной по хешу таблицы не может быть Ñекции по умолчанию" -#: parser/parse_utilcmd.c:4050 +#: parser/parse_utilcmd.c:4059 #, c-format msgid "invalid bound specification for a hash partition" msgstr "неправильное указание Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñ…ÐµÑˆ-Ñекции" -#: parser/parse_utilcmd.c:4056 partitioning/partbounds.c:4824 +#: parser/parse_utilcmd.c:4065 partitioning/partbounds.c:4824 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "модуль Ð´Ð»Ñ Ñ…ÐµÑˆ-Ñекции должен быть положительным целым" -#: parser/parse_utilcmd.c:4063 partitioning/partbounds.c:4832 +#: parser/parse_utilcmd.c:4072 partitioning/partbounds.c:4832 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "оÑтаток Ð´Ð»Ñ Ñ…ÐµÑˆ-Ñекции должен быть меньше модулÑ" -#: parser/parse_utilcmd.c:4076 +#: parser/parse_utilcmd.c:4085 #, c-format msgid "invalid bound specification for a list partition" msgstr "неправильное указание Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñекции по ÑпиÑку" -#: parser/parse_utilcmd.c:4129 +#: parser/parse_utilcmd.c:4138 #, c-format msgid "invalid bound specification for a range partition" msgstr "неправильное указание Ð¾Ð³Ñ€Ð°Ð½Ð¸Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ Ñекции по диапазону" -#: parser/parse_utilcmd.c:4135 +#: parser/parse_utilcmd.c:4144 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "" "во FROM должно указыватьÑÑ Ñ€Ð¾Ð²Ð½Ð¾ одно значение Ð´Ð»Ñ Ñекционирующего Ñтолбца" -#: parser/parse_utilcmd.c:4139 +#: parser/parse_utilcmd.c:4148 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "" "в TO должно указыватьÑÑ Ñ€Ð¾Ð²Ð½Ð¾ одно значение Ð´Ð»Ñ Ñекционирующего Ñтолбца" -#: parser/parse_utilcmd.c:4253 +#: parser/parse_utilcmd.c:4262 #, c-format msgid "cannot specify NULL in range bound" msgstr "указать NULL в диапазонном ограничении нельзÑ" -#: parser/parse_utilcmd.c:4302 +#: parser/parse_utilcmd.c:4311 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за границей MAXVALUE могут Ñледовать только границы MAXVALUE" -#: parser/parse_utilcmd.c:4309 +#: parser/parse_utilcmd.c:4318 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за границей MINVALUE могут Ñледовать только границы MINVALUE" -#: parser/parse_utilcmd.c:4352 +#: parser/parse_utilcmd.c:4361 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "указанное значение Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€Ð¸Ð²ÐµÑти к типу %s Ñтолбца \"%s\"" @@ -20629,48 +20649,48 @@ msgstr "Ошибка в ÑиÑтемном вызове DuplicateHandle." msgid "Failed system call was MapViewOfFileEx." msgstr "Ошибка в ÑиÑтемном вызове MapViewOfFileEx." -#: postmaster/autovacuum.c:404 +#: postmaster/autovacuum.c:405 #, c-format msgid "could not fork autovacuum launcher process: %m" msgstr "породить процеÑÑ Ð·Ð°Ð¿ÑƒÑка автоочиÑтки не удалоÑÑŒ: %m" -#: postmaster/autovacuum.c:752 +#: postmaster/autovacuum.c:753 #, c-format msgid "autovacuum worker took too long to start; canceled" msgstr "процеÑÑ Ð°Ð²Ñ‚Ð¾Ð¾Ñ‡Ð¸Ñтки запуÑкалÑÑ Ñлишком долго; его запуÑк отменён" -#: postmaster/autovacuum.c:1482 +#: postmaster/autovacuum.c:1483 #, c-format msgid "could not fork autovacuum worker process: %m" msgstr "не удалоÑÑŒ породить рабочий процеÑÑ Ð°Ð²Ñ‚Ð¾Ð¾Ñ‡Ð¸Ñтки: %m" # skip-rule: capital-letter-first -#: postmaster/autovacuum.c:2277 +#: postmaster/autovacuum.c:2296 #, c-format msgid "autovacuum: dropping orphan temp table \"%s.%s.%s\"" msgstr "автоочиÑтка: удаление уÑтаревшей врем. таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2502 +#: postmaster/autovacuum.c:2521 #, c-format msgid "automatic vacuum of table \"%s.%s.%s\"" msgstr "автоматичеÑÐºÐ°Ñ Ð¾Ñ‡Ð¸Ñтка таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2505 +#: postmaster/autovacuum.c:2524 #, c-format msgid "automatic analyze of table \"%s.%s.%s\"" msgstr "автоматичеÑкий анализ таблицы \"%s.%s.%s\"" -#: postmaster/autovacuum.c:2698 +#: postmaster/autovacuum.c:2717 #, c-format msgid "processing work entry for relation \"%s.%s.%s\"" msgstr "обработка рабочей запиÑи Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s.%s.%s\"" -#: postmaster/autovacuum.c:3309 +#: postmaster/autovacuum.c:3328 #, c-format msgid "autovacuum not started because of misconfiguration" msgstr "автоочиÑтка не запущена из-за неправильной конфигурации" -#: postmaster/autovacuum.c:3310 +#: postmaster/autovacuum.c:3329 #, c-format msgid "Enable the \"track_counts\" option." msgstr "Включите параметр \"track_counts\"." @@ -22104,7 +22124,7 @@ msgstr "ЛогичеÑкое декодирование начнётÑÑ Ñ Ñо msgid "could not parse file name \"%s\"" msgstr "не удалоÑÑŒ разобрать Ð¸Ð¼Ñ Ñ„Ð°Ð¹Ð»Ð° \"%s\"" -#: replication/logical/tablesync.c:151 +#: replication/logical/tablesync.c:158 #, c-format msgid "" "logical replication table synchronization worker for subscription \"%s\", " @@ -22113,7 +22133,7 @@ msgstr "" "процеÑÑ Ñинхронизации таблицы при логичеÑкой репликации Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñки \"%s\", " "таблицы \"%s\" закончил обработку" -#: replication/logical/tablesync.c:422 +#: replication/logical/tablesync.c:429 #, c-format msgid "" "logical replication apply worker for subscription \"%s\" will restart so " @@ -22122,25 +22142,25 @@ msgstr "" "применÑющий процеÑÑ Ð»Ð¾Ð³Ð¸Ñ‡ÐµÑкой репликации Ð´Ð»Ñ Ð¿Ð¾Ð´Ð¿Ð¸Ñки \"%s\" будет " "перезапущен, чтобы можно было включить режим two_phase" -#: replication/logical/tablesync.c:741 replication/logical/tablesync.c:882 +#: replication/logical/tablesync.c:748 replication/logical/tablesync.c:889 #, c-format msgid "could not fetch table info for table \"%s.%s\" from publisher: %s" msgstr "" "не удалоÑÑŒ получить информацию о таблице \"%s.%s\" Ñ Ñервера публикации: %s" -#: replication/logical/tablesync.c:748 +#: replication/logical/tablesync.c:755 #, c-format msgid "table \"%s.%s\" not found on publisher" msgstr "таблица \"%s.%s\" не найдена на Ñервере публикации" -#: replication/logical/tablesync.c:805 +#: replication/logical/tablesync.c:812 #, c-format msgid "could not fetch column list info for table \"%s.%s\" from publisher: %s" msgstr "" "не удалоÑÑŒ получить информацию о ÑпиÑке Ñтолбцов таблицы \"%s.%s\" Ñ Ñервера " "публикации: %s" -#: replication/logical/tablesync.c:984 +#: replication/logical/tablesync.c:991 #, c-format msgid "" "could not fetch table WHERE clause info for table \"%s.%s\" from publisher: " @@ -22149,13 +22169,13 @@ msgstr "" "не удалоÑÑŒ получить информацию о предложении WHERE таблицы \"%s.%s\" Ñ " "Ñервера публикации: %s" -#: replication/logical/tablesync.c:1129 +#: replication/logical/tablesync.c:1136 #, c-format msgid "could not start initial contents copy for table \"%s.%s\": %s" msgstr "" "не удалоÑÑŒ начать копирование начального Ñодержимого таблицы \"%s.%s\": %s" -#: replication/logical/tablesync.c:1341 replication/logical/worker.c:1635 +#: replication/logical/tablesync.c:1348 replication/logical/worker.c:1635 #, c-format msgid "" "user \"%s\" cannot replicate into relation with row-level security enabled: " @@ -22164,19 +22184,19 @@ msgstr "" "пользователь \"%s\" не может реплицировать данные в отношение Ñ Ð²ÐºÐ»ÑŽÑ‡Ñ‘Ð½Ð½Ð¾Ð¹ " "защитой на уровне Ñтрок: \"%s\"" -#: replication/logical/tablesync.c:1356 +#: replication/logical/tablesync.c:1363 #, c-format msgid "table copy could not start transaction on publisher: %s" msgstr "" "при копировании таблицы не удалоÑÑŒ начать транзакцию на Ñервере публикации: " "%s" -#: replication/logical/tablesync.c:1398 +#: replication/logical/tablesync.c:1405 #, c-format msgid "replication origin \"%s\" already exists" msgstr "иÑточник репликации \"%s\" уже ÑущеÑтвует" -#: replication/logical/tablesync.c:1411 +#: replication/logical/tablesync.c:1418 #, c-format msgid "table copy could not finish transaction on publisher: %s" msgstr "" @@ -22915,130 +22935,130 @@ msgstr "неожиданный тип ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ \"%c\"" msgid "terminating walsender process due to replication timeout" msgstr "завершение процеÑÑа передачи журнала из-за тайм-аута репликации" -#: rewrite/rewriteDefine.c:112 rewrite/rewriteDefine.c:1013 +#: rewrite/rewriteDefine.c:113 rewrite/rewriteDefine.c:1019 #, c-format msgid "rule \"%s\" for relation \"%s\" already exists" msgstr "правило \"%s\" Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ \"%s\" уже ÑущеÑтвует" -#: rewrite/rewriteDefine.c:271 rewrite/rewriteDefine.c:951 +#: rewrite/rewriteDefine.c:272 rewrite/rewriteDefine.c:957 #, c-format msgid "relation \"%s\" cannot have rules" msgstr "к отношению \"%s\" не могут применÑÑ‚ÑŒÑÑ Ð¿Ñ€Ð°Ð²Ð¸Ð»Ð°" -#: rewrite/rewriteDefine.c:302 +#: rewrite/rewriteDefine.c:303 #, c-format msgid "rule actions on OLD are not implemented" msgstr "дейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» Ð´Ð»Ñ OLD не реализованы" -#: rewrite/rewriteDefine.c:303 +#: rewrite/rewriteDefine.c:304 #, c-format msgid "Use views or triggers instead." msgstr "ВоÑпользуйтеÑÑŒ предÑтавлениÑми или триггерами." -#: rewrite/rewriteDefine.c:307 +#: rewrite/rewriteDefine.c:308 #, c-format msgid "rule actions on NEW are not implemented" msgstr "дейÑÑ‚Ð²Ð¸Ñ Ð¿Ñ€Ð°Ð²Ð¸Ð» Ð´Ð»Ñ NEW не реализованы" -#: rewrite/rewriteDefine.c:308 +#: rewrite/rewriteDefine.c:309 #, c-format msgid "Use triggers instead." msgstr "ВоÑпользуйтеÑÑŒ триггерами." -#: rewrite/rewriteDefine.c:321 +#: rewrite/rewriteDefine.c:322 #, c-format msgid "INSTEAD NOTHING rules on SELECT are not implemented" msgstr "правила INSTEAD NOTHING Ð´Ð»Ñ SELECT не реализованы" -#: rewrite/rewriteDefine.c:322 +#: rewrite/rewriteDefine.c:323 #, c-format msgid "Use views instead." msgstr "ВоÑпользуйтеÑÑŒ предÑтавлениÑми." -#: rewrite/rewriteDefine.c:330 +#: rewrite/rewriteDefine.c:331 #, c-format msgid "multiple actions for rules on SELECT are not implemented" msgstr "множеÑтвенные дейÑÑ‚Ð²Ð¸Ñ Ð² правилах Ð´Ð»Ñ SELECT не поддерживаютÑÑ" -#: rewrite/rewriteDefine.c:340 +#: rewrite/rewriteDefine.c:341 #, c-format msgid "rules on SELECT must have action INSTEAD SELECT" msgstr "в правилах Ð´Ð»Ñ SELECT должно быть дейÑтвие INSTEAD SELECT" -#: rewrite/rewriteDefine.c:348 +#: rewrite/rewriteDefine.c:349 #, c-format msgid "rules on SELECT must not contain data-modifying statements in WITH" msgstr "" "правила Ð´Ð»Ñ SELECT не должны Ñодержать операторы, изменÑющие данные, в WITH" -#: rewrite/rewriteDefine.c:356 +#: rewrite/rewriteDefine.c:357 #, c-format msgid "event qualifications are not implemented for rules on SELECT" msgstr "в правилах Ð´Ð»Ñ SELECT не может быть уÑловий" -#: rewrite/rewriteDefine.c:383 +#: rewrite/rewriteDefine.c:384 #, c-format msgid "\"%s\" is already a view" msgstr "\"%s\" уже ÑвлÑетÑÑ Ð¿Ñ€ÐµÐ´Ñтавлением" -#: rewrite/rewriteDefine.c:407 +#: rewrite/rewriteDefine.c:408 #, c-format msgid "view rule for \"%s\" must be named \"%s\"" msgstr "правило предÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð»Ñ \"%s\" должно называтьÑÑ \"%s\"" -#: rewrite/rewriteDefine.c:436 +#: rewrite/rewriteDefine.c:442 #, c-format msgid "cannot convert partitioned table \"%s\" to a view" msgstr "преобразовать Ñекционированную таблицу \"%s\" в предÑтавление нельзÑ" -#: rewrite/rewriteDefine.c:445 +#: rewrite/rewriteDefine.c:451 #, c-format msgid "cannot convert partition \"%s\" to a view" msgstr "преобразовать Ñекцию \"%s\" в предÑтавление нельзÑ" -#: rewrite/rewriteDefine.c:454 +#: rewrite/rewriteDefine.c:460 #, c-format msgid "could not convert table \"%s\" to a view because it is not empty" msgstr "" "не удалоÑÑŒ преобразовать таблицу \"%s\" в предÑтавление, так как она не " "пуÑта1" -#: rewrite/rewriteDefine.c:463 +#: rewrite/rewriteDefine.c:469 #, c-format msgid "could not convert table \"%s\" to a view because it has triggers" msgstr "" "не удалоÑÑŒ преобразовать таблицу \"%s\" в предÑтавление, так как она " "Ñодержит триггеры" -#: rewrite/rewriteDefine.c:465 +#: rewrite/rewriteDefine.c:471 #, c-format msgid "" "In particular, the table cannot be involved in any foreign key relationships." msgstr "" "Кроме того, таблица не может быть задейÑтвована в ÑÑылках по внешнему ключу." -#: rewrite/rewriteDefine.c:470 +#: rewrite/rewriteDefine.c:476 #, c-format msgid "could not convert table \"%s\" to a view because it has indexes" msgstr "" "не удалоÑÑŒ преобразовать таблицу \"%s\" в предÑтавление, так как она имеет " "индекÑÑ‹" -#: rewrite/rewriteDefine.c:476 +#: rewrite/rewriteDefine.c:482 #, c-format msgid "could not convert table \"%s\" to a view because it has child tables" msgstr "" "не удалоÑÑŒ преобразовать таблицу \"%s\" в предÑтавление, так как она имеет " "подчинённые таблицы" -#: rewrite/rewriteDefine.c:482 +#: rewrite/rewriteDefine.c:488 #, c-format msgid "could not convert table \"%s\" to a view because it has parent tables" msgstr "" "не удалоÑÑŒ преобразовать таблицу \"%s\" в предÑтавление, так как она имеет " "родительÑкие таблицы" -#: rewrite/rewriteDefine.c:488 +#: rewrite/rewriteDefine.c:494 #, c-format msgid "" "could not convert table \"%s\" to a view because it has row security enabled" @@ -23046,7 +23066,7 @@ msgstr "" "не удалоÑÑŒ преобразовать таблицу \"%s\" в предÑтавление, так как Ð´Ð»Ñ Ð½ÐµÑ‘ " "включена защита на уровне Ñтрок" -#: rewrite/rewriteDefine.c:494 +#: rewrite/rewriteDefine.c:500 #, c-format msgid "" "could not convert table \"%s\" to a view because it has row security policies" @@ -23054,51 +23074,51 @@ msgstr "" "не удалоÑÑŒ преобразовать таблицу \"%s\" в предÑтавление, так как к ней " "применены политики защиты Ñтрок" -#: rewrite/rewriteDefine.c:521 +#: rewrite/rewriteDefine.c:527 #, c-format msgid "cannot have multiple RETURNING lists in a rule" msgstr "в правиле Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ неÑколько ÑпиÑков RETURNING" -#: rewrite/rewriteDefine.c:526 +#: rewrite/rewriteDefine.c:532 #, c-format msgid "RETURNING lists are not supported in conditional rules" msgstr "ÑпиÑки RETURNING в уÑловных правилах не поддерживаютÑÑ" -#: rewrite/rewriteDefine.c:530 +#: rewrite/rewriteDefine.c:536 #, c-format msgid "RETURNING lists are not supported in non-INSTEAD rules" msgstr "ÑпиÑки RETURNING поддерживаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ в правилах INSTEAD" -#: rewrite/rewriteDefine.c:544 +#: rewrite/rewriteDefine.c:550 #, c-format msgid "non-view rule for \"%s\" must not be named \"%s\"" msgstr "" "не отноÑÑщееÑÑ Ðº предÑтавлению правило Ð´Ð»Ñ \"%s\" не может называтьÑÑ \"%s\"" -#: rewrite/rewriteDefine.c:706 +#: rewrite/rewriteDefine.c:712 #, c-format msgid "SELECT rule's target list has too many entries" msgstr "ÑпиÑок результата правила Ð´Ð»Ñ SELECT Ñодержит Ñлишком много Ñтолбцов" -#: rewrite/rewriteDefine.c:707 +#: rewrite/rewriteDefine.c:713 #, c-format msgid "RETURNING list has too many entries" msgstr "ÑпиÑок RETURNING Ñодержит Ñлишком много Ñтолбцов" -#: rewrite/rewriteDefine.c:734 +#: rewrite/rewriteDefine.c:740 #, c-format msgid "cannot convert relation containing dropped columns to view" msgstr "" "преобразовать отношение, Ñодержащее удалённые Ñтолбцы, в предÑтавление нельзÑ" -#: rewrite/rewriteDefine.c:735 +#: rewrite/rewriteDefine.c:741 #, c-format msgid "" "cannot create a RETURNING list for a relation containing dropped columns" msgstr "" "Ñоздать ÑпиÑок RETURNING Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ, Ñодержащего удалённые Ñтолбцы, нельзÑ" -#: rewrite/rewriteDefine.c:741 +#: rewrite/rewriteDefine.c:747 #, c-format msgid "" "SELECT rule's target entry %d has different column name from column \"%s\"" @@ -23106,62 +23126,62 @@ msgstr "" "Ñлементу %d результата правила Ð´Ð»Ñ SELECT приÑвоено имÑ, отличное от имени " "Ñтолбца \"%s\"" -#: rewrite/rewriteDefine.c:743 +#: rewrite/rewriteDefine.c:749 #, c-format msgid "SELECT target entry is named \"%s\"." msgstr "Ð˜Ð¼Ñ Ñлемента результата SELECT: \"%s\"." -#: rewrite/rewriteDefine.c:752 +#: rewrite/rewriteDefine.c:758 #, c-format msgid "SELECT rule's target entry %d has different type from column \"%s\"" msgstr "" "Ñлемент %d результата правила Ð´Ð»Ñ SELECT имеет тип, отличный от типа Ñтолбца " "\"%s\"" -#: rewrite/rewriteDefine.c:754 +#: rewrite/rewriteDefine.c:760 #, c-format msgid "RETURNING list's entry %d has different type from column \"%s\"" msgstr "Ñлемент %d ÑпиÑка RETURNING имеет тип, отличный от типа Ñтолбца \"%s\"" -#: rewrite/rewriteDefine.c:757 rewrite/rewriteDefine.c:781 +#: rewrite/rewriteDefine.c:763 rewrite/rewriteDefine.c:787 #, c-format msgid "SELECT target entry has type %s, but column has type %s." msgstr "Ðлемент результата SELECT имеет тип %s, тогда как тип Ñтолбца - %s." -#: rewrite/rewriteDefine.c:760 rewrite/rewriteDefine.c:785 +#: rewrite/rewriteDefine.c:766 rewrite/rewriteDefine.c:791 #, c-format msgid "RETURNING list entry has type %s, but column has type %s." msgstr "Ðлемент ÑпиÑка RETURNING имеет тип %s, тогда как тип Ñтолбца - %s." -#: rewrite/rewriteDefine.c:776 +#: rewrite/rewriteDefine.c:782 #, c-format msgid "SELECT rule's target entry %d has different size from column \"%s\"" msgstr "" "Ñлемент %d результата правила Ð´Ð»Ñ SELECT имеет размер, отличный от Ñтолбца " "\"%s\"" -#: rewrite/rewriteDefine.c:778 +#: rewrite/rewriteDefine.c:784 #, c-format msgid "RETURNING list's entry %d has different size from column \"%s\"" msgstr "Ñлемент %d ÑпиÑка RETURNING имеет размер, отличный от Ñтолбца \"%s\"" -#: rewrite/rewriteDefine.c:795 +#: rewrite/rewriteDefine.c:801 #, c-format msgid "SELECT rule's target list has too few entries" msgstr "ÑпиÑок результата правила Ð´Ð»Ñ SELECT Ñодержит недоÑтаточно Ñлементов" -#: rewrite/rewriteDefine.c:796 +#: rewrite/rewriteDefine.c:802 #, c-format msgid "RETURNING list has too few entries" msgstr "ÑпиÑок RETURNING Ñодержит недоÑтаточно Ñлементов" -#: rewrite/rewriteDefine.c:889 rewrite/rewriteDefine.c:1004 +#: rewrite/rewriteDefine.c:895 rewrite/rewriteDefine.c:1010 #: rewrite/rewriteSupport.c:109 #, c-format msgid "rule \"%s\" for relation \"%s\" does not exist" msgstr "правило \"%s\" Ð´Ð»Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ\"%s\" не ÑущеÑтвует" -#: rewrite/rewriteDefine.c:1023 +#: rewrite/rewriteDefine.c:1029 #, c-format msgid "renaming an ON SELECT rule is not allowed" msgstr "переименовывать правило ON SELECT нельзÑ" @@ -24076,62 +24096,62 @@ msgid "while checking exclusion constraint on tuple (%u,%u) in relation \"%s\"" msgstr "" "при проверке ограничениÑ-иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð´Ð»Ñ ÐºÐ¾Ñ€Ñ‚ÐµÐ¶Ð° (%u,%u) в отношении \"%s\"" -#: storage/lmgr/lmgr.c:1135 +#: storage/lmgr/lmgr.c:1173 #, c-format msgid "relation %u of database %u" msgstr "отношение %u базы данных %u" -#: storage/lmgr/lmgr.c:1141 +#: storage/lmgr/lmgr.c:1179 #, c-format msgid "extension of relation %u of database %u" msgstr "раÑширение Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ %u базы данных %u" -#: storage/lmgr/lmgr.c:1147 +#: storage/lmgr/lmgr.c:1185 #, c-format msgid "pg_database.datfrozenxid of database %u" msgstr "pg_database.datfrozenxid базы %u" -#: storage/lmgr/lmgr.c:1152 +#: storage/lmgr/lmgr.c:1190 #, c-format msgid "page %u of relation %u of database %u" msgstr "Ñтраница %u Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ %u базы данных %u" -#: storage/lmgr/lmgr.c:1159 +#: storage/lmgr/lmgr.c:1197 #, c-format msgid "tuple (%u,%u) of relation %u of database %u" msgstr "кортеж (%u,%u) Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ñ %u базы данных %u" -#: storage/lmgr/lmgr.c:1167 +#: storage/lmgr/lmgr.c:1205 #, c-format msgid "transaction %u" msgstr "Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ð¸Ñ %u" -#: storage/lmgr/lmgr.c:1172 +#: storage/lmgr/lmgr.c:1210 #, c-format msgid "virtual transaction %d/%u" msgstr "Ð²Ð¸Ñ€Ñ‚ÑƒÐ°Ð»ÑŒÐ½Ð°Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ð¸Ñ %d/%u" -#: storage/lmgr/lmgr.c:1178 +#: storage/lmgr/lmgr.c:1216 #, c-format msgid "speculative token %u of transaction %u" msgstr "ÑпекулÑтивный маркер %u транзакции %u" -#: storage/lmgr/lmgr.c:1184 +#: storage/lmgr/lmgr.c:1222 #, c-format msgid "object %u of class %u of database %u" msgstr "объект %u клаÑÑа %u базы данных %u" -#: storage/lmgr/lmgr.c:1192 +#: storage/lmgr/lmgr.c:1230 #, c-format msgid "user lock [%u,%u,%u]" msgstr "пользовательÑÐºÐ°Ñ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ° [%u,%u,%u]" -#: storage/lmgr/lmgr.c:1199 +#: storage/lmgr/lmgr.c:1237 #, c-format msgid "advisory lock [%u,%u,%u,%u]" msgstr "Ñ€ÐµÐºÐ¾Ð¼ÐµÐ½Ð´Ð°Ñ‚ÐµÐ»ÑŒÐ½Ð°Ñ Ð±Ð»Ð¾ÐºÐ¸Ñ€Ð¾Ð²ÐºÐ° [%u,%u,%u,%u]" -#: storage/lmgr/lmgr.c:1207 +#: storage/lmgr/lmgr.c:1245 #, c-format msgid "unrecognized locktag type %d" msgstr "нераÑпознанный тип блокировки %d" @@ -25263,7 +25283,7 @@ msgstr "тип входных данных не ÑвлÑетÑÑ Ð¼Ð°ÑÑивоР#: utils/adt/int.c:1024 utils/adt/int.c:1057 utils/adt/int.c:1071 #: utils/adt/int.c:1085 utils/adt/int.c:1116 utils/adt/int.c:1198 #: utils/adt/int.c:1262 utils/adt/int.c:1330 utils/adt/int.c:1336 -#: utils/adt/int8.c:1257 utils/adt/numeric.c:1830 utils/adt/numeric.c:4293 +#: utils/adt/int8.c:1272 utils/adt/numeric.c:1830 utils/adt/numeric.c:4293 #: utils/adt/varbit.c:1195 utils/adt/varbit.c:1596 utils/adt/varlena.c:1113 #: utils/adt/varlena.c:3391 #, c-format @@ -25625,7 +25645,7 @@ msgstr "преобразование кодировки из %s в ASCII не п #: utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 #: utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 #: utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:346 +#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:354 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "неверный ÑинтакÑÐ¸Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° %s: \"%s\"" @@ -25643,11 +25663,11 @@ msgstr "значение \"%s\" вне диапазона Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° %s" #: utils/adt/float.c:105 utils/adt/int.c:842 utils/adt/int.c:958 #: utils/adt/int.c:1038 utils/adt/int.c:1100 utils/adt/int.c:1138 #: utils/adt/int.c:1166 utils/adt/int8.c:515 utils/adt/int8.c:573 -#: utils/adt/int8.c:943 utils/adt/int8.c:1023 utils/adt/int8.c:1085 -#: utils/adt/int8.c:1165 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116 +#: utils/adt/int8.c:958 utils/adt/int8.c:1038 utils/adt/int8.c:1100 +#: utils/adt/int8.c:1180 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116 #: utils/adt/numeric.c:3201 utils/adt/numeric.c:3219 utils/adt/numeric.c:3315 #: utils/adt/numeric.c:8481 utils/adt/numeric.c:8771 utils/adt/numeric.c:9096 -#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3361 +#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3373 #, c-format msgid "division by zero" msgstr "деление на ноль" @@ -25713,20 +25733,20 @@ msgid "date out of range for timestamp" msgstr "дата вне диапазона Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° timestamp" #: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 -#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4078 -#: utils/adt/timestamp.c:4271 utils/adt/timestamp.c:4443 -#: utils/adt/timestamp.c:4696 utils/adt/timestamp.c:4897 -#: utils/adt/timestamp.c:4944 utils/adt/timestamp.c:5168 -#: utils/adt/timestamp.c:5215 utils/adt/timestamp.c:5345 +#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4107 +#: utils/adt/timestamp.c:4317 utils/adt/timestamp.c:4489 +#: utils/adt/timestamp.c:4742 utils/adt/timestamp.c:4943 +#: utils/adt/timestamp.c:4990 utils/adt/timestamp.c:5214 +#: utils/adt/timestamp.c:5261 utils/adt/timestamp.c:5391 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "единица \"%s\" Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° %s не поддерживаетÑÑ" #: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 -#: utils/adt/timestamp.c:4092 utils/adt/timestamp.c:4288 -#: utils/adt/timestamp.c:4457 utils/adt/timestamp.c:4656 -#: utils/adt/timestamp.c:4953 utils/adt/timestamp.c:5224 -#: utils/adt/timestamp.c:5406 +#: utils/adt/timestamp.c:4121 utils/adt/timestamp.c:4334 +#: utils/adt/timestamp.c:4503 utils/adt/timestamp.c:4702 +#: utils/adt/timestamp.c:4999 utils/adt/timestamp.c:5270 +#: utils/adt/timestamp.c:5452 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "единица \"%s\" Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° %s не раÑпознана" @@ -25739,22 +25759,25 @@ msgstr "единица \"%s\" Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° %s не раÑпознана" #: utils/adt/json.c:457 utils/adt/timestamp.c:225 utils/adt/timestamp.c:257 #: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 #: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 -#: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937 -#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2961 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2975 -#: utils/adt/timestamp.c:3030 utils/adt/timestamp.c:3053 -#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3080 -#: utils/adt/timestamp.c:3088 utils/adt/timestamp.c:3096 -#: utils/adt/timestamp.c:3782 utils/adt/timestamp.c:3906 -#: utils/adt/timestamp.c:3996 utils/adt/timestamp.c:4086 -#: utils/adt/timestamp.c:4179 utils/adt/timestamp.c:4282 -#: utils/adt/timestamp.c:4761 utils/adt/timestamp.c:5035 -#: utils/adt/timestamp.c:5485 utils/adt/timestamp.c:5499 -#: utils/adt/timestamp.c:5504 utils/adt/timestamp.c:5518 -#: utils/adt/timestamp.c:5551 utils/adt/timestamp.c:5638 -#: utils/adt/timestamp.c:5679 utils/adt/timestamp.c:5683 -#: utils/adt/timestamp.c:5752 utils/adt/timestamp.c:5756 -#: utils/adt/timestamp.c:5770 utils/adt/timestamp.c:5804 utils/adt/xml.c:2241 +#: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2921 +#: utils/adt/timestamp.c:2940 utils/adt/timestamp.c:2953 +#: utils/adt/timestamp.c:2964 utils/adt/timestamp.c:2970 +#: utils/adt/timestamp.c:2976 utils/adt/timestamp.c:2981 +#: utils/adt/timestamp.c:3036 utils/adt/timestamp.c:3041 +#: utils/adt/timestamp.c:3062 utils/adt/timestamp.c:3075 +#: utils/adt/timestamp.c:3089 utils/adt/timestamp.c:3097 +#: utils/adt/timestamp.c:3103 utils/adt/timestamp.c:3108 +#: utils/adt/timestamp.c:3794 utils/adt/timestamp.c:3918 +#: utils/adt/timestamp.c:3989 utils/adt/timestamp.c:4025 +#: utils/adt/timestamp.c:4115 utils/adt/timestamp.c:4189 +#: utils/adt/timestamp.c:4225 utils/adt/timestamp.c:4328 +#: utils/adt/timestamp.c:4807 utils/adt/timestamp.c:5081 +#: utils/adt/timestamp.c:5531 utils/adt/timestamp.c:5545 +#: utils/adt/timestamp.c:5550 utils/adt/timestamp.c:5564 +#: utils/adt/timestamp.c:5597 utils/adt/timestamp.c:5684 +#: utils/adt/timestamp.c:5725 utils/adt/timestamp.c:5729 +#: utils/adt/timestamp.c:5798 utils/adt/timestamp.c:5802 +#: utils/adt/timestamp.c:5816 utils/adt/timestamp.c:5850 utils/adt/xml.c:2241 #: utils/adt/xml.c:2248 utils/adt/xml.c:2268 utils/adt/xml.c:2275 #, c-format msgid "timestamp out of range" @@ -25773,8 +25796,8 @@ msgstr "значение Ð¿Ð¾Ð»Ñ Ñ‚Ð¸Ð¿Ð° time вне диапазона: %d:%0 #: utils/adt/date.c:2096 utils/adt/date.c:2630 utils/adt/float.c:1048 #: utils/adt/float.c:1124 utils/adt/int.c:634 utils/adt/int.c:681 #: utils/adt/int.c:716 utils/adt/int8.c:414 utils/adt/numeric.c:2497 -#: utils/adt/timestamp.c:3432 utils/adt/timestamp.c:3463 -#: utils/adt/timestamp.c:3494 +#: utils/adt/timestamp.c:3444 utils/adt/timestamp.c:3475 +#: utils/adt/timestamp.c:3506 #, c-format msgid "invalid preceding or following size in window function" msgstr "неверное Ñмещение PRECEDING или FOLLOWING в оконной функции" @@ -25786,13 +25809,13 @@ msgstr "Ñмещение чаÑового поÑÑа вне диапазона" #: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 #: utils/adt/datetime.c:4898 utils/adt/timestamp.c:516 -#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4365 -#: utils/adt/timestamp.c:5510 utils/adt/timestamp.c:5762 +#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4411 +#: utils/adt/timestamp.c:5556 utils/adt/timestamp.c:5808 #, c-format msgid "time zone \"%s\" not recognized" msgstr "чаÑовой поÑÑ \"%s\" не раÑпознан" -#: utils/adt/date.c:3117 utils/adt/timestamp.c:5540 utils/adt/timestamp.c:5793 +#: utils/adt/date.c:3117 utils/adt/timestamp.c:5586 utils/adt/timestamp.c:5839 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "" @@ -25964,7 +25987,7 @@ msgstr "\"%s\" вне диапазона Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° double precision" #: utils/adt/float.c:1259 utils/adt/float.c:1333 utils/adt/int.c:354 #: utils/adt/int.c:892 utils/adt/int.c:914 utils/adt/int.c:928 #: utils/adt/int.c:942 utils/adt/int.c:974 utils/adt/int.c:1212 -#: utils/adt/int8.c:1278 utils/adt/numeric.c:4405 utils/adt/numeric.c:4410 +#: utils/adt/int8.c:1293 utils/adt/numeric.c:4405 utils/adt/numeric.c:4410 #, c-format msgid "smallint out of range" msgstr "smallint вне диапазона" @@ -26388,8 +26411,8 @@ msgstr "точек должно быть минимум 2" msgid "invalid int2vector data" msgstr "неверные данные int2vector" -#: utils/adt/int.c:1528 utils/adt/int8.c:1404 utils/adt/numeric.c:1678 -#: utils/adt/timestamp.c:5855 utils/adt/timestamp.c:5935 +#: utils/adt/int.c:1528 utils/adt/int8.c:1419 utils/adt/numeric.c:1678 +#: utils/adt/timestamp.c:5901 utils/adt/timestamp.c:5981 #, c-format msgid "step size cannot equal zero" msgstr "размер шага не может быть нулевым" @@ -26398,18 +26421,18 @@ msgstr "размер шага не может быть нулевым" #: utils/adt/int8.c:500 utils/adt/int8.c:531 utils/adt/int8.c:555 #: utils/adt/int8.c:637 utils/adt/int8.c:705 utils/adt/int8.c:711 #: utils/adt/int8.c:737 utils/adt/int8.c:751 utils/adt/int8.c:775 -#: utils/adt/int8.c:788 utils/adt/int8.c:900 utils/adt/int8.c:914 -#: utils/adt/int8.c:928 utils/adt/int8.c:959 utils/adt/int8.c:981 -#: utils/adt/int8.c:995 utils/adt/int8.c:1009 utils/adt/int8.c:1042 -#: utils/adt/int8.c:1056 utils/adt/int8.c:1070 utils/adt/int8.c:1101 -#: utils/adt/int8.c:1123 utils/adt/int8.c:1137 utils/adt/int8.c:1151 -#: utils/adt/int8.c:1313 utils/adt/int8.c:1348 utils/adt/numeric.c:4364 +#: utils/adt/int8.c:788 utils/adt/int8.c:915 utils/adt/int8.c:929 +#: utils/adt/int8.c:943 utils/adt/int8.c:974 utils/adt/int8.c:996 +#: utils/adt/int8.c:1010 utils/adt/int8.c:1024 utils/adt/int8.c:1057 +#: utils/adt/int8.c:1071 utils/adt/int8.c:1085 utils/adt/int8.c:1116 +#: utils/adt/int8.c:1138 utils/adt/int8.c:1152 utils/adt/int8.c:1166 +#: utils/adt/int8.c:1328 utils/adt/int8.c:1363 utils/adt/numeric.c:4364 #: utils/adt/varbit.c:1676 #, c-format msgid "bigint out of range" msgstr "bigint вне диапазона" -#: utils/adt/int8.c:1361 +#: utils/adt/int8.c:1376 #, c-format msgid "OID out of range" msgstr "OID вне диапазона" @@ -26420,7 +26443,7 @@ msgid "key value must be scalar, not array, composite, or json" msgstr "" "значением ключа должен быть ÑкалÑÑ€ (не маÑÑив, композитный тип или json)" -#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2104 +#: utils/adt/json.c:892 utils/adt/json.c:902 utils/fmgr/funcapi.c:2112 #, c-format msgid "could not determine data type for argument %d" msgstr "не удалоÑÑŒ определить тип данных аргумента %d" @@ -26907,74 +26930,74 @@ msgstr "" "метод .%s() в jsonpath может применÑÑ‚ÑŒÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к Ñтроковому или чиÑловому " "значению" -#: utils/adt/jsonpath_exec.c:1583 +#: utils/adt/jsonpath_exec.c:1586 #, c-format msgid "left operand of jsonpath operator %s is not a single numeric value" msgstr "" "левый операнд оператора %s в jsonpath не ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ чиÑловым значением" -#: utils/adt/jsonpath_exec.c:1590 +#: utils/adt/jsonpath_exec.c:1593 #, c-format msgid "right operand of jsonpath operator %s is not a single numeric value" msgstr "" "правый операнд оператора %s в jsonpath не ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ чиÑловым значением" -#: utils/adt/jsonpath_exec.c:1658 +#: utils/adt/jsonpath_exec.c:1661 #, c-format msgid "operand of unary jsonpath operator %s is not a numeric value" msgstr "" "операнд унарного оператора %s в jsonpath не ÑвлÑетÑÑ Ñ‡Ð¸Ñловым значением" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1756 +#: utils/adt/jsonpath_exec.c:1759 #, c-format msgid "jsonpath item method .%s() can only be applied to a numeric value" msgstr "метод .%s() в jsonpath может применÑÑ‚ÑŒÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к чиÑловому значению" # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1796 +#: utils/adt/jsonpath_exec.c:1799 #, c-format msgid "jsonpath item method .%s() can only be applied to a string" msgstr "метод .%s() в jsonpath может применÑÑ‚ÑŒÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к Ñтроке" -#: utils/adt/jsonpath_exec.c:1899 +#: utils/adt/jsonpath_exec.c:1902 #, c-format msgid "datetime format is not recognized: \"%s\"" msgstr "формат datetime не раÑпознан: \"%s\"" -#: utils/adt/jsonpath_exec.c:1901 +#: utils/adt/jsonpath_exec.c:1904 #, c-format msgid "Use a datetime template argument to specify the input data format." msgstr "" "ВоÑпользуйтеÑÑŒ аргументом datetime Ð´Ð»Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ð° входных данных." # skip-rule: space-before-period -#: utils/adt/jsonpath_exec.c:1969 +#: utils/adt/jsonpath_exec.c:1972 #, c-format msgid "jsonpath item method .%s() can only be applied to an object" msgstr "метод .%s() в jsonpath может применÑÑ‚ÑŒÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ к объекту" -#: utils/adt/jsonpath_exec.c:2151 +#: utils/adt/jsonpath_exec.c:2154 #, c-format msgid "could not find jsonpath variable \"%s\"" msgstr "не удалоÑÑŒ найти в jsonpath переменную \"%s\"" -#: utils/adt/jsonpath_exec.c:2415 +#: utils/adt/jsonpath_exec.c:2418 #, c-format msgid "jsonpath array subscript is not a single numeric value" msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ñлемента в jsonpath не ÑвлÑетÑÑ Ð¾Ð´Ð½Ð¸Ð¼ чиÑловым значением" -#: utils/adt/jsonpath_exec.c:2427 +#: utils/adt/jsonpath_exec.c:2430 #, c-format msgid "jsonpath array subscript is out of integer range" msgstr "Ð¸Ð½Ð´ÐµÐºÑ Ð¼Ð°ÑÑива в jsonpath вне целочиÑленного диапазона" -#: utils/adt/jsonpath_exec.c:2604 +#: utils/adt/jsonpath_exec.c:2607 #, c-format msgid "cannot convert value from %s to %s without time zone usage" msgstr "значение %s Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ñ€ÐµÐ¾Ð±Ñ€Ð°Ð·Ð¾Ð²Ð°Ñ‚ÑŒ в %s без Ñведений о чаÑовом поÑÑе" -#: utils/adt/jsonpath_exec.c:2606 +#: utils/adt/jsonpath_exec.c:2609 #, c-format msgid "Use *_tz() function for time zone support." msgstr "Ð”Ð»Ñ Ð¿ÐµÑ€ÐµÐ´Ð°Ñ‡Ð¸ чаÑового поÑÑа иÑпользуйте функцию *_tz()." @@ -27678,7 +27701,7 @@ msgstr "" "Чтобы обозначить отÑутÑтвующий аргумент унарного оператора, укажите NONE." #: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 -#: utils/adt/ruleutils.c:10028 utils/adt/ruleutils.c:10197 +#: utils/adt/ruleutils.c:10029 utils/adt/ruleutils.c:10198 #, c-format msgid "too many arguments" msgstr "Ñлишком много аргументов" @@ -27871,22 +27894,22 @@ msgstr "не удалоÑÑŒ Ñравнить различные типы ÑтоРmsgid "cannot compare record types with different numbers of columns" msgstr "Ñравнивать типы запиÑей Ñ Ñ€Ð°Ð·Ð½Ñ‹Ð¼ чиÑлом Ñтолбцов нельзÑ" -#: utils/adt/ruleutils.c:2725 +#: utils/adt/ruleutils.c:2710 #, c-format msgid "input is a query, not an expression" msgstr "на вход поÑтупил запроÑ, а не выражение" -#: utils/adt/ruleutils.c:2737 +#: utils/adt/ruleutils.c:2722 #, c-format msgid "expression contains variables of more than one relation" msgstr "выражение Ñодержит переменные из неÑкольких отношений" -#: utils/adt/ruleutils.c:2744 +#: utils/adt/ruleutils.c:2729 #, c-format msgid "expression contains variables" msgstr "выражение Ñодержит переменные" -#: utils/adt/ruleutils.c:5267 +#: utils/adt/ruleutils.c:5268 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "правило \"%s\" имеет неподдерживаемый тип Ñобытий %d" @@ -27941,13 +27964,15 @@ msgstr "timestamp вне диапазона: \"%g\"" #: utils/adt/timestamp.c:938 utils/adt/timestamp.c:1509 #: utils/adt/timestamp.c:2761 utils/adt/timestamp.c:2778 #: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2870 -#: utils/adt/timestamp.c:3134 utils/adt/timestamp.c:3139 -#: utils/adt/timestamp.c:3144 utils/adt/timestamp.c:3194 -#: utils/adt/timestamp.c:3201 utils/adt/timestamp.c:3208 -#: utils/adt/timestamp.c:3228 utils/adt/timestamp.c:3235 -#: utils/adt/timestamp.c:3242 utils/adt/timestamp.c:3329 -#: utils/adt/timestamp.c:3404 utils/adt/timestamp.c:3777 -#: utils/adt/timestamp.c:3901 utils/adt/timestamp.c:4451 +#: utils/adt/timestamp.c:3146 utils/adt/timestamp.c:3151 +#: utils/adt/timestamp.c:3156 utils/adt/timestamp.c:3206 +#: utils/adt/timestamp.c:3213 utils/adt/timestamp.c:3220 +#: utils/adt/timestamp.c:3240 utils/adt/timestamp.c:3247 +#: utils/adt/timestamp.c:3254 utils/adt/timestamp.c:3341 +#: utils/adt/timestamp.c:3416 utils/adt/timestamp.c:3789 +#: utils/adt/timestamp.c:3913 utils/adt/timestamp.c:3961 +#: utils/adt/timestamp.c:3971 utils/adt/timestamp.c:4161 +#: utils/adt/timestamp.c:4171 utils/adt/timestamp.c:4497 #, c-format msgid "interval out of range" msgstr "interval вне диапазона" @@ -27977,23 +28002,23 @@ msgstr "точноÑÑ‚ÑŒ interval(%d) должна быть между %d и %d" msgid "cannot subtract infinite timestamps" msgstr "вычитать беÑконечные Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ timestamp нельзÑ" -#: utils/adt/timestamp.c:3937 utils/adt/timestamp.c:4120 +#: utils/adt/timestamp.c:3950 utils/adt/timestamp.c:4150 #, c-format msgid "origin out of range" msgstr "начало вне диапазона" -#: utils/adt/timestamp.c:3942 utils/adt/timestamp.c:4125 +#: utils/adt/timestamp.c:3955 utils/adt/timestamp.c:4155 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "" "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ timestamp Ð½ÐµÐ»ÑŒÐ·Ñ Ð¿Ð¾Ð´Ð¾Ð³Ð½Ð°Ñ‚ÑŒ под интервалы, Ñодержащие меÑÑцы или годы" -#: utils/adt/timestamp.c:3949 utils/adt/timestamp.c:4132 +#: utils/adt/timestamp.c:3966 utils/adt/timestamp.c:4166 #, c-format msgid "stride must be greater than zero" msgstr "шаг должен быть больше нулÑ" -#: utils/adt/timestamp.c:4445 +#: utils/adt/timestamp.c:4491 #, c-format msgid "Months usually have fractional weeks." msgstr "Ð’ меÑÑцах обычно дробное количеÑтво недель." @@ -28392,22 +28417,22 @@ msgid "Unicode escapes must be \\XXXX, \\+XXXXXX, \\uXXXX, or \\UXXXXXXXX." msgstr "" "Спецкоды Unicode должны иметь вид \\XXXX, \\+XXXXXX, \\uXXXX или \\UXXXXXXXX." -#: utils/adt/windowfuncs.c:306 +#: utils/adt/windowfuncs.c:307 #, c-format msgid "argument of ntile must be greater than zero" msgstr "аргумент ntile должен быть больше нулÑ" -#: utils/adt/windowfuncs.c:528 +#: utils/adt/windowfuncs.c:529 #, c-format msgid "argument of nth_value must be greater than zero" msgstr "аргумент nth_value должен быть больше нулÑ" -#: utils/adt/xid8funcs.c:117 +#: utils/adt/xid8funcs.c:118 #, c-format msgid "transaction ID %llu is in the future" msgstr "ID транзакции %llu отноÑитÑÑ Ðº будущему" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:555 #, c-format msgid "invalid external pg_snapshot data" msgstr "неверное внешнее предÑтавление pg_snapshot" @@ -28658,7 +28683,7 @@ msgstr "файл ÑопоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ð¹ \"%s\" Ñодер msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "ошибка контрольной Ñуммы в файле ÑопоÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð¾Ñ‚Ð½Ð¾ÑˆÐµÐ½Ð¸Ð¹ \"%s\"" -#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:575 +#: utils/cache/typcache.c:1809 utils/fmgr/funcapi.c:583 #, c-format msgid "record type has not been registered" msgstr "тип запиÑи не зарегиÑтрирован" @@ -28678,92 +28703,92 @@ msgstr "ЛОВУШКÐ: %s(\"%s\", файл: \"%s\", Ñтрока: %d, PID: %d)\ msgid "error occurred before error message processing is available\n" msgstr "произошла ошибка до готовноÑти подÑиÑтемы обработки Ñообщений\n" -#: utils/error/elog.c:1943 +#: utils/error/elog.c:1947 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "открыть файл \"%s\" как stderr не удалоÑÑŒ: %m" -#: utils/error/elog.c:1956 +#: utils/error/elog.c:1960 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "открыть файл \"%s\" как stdout не удалоÑÑŒ: %m" -#: utils/error/elog.c:2521 utils/error/elog.c:2548 utils/error/elog.c:2564 +#: utils/error/elog.c:2525 utils/error/elog.c:2552 utils/error/elog.c:2568 msgid "[unknown]" msgstr "[н/д]" -#: utils/error/elog.c:2837 utils/error/elog.c:3158 utils/error/elog.c:3265 +#: utils/error/elog.c:2841 utils/error/elog.c:3162 utils/error/elog.c:3269 msgid "missing error text" msgstr "отÑутÑтвует текÑÑ‚ ошибки" -#: utils/error/elog.c:2840 utils/error/elog.c:2843 +#: utils/error/elog.c:2844 utils/error/elog.c:2847 #, c-format msgid " at character %d" msgstr " (Ñимвол %d)" -#: utils/error/elog.c:2853 utils/error/elog.c:2860 +#: utils/error/elog.c:2857 utils/error/elog.c:2864 msgid "DETAIL: " msgstr "ПОДРОБÐОСТИ: " -#: utils/error/elog.c:2867 +#: utils/error/elog.c:2871 msgid "HINT: " msgstr "ПОДСКÐЗКÐ: " -#: utils/error/elog.c:2874 +#: utils/error/elog.c:2878 msgid "QUERY: " msgstr "ЗÐПРОС: " -#: utils/error/elog.c:2881 +#: utils/error/elog.c:2885 msgid "CONTEXT: " msgstr "КОÐТЕКСТ: " -#: utils/error/elog.c:2891 +#: utils/error/elog.c:2895 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "ПОЛОЖЕÐИЕ: %s, %s:%d\n" -#: utils/error/elog.c:2898 +#: utils/error/elog.c:2902 #, c-format msgid "LOCATION: %s:%d\n" msgstr "ПОЛОЖЕÐИЕ: %s:%d\n" -#: utils/error/elog.c:2905 +#: utils/error/elog.c:2909 msgid "BACKTRACE: " msgstr "СТЕК: " -#: utils/error/elog.c:2917 +#: utils/error/elog.c:2921 msgid "STATEMENT: " msgstr "ОПЕРÐТОР: " -#: utils/error/elog.c:3310 +#: utils/error/elog.c:3314 msgid "DEBUG" msgstr "ОТЛÐДКÐ" -#: utils/error/elog.c:3314 +#: utils/error/elog.c:3318 msgid "LOG" msgstr "СООБЩЕÐИЕ" -#: utils/error/elog.c:3317 +#: utils/error/elog.c:3321 msgid "INFO" msgstr "ИÐФОРМÐЦИЯ" -#: utils/error/elog.c:3320 +#: utils/error/elog.c:3324 msgid "NOTICE" msgstr "ЗÐМЕЧÐÐИЕ" -#: utils/error/elog.c:3324 +#: utils/error/elog.c:3328 msgid "WARNING" msgstr "ПРЕДУПРЕЖДЕÐИЕ" -#: utils/error/elog.c:3327 +#: utils/error/elog.c:3331 msgid "ERROR" msgstr "ОШИБКÐ" -#: utils/error/elog.c:3330 +#: utils/error/elog.c:3334 msgid "FATAL" msgstr "Ð’ÐЖÐО" -#: utils/error/elog.c:3333 +#: utils/error/elog.c:3337 msgid "PANIC" msgstr "ПÐÐИКÐ" @@ -28894,7 +28919,7 @@ msgstr "" msgid "language validation function %u called for language %u instead of %u" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ñзыковой проверки %u вызвана Ð´Ð»Ñ Ñзыка %u (а не %u)" -#: utils/fmgr/funcapi.c:498 +#: utils/fmgr/funcapi.c:505 #, c-format msgid "" "could not determine actual result type for function \"%s\" declared to " @@ -28903,28 +28928,28 @@ msgstr "" "не удалоÑÑŒ определить дейÑтвительный тип результата Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸ \"%s\", " "объÑвленной как Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð°Ñ Ñ‚Ð¸Ð¿ %s" -#: utils/fmgr/funcapi.c:643 +#: utils/fmgr/funcapi.c:651 #, c-format msgid "argument declared %s does not contain a range type but type %s" msgstr "" "аргумент, объÑвленный как \"%s\", Ñодержит не диапазонный тип, а тип %s" -#: utils/fmgr/funcapi.c:726 +#: utils/fmgr/funcapi.c:734 #, c-format msgid "could not find multirange type for data type %s" msgstr "тип мультидиапазона Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð° данных %s не найден" -#: utils/fmgr/funcapi.c:1943 utils/fmgr/funcapi.c:1975 +#: utils/fmgr/funcapi.c:1951 utils/fmgr/funcapi.c:1983 #, c-format msgid "number of aliases does not match number of columns" msgstr "чиÑло пÑевдонимов не Ñовпадает Ñ Ñ‡Ð¸Ñлом Ñтолбцов" -#: utils/fmgr/funcapi.c:1969 +#: utils/fmgr/funcapi.c:1977 #, c-format msgid "no column alias was provided" msgstr "пÑевдоним Ñтолбца не указан" -#: utils/fmgr/funcapi.c:1993 +#: utils/fmgr/funcapi.c:2001 #, c-format msgid "could not determine row description for function returning record" msgstr "не удалоÑÑŒ определить опиÑание Ñтроки Ð´Ð»Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸, возвращающей запиÑÑŒ" @@ -32333,7 +32358,7 @@ msgstr "" msgid "Failed while creating memory context \"%s\"." msgstr "Ошибка при Ñоздании контекÑта памÑти \"%s\"." -#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1334 +#: utils/mmgr/dsa.c:520 utils/mmgr/dsa.c:1338 #, c-format msgid "could not attach to dynamic shared area" msgstr "не удалоÑÑŒ подключитьÑÑ Ðº динамичеÑкой разделÑемой облаÑти" diff --git a/src/backend/po/uk.po b/src/backend/po/uk.po index f810e47..e88873b 100644 --- a/src/backend/po/uk.po +++ b/src/backend/po/uk.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: postgresql\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-12-17 22:26+0000\n" -"PO-Revision-Date: 2023-12-18 17:41\n" +"POT-Creation-Date: 2024-02-09 18:27+0000\n" +"PO-Revision-Date: 2024-02-11 11:23\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -73,16 +73,16 @@ msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл \"%s\" Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½ #: ../common/controldata_utils.c:94 ../common/controldata_utils.c:96 #: access/transam/timeline.c:143 access/transam/timeline.c:362 #: access/transam/twophase.c:1349 access/transam/xlog.c:3209 -#: access/transam/xlog.c:4024 access/transam/xlogrecovery.c:1197 -#: access/transam/xlogrecovery.c:1289 access/transam/xlogrecovery.c:1326 -#: access/transam/xlogrecovery.c:1386 backup/basebackup.c:1844 +#: access/transam/xlog.c:4024 access/transam/xlogrecovery.c:1223 +#: access/transam/xlogrecovery.c:1315 access/transam/xlogrecovery.c:1352 +#: access/transam/xlogrecovery.c:1412 backup/basebackup.c:1844 #: commands/extension.c:3411 libpq/hba.c:505 replication/logical/origin.c:729 #: replication/logical/origin.c:765 replication/logical/reorderbuffer.c:4958 #: replication/logical/snapbuild.c:1870 replication/logical/snapbuild.c:1912 #: replication/logical/snapbuild.c:1939 replication/slot.c:1807 #: replication/slot.c:1848 replication/walsender.c:658 #: storage/file/buffile.c:463 storage/file/copydir.c:195 -#: utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:813 +#: utils/adt/genfile.c:197 utils/adt/misc.c:863 utils/cache/relmapper.c:816 #, c-format msgid "could not read file \"%s\": %m" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл \"%s\": %m" @@ -93,7 +93,7 @@ msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл \"%s\": %m" #: replication/logical/origin.c:773 replication/logical/snapbuild.c:1875 #: replication/logical/snapbuild.c:1917 replication/logical/snapbuild.c:1944 #: replication/slot.c:1811 replication/slot.c:1852 replication/walsender.c:663 -#: utils/cache/relmapper.c:817 +#: utils/cache/relmapper.c:820 #, c-format msgid "could not read file \"%s\": read %d of %zu" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл \"%s\": прочитано %d з %zu" @@ -113,8 +113,8 @@ msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл \"%s\": прочитан #: replication/logical/snapbuild.c:1779 replication/logical/snapbuild.c:1952 #: replication/slot.c:1698 replication/slot.c:1859 replication/walsender.c:673 #: storage/file/copydir.c:218 storage/file/copydir.c:223 storage/file/fd.c:745 -#: storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:828 -#: utils/cache/relmapper.c:956 +#: storage/file/fd.c:3643 storage/file/fd.c:3749 utils/cache/relmapper.c:831 +#: utils/cache/relmapper.c:968 #, c-format msgid "could not close file \"%s\": %m" msgstr "неможливо закрити файл \"%s\": %m" @@ -139,8 +139,8 @@ msgstr "можлива помилка у поÑлідовноÑÑ‚Ñ– байтів #: access/transam/timeline.c:348 access/transam/twophase.c:1305 #: access/transam/xlog.c:2943 access/transam/xlog.c:3125 #: access/transam/xlog.c:3164 access/transam/xlog.c:3359 -#: access/transam/xlog.c:4014 access/transam/xlogrecovery.c:4209 -#: access/transam/xlogrecovery.c:4312 access/transam/xlogutils.c:852 +#: access/transam/xlog.c:4014 access/transam/xlogrecovery.c:4243 +#: access/transam/xlogrecovery.c:4346 access/transam/xlogutils.c:852 #: backup/basebackup.c:522 backup/basebackup.c:1520 postmaster/syslogger.c:1560 #: replication/logical/origin.c:719 replication/logical/reorderbuffer.c:3611 #: replication/logical/reorderbuffer.c:4162 @@ -149,10 +149,10 @@ msgstr "можлива помилка у поÑлідовноÑÑ‚Ñ– байтів #: replication/slot.c:1779 replication/walsender.c:631 #: replication/walsender.c:2722 storage/file/copydir.c:161 #: storage/file/fd.c:720 storage/file/fd.c:3395 storage/file/fd.c:3630 -#: storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:792 -#: utils/cache/relmapper.c:900 utils/error/elog.c:1933 +#: storage/file/fd.c:3720 storage/smgr/md.c:541 utils/cache/relmapper.c:795 +#: utils/cache/relmapper.c:912 utils/error/elog.c:1937 #: utils/init/miscinit.c:1374 utils/init/miscinit.c:1508 -#: utils/init/miscinit.c:1585 utils/misc/guc.c:8991 utils/misc/guc.c:9040 +#: utils/init/miscinit.c:1585 utils/misc/guc.c:8998 utils/misc/guc.c:9047 #, c-format msgid "could not open file \"%s\": %m" msgstr "не можливо відкрити файл \"%s\": %m" @@ -163,7 +163,7 @@ msgstr "не можливо відкрити файл \"%s\": %m" #: backup/basebackup_server.c:173 backup/basebackup_server.c:266 #: postmaster/postmaster.c:5633 postmaster/syslogger.c:1571 #: postmaster/syslogger.c:1584 postmaster/syslogger.c:1597 -#: utils/cache/relmapper.c:934 +#: utils/cache/relmapper.c:946 #, c-format msgid "could not write file \"%s\": %m" msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл \"%s\": %m" @@ -176,10 +176,10 @@ msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл \"%s\": %m" #: access/transam/xlog.c:3049 access/transam/xlog.c:3243 #: access/transam/xlog.c:3987 access/transam/xlog.c:7979 #: access/transam/xlog.c:8022 backup/basebackup_server.c:207 -#: replication/logical/snapbuild.c:1772 replication/slot.c:1684 -#: replication/slot.c:1789 storage/file/fd.c:737 storage/file/fd.c:3741 -#: storage/smgr/md.c:992 storage/smgr/md.c:1033 storage/sync/sync.c:453 -#: utils/cache/relmapper.c:949 utils/misc/guc.c:8760 +#: commands/dbcommands.c:514 replication/logical/snapbuild.c:1772 +#: replication/slot.c:1684 replication/slot.c:1789 storage/file/fd.c:737 +#: storage/file/fd.c:3741 storage/smgr/md.c:992 storage/smgr/md.c:1033 +#: storage/sync/sync.c:453 utils/cache/relmapper.c:961 utils/misc/guc.c:8767 #, c-format msgid "could not fsync file \"%s\": %m" msgstr "не вдалоÑÑ fsync файл \"%s\": %m" @@ -191,8 +191,8 @@ msgstr "не вдалоÑÑ fsync файл \"%s\": %m" #: ../common/md5_common.c:155 ../common/psprintf.c:143 #: ../common/scram-common.c:247 ../common/stringinfo.c:305 ../port/path.c:751 #: ../port/path.c:789 ../port/path.c:806 access/transam/twophase.c:1414 -#: access/transam/xlogrecovery.c:587 lib/dshash.c:253 libpq/auth.c:1338 -#: libpq/auth.c:1406 libpq/auth.c:1964 libpq/be-secure-gssapi.c:520 +#: access/transam/xlogrecovery.c:587 lib/dshash.c:253 libpq/auth.c:1336 +#: libpq/auth.c:1404 libpq/auth.c:1962 libpq/be-secure-gssapi.c:520 #: postmaster/bgworker.c:349 postmaster/bgworker.c:931 #: postmaster/postmaster.c:2594 postmaster/postmaster.c:4180 #: postmaster/postmaster.c:5558 postmaster/postmaster.c:5929 @@ -208,7 +208,7 @@ msgstr "не вдалоÑÑ fsync файл \"%s\": %m" #: utils/hash/dynahash.c:513 utils/hash/dynahash.c:613 #: utils/hash/dynahash.c:1116 utils/mb/mbutils.c:401 utils/mb/mbutils.c:429 #: utils/mb/mbutils.c:814 utils/mb/mbutils.c:841 utils/misc/guc.c:5192 -#: utils/misc/guc.c:5208 utils/misc/guc.c:5221 utils/misc/guc.c:8738 +#: utils/misc/guc.c:5208 utils/misc/guc.c:5221 utils/misc/guc.c:8745 #: utils/misc/tzparser.c:476 utils/mmgr/aset.c:476 utils/mmgr/dsa.c:702 #: utils/mmgr/dsa.c:724 utils/mmgr/dsa.c:805 utils/mmgr/generation.c:266 #: utils/mmgr/mcxt.c:888 utils/mmgr/mcxt.c:924 utils/mmgr/mcxt.c:962 @@ -445,7 +445,7 @@ msgstr "неприпуÑтима назва відгалуженнÑ" msgid "Valid fork names are \"main\", \"fsm\", \"vm\", and \"init\"." msgstr "Дозволені назви відгалуженнÑ: \"main\", \"fsm\", \"vm\" або \"init\"." -#: ../common/restricted_token.c:64 libpq/auth.c:1368 libpq/auth.c:2400 +#: ../common/restricted_token.c:64 libpq/auth.c:1366 libpq/auth.c:2398 #, c-format msgid "could not load library \"%s\": error code %lu" msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ бібліотеку \"%s\": код помилки %lu" @@ -524,7 +524,7 @@ msgstr "недоÑтатньо пам'ÑÑ‚Ñ–\n\n" msgid "could not look up effective user ID %ld: %s" msgstr "не можу знайти кориÑтувача з ефективним ID %ld: %s" -#: ../common/username.c:45 libpq/auth.c:1900 +#: ../common/username.c:45 libpq/auth.c:1898 msgid "user does not exist" msgstr "кориÑтувача не Ñ–Ñнує" @@ -686,7 +686,7 @@ msgid "could not open parent table of index \"%s\"" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ батьківÑьку таблицю індекÑу \"%s\"" #: access/brin/brin.c:1111 access/brin/brin.c:1207 access/gin/ginfast.c:1087 -#: parser/parse_utilcmd.c:2287 +#: parser/parse_utilcmd.c:2296 #, c-format msgid "index \"%s\" is not valid" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" не Ñ” припуÑтимим" @@ -812,7 +812,7 @@ msgstr "кількіÑÑ‚ÑŒ Ñтовпців (%d) перевищує обмеже msgid "number of index columns (%d) exceeds limit (%d)" msgstr "кількіÑÑ‚ÑŒ індекÑних Ñтовпців (%d) перевищує Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ (%d)" -#: access/common/indextuple.c:209 access/spgist/spgutils.c:958 +#: access/common/indextuple.c:209 access/spgist/spgutils.c:965 #, c-format msgid "index row requires %zu bytes, maximum size is %zu" msgstr "індекÑний Ñ€Ñдок вимагає %zu байтів, макÑимальний розмір %zu" @@ -846,7 +846,7 @@ msgstr "RESET не має міÑтити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ msgid "unrecognized parameter namespace \"%s\"" msgstr "нерозпізнаний параметр проÑтору імен \"%s\"" -#: access/common/reloptions.c:1303 utils/misc/guc.c:12995 +#: access/common/reloptions.c:1303 utils/misc/guc.c:13002 #, c-format msgid "tables declared WITH OIDS are not supported" msgstr "таблиці, позначені WITH OIDS, не підтримуютьÑÑ" @@ -1040,7 +1040,7 @@ msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸, Ñкий параметр Ñор #: access/hash/hashfunc.c:279 access/hash/hashfunc.c:336 catalog/heap.c:668 #: catalog/heap.c:674 commands/createas.c:206 commands/createas.c:515 -#: commands/indexcmds.c:1955 commands/tablecmds.c:17505 commands/view.c:86 +#: commands/indexcmds.c:1955 commands/tablecmds.c:17513 commands/view.c:86 #: regex/regc_pg_locale.c:243 utils/adt/formatting.c:1690 #: utils/adt/formatting.c:1812 utils/adt/formatting.c:1935 utils/adt/like.c:190 #: utils/adt/like_support.c:1025 utils/adt/varchar.c:733 @@ -1055,7 +1055,7 @@ msgid "index row size %zu exceeds hash maximum %zu" msgstr "індекÑний Ñ€Ñдок розміру %zu перевищує макÑимальний хеш %zu" #: access/hash/hashinsert.c:85 access/spgist/spgdoinsert.c:2005 -#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1019 +#: access/spgist/spgdoinsert.c:2282 access/spgist/spgutils.c:1026 #, c-format msgid "Values larger than a buffer page cannot be indexed." msgstr "ЗначеннÑ, що перевищують буфер Ñторінки, не можна індекÑувати." @@ -1146,7 +1146,7 @@ msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати до файлу \"%s\", запиÑÐ #: access/transam/xlog.c:2965 access/transam/xlog.c:3178 #: access/transam/xlog.c:3966 access/transam/xlog.c:8659 #: access/transam/xlogfuncs.c:594 backup/basebackup_server.c:149 -#: backup/basebackup_server.c:242 commands/dbcommands.c:517 +#: backup/basebackup_server.c:242 commands/dbcommands.c:494 #: postmaster/postmaster.c:4607 postmaster/postmaster.c:5620 #: replication/logical/origin.c:587 replication/slot.c:1631 #: storage/file/copydir.c:167 storage/smgr/md.c:222 utils/time/snapmgr.c:1261 @@ -1162,14 +1162,14 @@ msgstr "не вдалоÑÑ Ñкоротити файл \"%s\" до потріб #: access/heap/rewriteheap.c:1159 access/transam/timeline.c:384 #: access/transam/timeline.c:424 access/transam/timeline.c:502 #: access/transam/xlog.c:3037 access/transam/xlog.c:3234 -#: access/transam/xlog.c:3978 commands/dbcommands.c:529 +#: access/transam/xlog.c:3978 commands/dbcommands.c:506 #: postmaster/postmaster.c:4617 postmaster/postmaster.c:4627 #: replication/logical/origin.c:599 replication/logical/origin.c:641 #: replication/logical/origin.c:660 replication/logical/snapbuild.c:1748 #: replication/slot.c:1666 storage/file/buffile.c:537 #: storage/file/copydir.c:207 utils/init/miscinit.c:1449 -#: utils/init/miscinit.c:1460 utils/init/miscinit.c:1468 utils/misc/guc.c:8721 -#: utils/misc/guc.c:8752 utils/misc/guc.c:10750 utils/misc/guc.c:10764 +#: utils/init/miscinit.c:1460 utils/init/miscinit.c:1468 utils/misc/guc.c:8728 +#: utils/misc/guc.c:8759 utils/misc/guc.c:10757 utils/misc/guc.c:10771 #: utils/time/snapmgr.c:1266 utils/time/snapmgr.c:1273 #, c-format msgid "could not write to file \"%s\": %m" @@ -1241,7 +1241,7 @@ msgstr "пропущено кортежів: %lld померлих з %u ÑÑ‚Ð¾Ñ #: access/heap/vacuumlazy.c:708 #, c-format msgid "removable cutoff: %u, which was %d XIDs old when operation ended\n" -msgstr "Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð·Ñƒ : %u, це було %d XIDs Ñтарий при завершенні операції\n" +msgstr "Ð’Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð·Ñƒ: %u, це було %d XIDs Ñтарий при завершенні операції\n" #: access/heap/vacuumlazy.c:714 #, c-format @@ -1411,14 +1411,14 @@ msgstr "Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ñƒ доÑтупу індекÑа \"%s\" не задан msgid "transaction aborted during system catalog scan" msgstr "транзакцію перервано під Ñ‡Ð°Ñ ÑÐºÐ°Ð½ÑƒÐ²Ð°Ð½Ð½Ñ ÑиÑтемного каталогу" -#: access/index/indexam.c:142 catalog/objectaddress.c:1376 +#: access/index/indexam.c:203 catalog/objectaddress.c:1376 #: commands/indexcmds.c:2783 commands/tablecmds.c:271 commands/tablecmds.c:295 -#: commands/tablecmds.c:17191 commands/tablecmds.c:18976 +#: commands/tablecmds.c:17199 commands/tablecmds.c:18984 #, c-format msgid "\"%s\" is not an index" msgstr "\"%s\" не Ñ” індекÑом" -#: access/index/indexam.c:973 +#: access/index/indexam.c:1010 #, c-format msgid "operator class %s has no options" msgstr "ÐºÐ»Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ–Ð² %s без параметрів" @@ -1439,7 +1439,7 @@ msgid "This may be because of a non-immutable index expression." msgstr "Можливо, це викликано змінною природою індекÑного вираженнÑ." #: access/nbtree/nbtpage.c:159 access/nbtree/nbtpage.c:608 -#: parser/parse_utilcmd.c:2333 +#: parser/parse_utilcmd.c:2342 #, c-format msgid "index \"%s\" is not a btree" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" не Ñ” b-деревом" @@ -1481,12 +1481,12 @@ msgstr "ЗначеннÑ, що займають більше, ніж 1/3 ÑÑ‚Ð¾Ñ msgid "operator family \"%s\" of access method %s is missing support function for types %s and %s" msgstr "ÑімейÑтво операторів \"%s\" методу доÑтупу %s не має опорної функції Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñ–Ð² %s та %s" -#: access/spgist/spgutils.c:244 +#: access/spgist/spgutils.c:242 #, c-format msgid "compress method must be defined when leaf type is different from input type" msgstr "метод ÑтиÑÐ½ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½ÐµÐ½ бути визначений, коли тип лиÑтів відрізнÑєтьÑÑ Ð²Ñ–Ð´ вхідного типу" -#: access/spgist/spgutils.c:1016 +#: access/spgist/spgutils.c:1023 #, c-format msgid "SP-GiST inner tuple size %zu exceeds maximum %zu" msgstr "Внутрішній розмір кортежу SP-GiST %zu перевищує макÑимальний %zu" @@ -1508,8 +1508,8 @@ msgid "\"%s\" is an index" msgstr "\"%s\" Ñ” індекÑом" #: access/table/table.c:54 access/table/table.c:88 access/table/table.c:117 -#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13880 -#: commands/tablecmds.c:17200 +#: access/table/table.c:150 catalog/aclchk.c:1842 commands/tablecmds.c:13888 +#: commands/tablecmds.c:17208 #, c-format msgid "\"%s\" is a composite type" msgstr "\"%s\" це Ñкладений тип" @@ -1524,7 +1524,7 @@ msgstr "невірний tid (%u, %u) Ð´Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" msgid "%s cannot be empty." msgstr "%s не може бути пуÑтим." -#: access/table/tableamapi.c:122 utils/misc/guc.c:12919 +#: access/table/tableamapi.c:122 utils/misc/guc.c:12926 #, c-format msgid "%s is too long (maximum %d characters)." msgstr "%s занадто довгий (макÑимум %d Ñимволів)." @@ -2579,9 +2579,9 @@ msgid "tablespaces are not supported on this platform" msgstr "табличний проÑÑ‚Ñ–Ñ€ не підтримуєтьÑÑ Ð½Ð° цій платформі" #: access/transam/xlog.c:8541 access/transam/xlog.c:8554 -#: access/transam/xlogrecovery.c:1211 access/transam/xlogrecovery.c:1218 -#: access/transam/xlogrecovery.c:1277 access/transam/xlogrecovery.c:1357 -#: access/transam/xlogrecovery.c:1381 +#: access/transam/xlogrecovery.c:1237 access/transam/xlogrecovery.c:1244 +#: access/transam/xlogrecovery.c:1303 access/transam/xlogrecovery.c:1383 +#: access/transam/xlogrecovery.c:1407 #, c-format msgid "invalid data in file \"%s\"" msgstr "невірні дані у файлі \"%s\"" @@ -2944,12 +2944,17 @@ msgstr "починаєтьÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ… до першо msgid "starting archive recovery" msgstr "початок Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð°Ñ€Ñ…Ñ–Ð²Ñƒ" -#: access/transam/xlogrecovery.c:651 +#: access/transam/xlogrecovery.c:635 +#, c-format +msgid "starting backup recovery with redo LSN %X/%X, checkpoint LSN %X/%X, on timeline ID %u" +msgstr "Ñтартуємо Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ñ— копії з LSN Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ %X/%X, LSN контрольної точки %X/%X, на чаÑовій шкалі з ID %u" + +#: access/transam/xlogrecovery.c:667 #, c-format msgid "could not find redo location referenced by checkpoint record" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð¿Ð¾Ð»Ð¾Ð¶ÐµÐ½Ð½Ñ REDO, вказане запиÑом контрольної точки" -#: access/transam/xlogrecovery.c:652 access/transam/xlogrecovery.c:662 +#: access/transam/xlogrecovery.c:668 access/transam/xlogrecovery.c:678 #, c-format msgid "If you are restoring from a backup, touch \"%s/recovery.signal\" and add required recovery options.\n" "If you are not restoring from a backup, try removing the file \"%s/backup_label\".\n" @@ -2958,399 +2963,409 @@ msgstr "Якщо ви відновлюєте з резервної копії, Ð "Якщо ви не відновлюєте з резервної копії, Ñпробуйте видалити файл \"%s/backup_label\".\n" "Будьте обережні: Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ \"%s/backup_label\" призведе до Ð¿Ð¾ÑˆÐºÐ¾Ð´Ð¶ÐµÐ½Ð½Ñ ÐºÐ»Ð°Ñтеру при відновленні з резервної копії." -#: access/transam/xlogrecovery.c:661 +#: access/transam/xlogrecovery.c:677 #, c-format msgid "could not locate required checkpoint record" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð¿Ð¾Ñ‚Ñ€Ñ–Ð±Ð½Ð¾Ñ— контрольної точки" -#: access/transam/xlogrecovery.c:690 commands/tablespace.c:685 +#: access/transam/xlogrecovery.c:706 commands/tablespace.c:685 #, c-format msgid "could not create symbolic link \"%s\": %m" msgstr "не вдалоÑÑ Ñтворити Ñимволічне поÑÐ»Ð°Ð½Ð½Ñ \"%s\": %m" -#: access/transam/xlogrecovery.c:722 access/transam/xlogrecovery.c:728 +#: access/transam/xlogrecovery.c:738 access/transam/xlogrecovery.c:744 #, c-format msgid "ignoring file \"%s\" because no file \"%s\" exists" msgstr "файл \"%s\" ігноруєтьÑÑ, тому що файлу \"%s\" не Ñ–Ñнує" -#: access/transam/xlogrecovery.c:724 +#: access/transam/xlogrecovery.c:740 #, c-format msgid "File \"%s\" was renamed to \"%s\"." msgstr "Файл \"%s\" був перейменований на \"%s\"." -#: access/transam/xlogrecovery.c:730 +#: access/transam/xlogrecovery.c:746 #, c-format msgid "Could not rename file \"%s\" to \"%s\": %m." msgstr "Ðеможливо перейменувати файл \"%s\" на \"%s\": %m." -#: access/transam/xlogrecovery.c:784 +#: access/transam/xlogrecovery.c:785 +#, c-format +msgid "restarting backup recovery with redo LSN %X/%X" +msgstr "перезапуÑк Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ñ— копії на LSN %X/%X" + +#: access/transam/xlogrecovery.c:810 #, c-format msgid "could not locate a valid checkpoint record" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾Ð¿ÑƒÑтимої контрольної точки" -#: access/transam/xlogrecovery.c:808 +#: access/transam/xlogrecovery.c:834 #, c-format msgid "requested timeline %u is not a child of this server's history" msgstr "запитувана Ð»Ñ–Ð½Ñ–Ñ Ñ‡Ð°Ñу %u не Ñ” відгалуженнÑм Ñ–Ñторії цього Ñерверу" -#: access/transam/xlogrecovery.c:810 +#: access/transam/xlogrecovery.c:836 #, c-format msgid "Latest checkpoint is at %X/%X on timeline %u, but in the history of the requested timeline, the server forked off from that timeline at %X/%X." msgstr "ОÑÑ‚Ð°Ð½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð° точка %X/%X на лінії чаÑу %u, але в Ñ–Ñторії запитуваної лінії чаÑу Ñервер відгалузивÑÑ Ð· цієї лінії в %X/%X." -#: access/transam/xlogrecovery.c:824 +#: access/transam/xlogrecovery.c:850 #, c-format msgid "requested timeline %u does not contain minimum recovery point %X/%X on timeline %u" msgstr "запитувана Ð»Ñ–Ð½Ñ–Ñ Ñ‡Ð°Ñу %u не міÑтить мінімальну точку Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %X/%X на лінії чаÑу %u" -#: access/transam/xlogrecovery.c:852 +#: access/transam/xlogrecovery.c:878 #, c-format msgid "invalid next transaction ID" msgstr "невірний ID наÑтупної транзакції" -#: access/transam/xlogrecovery.c:857 +#: access/transam/xlogrecovery.c:883 #, c-format msgid "invalid redo in checkpoint record" msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ REDO в контрольній точці" -#: access/transam/xlogrecovery.c:868 +#: access/transam/xlogrecovery.c:894 #, c-format msgid "invalid redo record in shutdown checkpoint" msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ REDO в контрольній точці вимкненнÑ" -#: access/transam/xlogrecovery.c:897 +#: access/transam/xlogrecovery.c:923 #, c-format msgid "database system was not properly shut down; automatic recovery in progress" msgstr "робота ÑиÑтеми бази даних не була завершена належним чином; відбуваєтьÑÑ Ð°Ð²Ñ‚Ð¾Ð¼Ð°Ñ‚Ð¸Ñ‡Ð½Ðµ відновленнÑ" -#: access/transam/xlogrecovery.c:901 +#: access/transam/xlogrecovery.c:927 #, c-format msgid "crash recovery starts in timeline %u and has target timeline %u" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð·Ð±Ð¾ÑŽ починаєтьÑÑ Ð½Ð° лінії чаÑу %u Ñ– має цільову лінію чаÑу: %u" -#: access/transam/xlogrecovery.c:944 +#: access/transam/xlogrecovery.c:970 #, c-format msgid "backup_label contains data inconsistent with control file" msgstr "backup_label міÑтить дані, Ñкі не узгоджені з файлом pg_control" -#: access/transam/xlogrecovery.c:945 +#: access/transam/xlogrecovery.c:971 #, c-format msgid "This means that the backup is corrupted and you will have to use another backup for recovery." msgstr "Це означає, що резервна ÐºÐ¾Ð¿Ñ–Ñ Ð±ÑƒÐ»Ð° пошкоджена Ñ– вам доведетьÑÑ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтати іншу резервну копію Ð´Ð»Ñ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ." -#: access/transam/xlogrecovery.c:999 +#: access/transam/xlogrecovery.c:1025 #, c-format msgid "using recovery command file \"%s\" is not supported" msgstr "викориÑÑ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ñƒ команд Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ \"%s\" не підтримуєтьÑÑ" -#: access/transam/xlogrecovery.c:1064 +#: access/transam/xlogrecovery.c:1090 #, c-format msgid "standby mode is not supported by single-user servers" msgstr "режим Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ підтримуєтьÑÑ Ð¾Ð´Ð½Ð¾ÐºÐ¾Ñ€Ð¸Ñтувацьким Ñервером" -#: access/transam/xlogrecovery.c:1081 +#: access/transam/xlogrecovery.c:1107 #, c-format msgid "specified neither primary_conninfo nor restore_command" msgstr "не заззначено ані параметр primary_conninfo, ані параметр restore_command" -#: access/transam/xlogrecovery.c:1082 +#: access/transam/xlogrecovery.c:1108 #, c-format msgid "The database server will regularly poll the pg_wal subdirectory to check for files placed there." msgstr "Сервер бази даних буде регулÑрно опитувати підкатолог pg_wal Ñ– перевірÑти файли, що міÑÑ‚ÑÑ‚ÑŒÑÑ Ñƒ ньому." -#: access/transam/xlogrecovery.c:1090 +#: access/transam/xlogrecovery.c:1116 #, c-format msgid "must specify restore_command when standby mode is not enabled" msgstr "необхідно вказати restore_command, Ñкщо не ввімкнено режиму очікуваннÑ" -#: access/transam/xlogrecovery.c:1128 +#: access/transam/xlogrecovery.c:1154 #, c-format msgid "recovery target timeline %u does not exist" msgstr "цільова Ð»Ñ–Ð½Ñ–Ñ Ñ‡Ð°Ñу Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %u не Ñ–Ñнує" -#: access/transam/xlogrecovery.c:1278 +#: access/transam/xlogrecovery.c:1304 #, c-format msgid "Timeline ID parsed is %u, but expected %u." msgstr "Проаналізовано ID чаÑової лінії %u, очіувалоÑÑ %u." -#: access/transam/xlogrecovery.c:1660 +#: access/transam/xlogrecovery.c:1686 #, c-format msgid "redo starts at %X/%X" msgstr "Ð·Ð°Ð¿Ð¸Ñ REDO починаєтьÑÑ Ð· %X/%X" -#: access/transam/xlogrecovery.c:1673 +#: access/transam/xlogrecovery.c:1699 #, c-format msgid "redo in progress, elapsed time: %ld.%02d s, current LSN: %X/%X" msgstr "Ð·Ð°Ð¿Ð¸Ñ REDO триває, минуло чаÑу: %ld.%02d s, поточний LSN: %X/%X" -#: access/transam/xlogrecovery.c:1765 +#: access/transam/xlogrecovery.c:1791 #, c-format msgid "requested recovery stop point is before consistent recovery point" msgstr "запитувана точка Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ÑƒÑ” узгодженій точці відновленнÑ" -#: access/transam/xlogrecovery.c:1797 +#: access/transam/xlogrecovery.c:1823 #, c-format msgid "redo done at %X/%X system usage: %s" msgstr "повторно виконано через %X/%X ÑиÑтемне викориÑтаннÑ: %s" -#: access/transam/xlogrecovery.c:1803 +#: access/transam/xlogrecovery.c:1829 #, c-format msgid "last completed transaction was at log time %s" msgstr "оÑÑ‚Ð°Ð½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð° Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ Ð±ÑƒÐ»Ð° в %s" -#: access/transam/xlogrecovery.c:1812 +#: access/transam/xlogrecovery.c:1838 #, c-format msgid "redo is not required" msgstr "дані REDO не потрібні" -#: access/transam/xlogrecovery.c:1823 +#: access/transam/xlogrecovery.c:1849 #, c-format msgid "recovery ended before configured recovery target was reached" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐ¸Ð»Ð¾ÑÑŒ до доÑÑÐ³ÐµÐ½Ð½Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚Ð¾Ð²Ð°Ð½Ð¾Ñ— цілі відновленнÑ" -#: access/transam/xlogrecovery.c:1998 +#: access/transam/xlogrecovery.c:2024 #, c-format msgid "successfully skipped missing contrecord at %X/%X, overwritten at %s" msgstr "уÑпішно пропущений відÑутній contrecord при %X/%X, перезапиÑано на %s" -#: access/transam/xlogrecovery.c:2065 +#: access/transam/xlogrecovery.c:2091 #, c-format msgid "unexpected directory entry \"%s\" found in %s" msgstr "знайдено неочікуваний Ð·Ð°Ð¿Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ \"%s\" в %s" -#: access/transam/xlogrecovery.c:2067 +#: access/transam/xlogrecovery.c:2093 #, c-format msgid "All directory entries in pg_tblspc/ should be symbolic links." msgstr "Ð’ÑÑ– запиÑи каталогу в pg_tblspc/ повинні бути Ñимволічними поÑиланнÑми." -#: access/transam/xlogrecovery.c:2068 +#: access/transam/xlogrecovery.c:2094 #, c-format msgid "Remove those directories, or set allow_in_place_tablespaces to ON transiently to let recovery complete." msgstr "Видаліть Ñ‚Ñ– каталоги, або тимчаÑово вÑтановіть Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° allow_in_place_tablespaces Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ON, щоб завершити відновленнÑ." -#: access/transam/xlogrecovery.c:2142 +#: access/transam/xlogrecovery.c:2146 +#, c-format +msgid "completed backup recovery with redo LSN %X/%X and end LSN %X/%X" +msgstr "завершено Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ñ— копії з LSN Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€ÐµÐ½Ð½Ñ %X/%X Ñ– LSN Ð·Ð°ÐºÑ–Ð½Ñ‡ÐµÐ½Ð½Ñ %X/%X" + +#: access/transam/xlogrecovery.c:2176 #, c-format msgid "consistent recovery state reached at %X/%X" msgstr "узгоджений Ñтан Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð¾ÑÑгнутий %X/%X" #. translator: %s is a WAL record description -#: access/transam/xlogrecovery.c:2180 +#: access/transam/xlogrecovery.c:2214 #, c-format msgid "WAL redo at %X/%X for %s" msgstr "Ð·Ð°Ð¿Ð¸Ñ REDO в WAL в позиції %X/%X Ð´Ð»Ñ %s" -#: access/transam/xlogrecovery.c:2276 +#: access/transam/xlogrecovery.c:2310 #, c-format msgid "unexpected previous timeline ID %u (current timeline ID %u) in checkpoint record" msgstr "неÑподіваний ID попередньої лінії чаÑу %u (ID теперішньої лінії чаÑу %u) в запиÑÑ– контрольної точки" -#: access/transam/xlogrecovery.c:2285 +#: access/transam/xlogrecovery.c:2319 #, c-format msgid "unexpected timeline ID %u (after %u) in checkpoint record" msgstr "неочікуваний ID лінії чаÑу %u (піÑÐ»Ñ %u) в запиÑÑ– контрольної точки" -#: access/transam/xlogrecovery.c:2301 +#: access/transam/xlogrecovery.c:2335 #, c-format msgid "unexpected timeline ID %u in checkpoint record, before reaching minimum recovery point %X/%X on timeline %u" msgstr "неочікуваний ID лінії чаÑу %u в запиÑÑ– контрольної точки, до доÑÑÐ³Ð½ÐµÐ½Ð½Ñ Ð¼Ñ–Ð½Ñ–Ð¼Ð°Ð»ÑŒÐ½Ð¾Ñ— точки Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %X/%X на лінії чаÑу %u" -#: access/transam/xlogrecovery.c:2485 access/transam/xlogrecovery.c:2761 +#: access/transam/xlogrecovery.c:2519 access/transam/xlogrecovery.c:2795 #, c-format msgid "recovery stopping after reaching consistency" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·ÑƒÐ¿Ð¸Ð½ÑєтьÑÑ Ð¿Ñ–ÑÐ»Ñ Ð´Ð¾ÑÑÐ³Ð½ÐµÐ½Ð½Ñ ÑƒÐ·Ð³Ð¾Ð´Ð¶ÐµÐ½Ð¾ÑÑ‚Ñ–" -#: access/transam/xlogrecovery.c:2506 +#: access/transam/xlogrecovery.c:2540 #, c-format msgid "recovery stopping before WAL location (LSN) \"%X/%X\"" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·ÑƒÐ¿Ð¸Ð½ÑєтьÑÑ Ð¿ÐµÑ€ÐµÐ´ позицією WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2596 +#: access/transam/xlogrecovery.c:2630 #, c-format msgid "recovery stopping before commit of transaction %u, time %s" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÑєтьÑÑ Ð´Ð¾ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ— %u, Ñ‡Ð°Ñ %s" -#: access/transam/xlogrecovery.c:2603 +#: access/transam/xlogrecovery.c:2637 #, c-format msgid "recovery stopping before abort of transaction %u, time %s" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÑєтьÑÑ Ð´Ð¾ ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ— %u, Ñ‡Ð°Ñ %s" -#: access/transam/xlogrecovery.c:2656 +#: access/transam/xlogrecovery.c:2690 #, c-format msgid "recovery stopping at restore point \"%s\", time %s" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÑєтьÑÑ Ð² точці відновленнÑ\"%s\", Ñ‡Ð°Ñ %s" -#: access/transam/xlogrecovery.c:2674 +#: access/transam/xlogrecovery.c:2708 #, c-format msgid "recovery stopping after WAL location (LSN) \"%X/%X\"" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÑєтьÑÑ Ð¿Ñ–ÑÐ½Ñ Ð»Ð¾ÐºÐ°Ñ†Ñ–Ñ— WAL (LSN) \"%X/%X\"" -#: access/transam/xlogrecovery.c:2741 +#: access/transam/xlogrecovery.c:2775 #, c-format msgid "recovery stopping after commit of transaction %u, time %s" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÑєтьÑÑ Ð¿Ñ–ÑÐ»Ñ Ð¿Ñ–Ð´Ñ‚Ð²ÐµÑ€Ð´Ð¶ÐµÐ½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ— %u, Ñ‡Ð°Ñ %s" -#: access/transam/xlogrecovery.c:2749 +#: access/transam/xlogrecovery.c:2783 #, c-format msgid "recovery stopping after abort of transaction %u, time %s" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¸Ð¿Ð¸Ð½ÑєтьÑÑ Ð¿Ñ–ÑÐ»Ñ ÑкаÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ— %u, Ñ‡Ð°Ñ %s" -#: access/transam/xlogrecovery.c:2830 +#: access/transam/xlogrecovery.c:2864 #, c-format msgid "pausing at the end of recovery" msgstr "пауза в кінці відновленнÑ" -#: access/transam/xlogrecovery.c:2831 +#: access/transam/xlogrecovery.c:2865 #, c-format msgid "Execute pg_wal_replay_resume() to promote." msgstr "Виконайте pg_wal_replay_resume() Ð´Ð»Ñ Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ€Ñ–Ð²Ð½Ñ." -#: access/transam/xlogrecovery.c:2834 access/transam/xlogrecovery.c:4644 +#: access/transam/xlogrecovery.c:2868 access/transam/xlogrecovery.c:4678 #, c-format msgid "recovery has paused" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·ÑƒÐ¿Ð¸Ð½ÐµÐ½Ð¾" -#: access/transam/xlogrecovery.c:2835 +#: access/transam/xlogrecovery.c:2869 #, c-format msgid "Execute pg_wal_replay_resume() to continue." msgstr "Виконайте pg_wal_replay_resume(), щоб продовжити." -#: access/transam/xlogrecovery.c:3101 +#: access/transam/xlogrecovery.c:3135 #, c-format msgid "unexpected timeline ID %u in log segment %s, offset %u" msgstr "неочіукваний ID лінії чаÑу %u в Ñегменті журналу %s, зÑув %u" -#: access/transam/xlogrecovery.c:3306 +#: access/transam/xlogrecovery.c:3340 #, c-format msgid "could not read from log segment %s, offset %u: %m" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñегмент журналу %s, зÑув %u: %m" -#: access/transam/xlogrecovery.c:3312 +#: access/transam/xlogrecovery.c:3346 #, c-format msgid "could not read from log segment %s, offset %u: read %d of %zu" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ Ñегмент журналу %s, зÑув %u: прочитано %d з %zu" -#: access/transam/xlogrecovery.c:3961 +#: access/transam/xlogrecovery.c:3995 #, c-format msgid "invalid primary checkpoint link in control file" msgstr "невірне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° первинну контрольну точку в контрольному файлі" -#: access/transam/xlogrecovery.c:3965 +#: access/transam/xlogrecovery.c:3999 #, c-format msgid "invalid checkpoint link in backup_label file" msgstr "невірне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° контрольну точку в файлі backup_label" -#: access/transam/xlogrecovery.c:3983 +#: access/transam/xlogrecovery.c:4017 #, c-format msgid "invalid primary checkpoint record" msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¸Ð½Ð½Ð¾Ñ— контрольної точки" -#: access/transam/xlogrecovery.c:3987 +#: access/transam/xlogrecovery.c:4021 #, c-format msgid "invalid checkpoint record" msgstr "невірний Ð·Ð°Ð¿Ð¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— точки" -#: access/transam/xlogrecovery.c:3998 +#: access/transam/xlogrecovery.c:4032 #, c-format msgid "invalid resource manager ID in primary checkpoint record" msgstr "невірний ID менеджера реÑурÑів в запиÑÑ– первинної контрольної точки" -#: access/transam/xlogrecovery.c:4002 +#: access/transam/xlogrecovery.c:4036 #, c-format msgid "invalid resource manager ID in checkpoint record" msgstr "невірний ID менеджера реÑурÑів в запиÑÑ– контрольної точки" -#: access/transam/xlogrecovery.c:4015 +#: access/transam/xlogrecovery.c:4049 #, c-format msgid "invalid xl_info in primary checkpoint record" msgstr "невірний xl_info у запиÑÑ– первинної контрольної точки" -#: access/transam/xlogrecovery.c:4019 +#: access/transam/xlogrecovery.c:4053 #, c-format msgid "invalid xl_info in checkpoint record" msgstr "невірний xl_info у запиÑÑ– контрольної точки" -#: access/transam/xlogrecovery.c:4030 +#: access/transam/xlogrecovery.c:4064 #, c-format msgid "invalid length of primary checkpoint record" msgstr "невірна довжина запиÑу первинної контрольної очки" -#: access/transam/xlogrecovery.c:4034 +#: access/transam/xlogrecovery.c:4068 #, c-format msgid "invalid length of checkpoint record" msgstr "невірна довжина запиÑу контрольної точки" -#: access/transam/xlogrecovery.c:4090 +#: access/transam/xlogrecovery.c:4124 #, c-format msgid "new timeline %u is not a child of database system timeline %u" msgstr "нова Ð»Ñ–Ð½Ñ–Ñ Ñ‡Ð°Ñу %u не Ñ” дочірньою Ð´Ð»Ñ Ð»Ñ–Ð½Ñ–Ñ— чаÑу ÑиÑтеми бази даних %u" -#: access/transam/xlogrecovery.c:4104 +#: access/transam/xlogrecovery.c:4138 #, c-format msgid "new timeline %u forked off current database system timeline %u before current recovery point %X/%X" msgstr "нова Ð»Ñ–Ð½Ñ–Ñ Ñ‡Ð°Ñу %u відгалузилаÑÑŒ від поточної лінії чаÑу бази даних %u до поточної точки Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ %X/%X" -#: access/transam/xlogrecovery.c:4123 +#: access/transam/xlogrecovery.c:4157 #, c-format msgid "new target timeline is %u" msgstr "нова цільова Ð»Ñ–Ð½Ñ–Ñ Ñ‡Ð°Ñу %u" -#: access/transam/xlogrecovery.c:4326 +#: access/transam/xlogrecovery.c:4360 #, c-format msgid "WAL receiver process shutdown requested" msgstr "Запит на Ð²Ð¸Ð¼ÐºÐ½ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑу приймача WAL" -#: access/transam/xlogrecovery.c:4389 +#: access/transam/xlogrecovery.c:4423 #, c-format msgid "received promote request" msgstr "отримано запит Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ ÑтатуÑу" -#: access/transam/xlogrecovery.c:4402 +#: access/transam/xlogrecovery.c:4436 #, c-format msgid "promote trigger file found: %s" msgstr "знайдено файл тригера підвищеннÑ: %s" -#: access/transam/xlogrecovery.c:4410 +#: access/transam/xlogrecovery.c:4444 #, c-format msgid "could not stat promote trigger file \"%s\": %m" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ інформацію про файл тригера Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ \"%s\": %m" -#: access/transam/xlogrecovery.c:4635 +#: access/transam/xlogrecovery.c:4669 #, c-format msgid "hot standby is not possible because of insufficient parameter settings" msgstr "hot standby неможливий через недоÑтатнє Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð²" -#: access/transam/xlogrecovery.c:4636 access/transam/xlogrecovery.c:4663 -#: access/transam/xlogrecovery.c:4693 +#: access/transam/xlogrecovery.c:4670 access/transam/xlogrecovery.c:4697 +#: access/transam/xlogrecovery.c:4727 #, c-format msgid "%s = %d is a lower setting than on the primary server, where its value was %d." msgstr "%s = %d Ñ” нижчим параметром, ніж на оÑновному Ñервері, де його Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±ÑƒÐ»Ð¾ %d." -#: access/transam/xlogrecovery.c:4645 +#: access/transam/xlogrecovery.c:4679 #, c-format msgid "If recovery is unpaused, the server will shut down." msgstr "Якщо Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð½Ðµ буде зупинено, Ñервер завершить роботу." -#: access/transam/xlogrecovery.c:4646 +#: access/transam/xlogrecovery.c:4680 #, c-format msgid "You can then restart the server after making the necessary configuration changes." msgstr "ПіÑÐ»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ñ… змін у конфігурації, ви можете перезапуÑтити Ñервер." -#: access/transam/xlogrecovery.c:4657 +#: access/transam/xlogrecovery.c:4691 #, c-format msgid "promotion is not possible because of insufficient parameter settings" msgstr "Ð¿Ñ–Ð´Ð²Ð¸Ñ‰ÐµÐ½Ð½Ñ Ð½ÐµÐ¼Ð¾Ð¶Ð»Ð¸Ð²Ðµ через недоÑтатнє Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð²" -#: access/transam/xlogrecovery.c:4667 +#: access/transam/xlogrecovery.c:4701 #, c-format msgid "Restart the server after making the necessary configuration changes." msgstr "ПерезапуÑтити Ñервер піÑÐ»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ñ… змін у конфігурації." -#: access/transam/xlogrecovery.c:4691 +#: access/transam/xlogrecovery.c:4725 #, c-format msgid "recovery aborted because of insufficient parameter settings" msgstr "Ð²Ñ–Ð´Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÑ€Ð²Ð°Ð½Ð¾ через недоÑтатнє Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñ–Ð²" -#: access/transam/xlogrecovery.c:4697 +#: access/transam/xlogrecovery.c:4731 #, c-format msgid "You can restart the server after making the necessary configuration changes." msgstr "Ви можете перезапуÑтити Ñервер, піÑÐ»Ñ Ð·Ð´Ñ–Ð¹ÑÐ½ÐµÐ½Ð½Ñ Ð½ÐµÐ¾Ð±Ñ…Ñ–Ð´Ð½Ð¸Ñ… змін у конфігурації." @@ -3552,7 +3567,7 @@ msgstr "потрібно бути ÑуперкориÑтувачем або ро msgid "relative path not allowed for backup stored on server" msgstr "відноÑний шлÑÑ… не дозволений Ð´Ð»Ñ Ñ€ÐµÐ·ÐµÑ€Ð²Ð½Ð¾Ð³Ð¾ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð·Ð±ÐµÑ€ÐµÐ¶ÐµÐ½Ð¾Ð³Ð¾ на Ñервері" -#: backup/basebackup_server.c:102 commands/dbcommands.c:500 +#: backup/basebackup_server.c:102 commands/dbcommands.c:477 #: commands/tablespace.c:163 commands/tablespace.c:179 #: commands/tablespace.c:614 commands/tablespace.c:659 replication/slot.c:1558 #: storage/file/copydir.c:47 @@ -3746,7 +3761,7 @@ msgstr "недійÑний тип привілею %s Ð´Ð»Ñ Ð´Ð¶ÐµÑ€ÐµÐ»Ð° ÑÑ‚ #: catalog/aclchk.c:506 #, c-format msgid "invalid privilege type %s for foreign server" -msgstr "недійÑний тип привілею%s Ð´Ð»Ñ Ñтороннього Ñерверу" +msgstr "недійÑний тип привілею %s Ð´Ð»Ñ Ñтороннього Ñерверу" #: catalog/aclchk.c:510 #, c-format @@ -3777,31 +3792,31 @@ msgstr "Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ IN SCHEMA не можна викориÑтати в GRANT #: catalog/aclchk.c:1587 catalog/catalog.c:627 catalog/objectaddress.c:1543 #: catalog/pg_publication.c:510 commands/analyze.c:391 commands/copy.c:779 -#: commands/sequence.c:1663 commands/tablecmds.c:7271 commands/tablecmds.c:7427 -#: commands/tablecmds.c:7477 commands/tablecmds.c:7551 -#: commands/tablecmds.c:7621 commands/tablecmds.c:7733 -#: commands/tablecmds.c:7827 commands/tablecmds.c:7886 -#: commands/tablecmds.c:7975 commands/tablecmds.c:8005 -#: commands/tablecmds.c:8133 commands/tablecmds.c:8215 -#: commands/tablecmds.c:8371 commands/tablecmds.c:8489 -#: commands/tablecmds.c:12218 commands/tablecmds.c:12399 -#: commands/tablecmds.c:12559 commands/tablecmds.c:13723 -#: commands/tablecmds.c:16292 commands/trigger.c:954 parser/analyze.c:2506 +#: commands/sequence.c:1663 commands/tablecmds.c:7275 commands/tablecmds.c:7431 +#: commands/tablecmds.c:7481 commands/tablecmds.c:7555 +#: commands/tablecmds.c:7625 commands/tablecmds.c:7737 +#: commands/tablecmds.c:7831 commands/tablecmds.c:7890 +#: commands/tablecmds.c:7979 commands/tablecmds.c:8009 +#: commands/tablecmds.c:8137 commands/tablecmds.c:8219 +#: commands/tablecmds.c:8375 commands/tablecmds.c:8493 +#: commands/tablecmds.c:12226 commands/tablecmds.c:12407 +#: commands/tablecmds.c:12567 commands/tablecmds.c:13731 +#: commands/tablecmds.c:16300 commands/trigger.c:954 parser/analyze.c:2506 #: parser/parse_relation.c:725 parser/parse_target.c:1063 -#: parser/parse_type.c:144 parser/parse_utilcmd.c:3435 -#: parser/parse_utilcmd.c:3471 parser/parse_utilcmd.c:3513 utils/adt/acl.c:2869 -#: utils/adt/ruleutils.c:2830 +#: parser/parse_type.c:144 parser/parse_utilcmd.c:3444 +#: parser/parse_utilcmd.c:3480 parser/parse_utilcmd.c:3522 utils/adt/acl.c:2869 +#: utils/adt/ruleutils.c:2828 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist" msgstr "Ñтовпець \"%s\" зв'Ñзку \"%s\" не Ñ–Ñнує" #: catalog/aclchk.c:1850 catalog/objectaddress.c:1383 commands/sequence.c:1172 -#: commands/tablecmds.c:253 commands/tablecmds.c:17164 utils/adt/acl.c:2077 +#: commands/tablecmds.c:253 commands/tablecmds.c:17172 utils/adt/acl.c:2077 #: utils/adt/acl.c:2107 utils/adt/acl.c:2139 utils/adt/acl.c:2171 #: utils/adt/acl.c:2199 utils/adt/acl.c:2229 #, c-format msgid "\"%s\" is not a sequence" -msgstr "\"%s\" не поÑлідовніÑÑ‚ÑŒ" +msgstr "\"%s\" не Ñ” поÑлідовніÑÑ‚ÑŽ" #: catalog/aclchk.c:1888 #, c-format @@ -3816,12 +3831,12 @@ msgstr "недійÑний тип привілею %s Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ–" #: catalog/aclchk.c:2071 #, c-format msgid "invalid privilege type %s for column" -msgstr "недійÑний тип права %s Ð´Ð»Ñ ÑтовпцÑ" +msgstr "недійÑний тип привілею %s Ð´Ð»Ñ ÑтовпцÑ" #: catalog/aclchk.c:2084 #, c-format msgid "sequence \"%s\" only supports SELECT column privileges" -msgstr "поÑлідовніÑÑ‚ÑŒ \"%s\" підтримує тільки право ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ SELECT" +msgstr "поÑлідовніÑÑ‚ÑŒ \"%s\" підтримує тільки привілей ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ SELECT" #: catalog/aclchk.c:2666 #, c-format @@ -3831,7 +3846,7 @@ msgstr "мова \"%s\" не Ñ” довіреною" #: catalog/aclchk.c:2668 #, c-format msgid "GRANT and REVOKE are not allowed on untrusted languages, because only superusers can use untrusted languages." -msgstr "GRANT Ñ– REVOKE не допуÑтимі Ð´Ð»Ñ Ð½ÐµÐ´Ð¾Ð²Ñ–Ñ€ÐµÐ½Ð¸Ñ… мов, тому що тільки ÑуперкориÑтувачі можуть викориÑтовувати недовірені мови." +msgstr "GRANT Ñ– REVOKE не Ñ” допуÑтимими Ð´Ð»Ñ Ð½ÐµÐ´Ð¾Ð²Ñ–Ñ€ÐµÐ½Ð¸Ñ… мов, тому що тільки ÑуперкориÑтувачі можуть викориÑтовувати недовірені мови." #: catalog/aclchk.c:3182 #, c-format @@ -3851,7 +3866,7 @@ msgstr "\"%s\" не Ñ” доменом" #: catalog/aclchk.c:3462 #, c-format msgid "unrecognized privilege type \"%s\"" -msgstr "нерозпізнане право \"%s\"" +msgstr "нерозпізнаний привілей \"%s\"" #: catalog/aclchk.c:3527 #, c-format @@ -4341,7 +4356,7 @@ msgstr "Ð´Ð»Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ %s() потрібно бути ÑÑƒÐ¿ÐµÑ€ÐºÐ¾Ñ€Ð¸Ñ msgid "pg_nextoid() can only be used on system catalogs" msgstr "pg_nextoid() можна викориÑтовувати лише Ð´Ð»Ñ ÑиÑтемних каталогів" -#: catalog/catalog.c:619 parser/parse_utilcmd.c:2280 +#: catalog/catalog.c:619 parser/parse_utilcmd.c:2289 #, c-format msgid "index \"%s\" does not belong to table \"%s\"" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" не належить таблиці \"%s\"" @@ -4394,7 +4409,7 @@ msgstr[1] "\n" msgstr[2] "\n" "Ñ– ще %d інших об'єктів (див. ÑпиÑок у протоколі Ñерверу)" msgstr[3] "\n" -"Ñ– ще %d інші об'єкти (див. ÑпиÑок у протоколі Ñервера)" +"Ñ– ще %d інших об'єктів (див. ÑпиÑок у протоколі Ñерверу)" #: catalog/dependency.c:1191 #, c-format @@ -4403,12 +4418,12 @@ msgstr "неможливо видалити %s, тому що від нього #: catalog/dependency.c:1194 catalog/dependency.c:1201 #: catalog/dependency.c:1212 commands/tablecmds.c:1328 -#: commands/tablecmds.c:14365 commands/tablespace.c:476 commands/user.c:1008 +#: commands/tablecmds.c:14373 commands/tablespace.c:476 commands/user.c:1008 #: commands/view.c:522 libpq/auth.c:329 replication/syncrep.c:1043 #: storage/lmgr/deadlock.c:1151 storage/lmgr/proc.c:1421 utils/misc/guc.c:7402 -#: utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11873 -#: utils/misc/guc.c:11907 utils/misc/guc.c:11941 utils/misc/guc.c:11984 -#: utils/misc/guc.c:12026 +#: utils/misc/guc.c:7438 utils/misc/guc.c:7508 utils/misc/guc.c:11880 +#: utils/misc/guc.c:11914 utils/misc/guc.c:11948 utils/misc/guc.c:11991 +#: utils/misc/guc.c:12033 #, c-format msgid "%s" msgstr "%s" @@ -4454,12 +4469,12 @@ msgid "System catalog modifications are currently disallowed." msgstr "Ð—Ð¼Ñ–Ð½ÐµÐ½Ð½Ñ ÑиÑтемного каталогу наразі заборонено." #: catalog/heap.c:466 commands/tablecmds.c:2348 commands/tablecmds.c:2985 -#: commands/tablecmds.c:6861 +#: commands/tablecmds.c:6865 #, c-format msgid "tables can have at most %d columns" msgstr "таблиці можуть міÑтити макÑимум %d Ñтовпців" -#: catalog/heap.c:484 commands/tablecmds.c:7161 +#: catalog/heap.c:484 commands/tablecmds.c:7165 #, c-format msgid "column name \"%s\" conflicts with a system column name" msgstr "ім'Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" конфліктує з ÑиÑтемним іменем ÑтовпцÑ" @@ -4541,7 +4556,7 @@ msgid "check constraint \"%s\" already exists" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€ÐºÐ¸ \"%s\" вже інÑує" #: catalog/heap.c:2572 catalog/index.c:889 catalog/pg_constraint.c:689 -#: commands/tablecmds.c:8863 +#: commands/tablecmds.c:8867 #, c-format msgid "constraint \"%s\" for relation \"%s\" already exists" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" вже Ñ–Ñнує" @@ -4569,7 +4584,7 @@ msgstr "Ð·Ð»Ð¸Ñ‚Ñ‚Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" з уÑпадкованим виР#: catalog/heap.c:2710 #, c-format msgid "cannot use generated column \"%s\" in column generation expression" -msgstr "в виразі ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ð½Ðµ можна викориÑтовувати згенерований Ñтовпець \"%s\" " +msgstr "в виразі ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ð½Ðµ можна викориÑтовувати згенерований Ñтовпець \"%s\"" #: catalog/heap.c:2712 #, c-format @@ -4633,7 +4648,7 @@ msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" поÑилаєтьÑÑ Ð½Ð° \"%s\"." msgid "Truncate table \"%s\" at the same time, or use TRUNCATE ... CASCADE." msgstr "Скоротіть таблицю \"%s\" паралельно або викориÑтайте TRUNCATE ... CASCADE." -#: catalog/index.c:224 parser/parse_utilcmd.c:2185 +#: catalog/index.c:224 parser/parse_utilcmd.c:2194 #, c-format msgid "multiple primary keys for table \"%s\" are not allowed" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" не може міÑтити кілька первинних ключів" @@ -4694,34 +4709,34 @@ msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑу relfilenode не вÑтановлено msgid "DROP INDEX CONCURRENTLY must be first action in transaction" msgstr "DROP INDEX CONCURRENTLY повинен бути першою дією в транзакції" -#: catalog/index.c:3646 +#: catalog/index.c:3663 #, c-format msgid "cannot reindex temporary tables of other sessions" msgstr "повторно індекÑувати тимчаÑові таблиці інших ÑеанÑів не можна" -#: catalog/index.c:3657 commands/indexcmds.c:3536 +#: catalog/index.c:3674 commands/indexcmds.c:3536 #, c-format msgid "cannot reindex invalid index on TOAST table" msgstr "переіндекÑувати неприпуÑтимий Ñ–Ð½Ð´ÐµÐºÑ Ð² таблиці TOAST не можна" -#: catalog/index.c:3673 commands/indexcmds.c:3416 commands/indexcmds.c:3560 +#: catalog/index.c:3690 commands/indexcmds.c:3416 commands/indexcmds.c:3560 #: commands/tablecmds.c:3305 #, c-format msgid "cannot move system relation \"%s\"" msgstr "переміÑтити ÑиÑтемне Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не можна" -#: catalog/index.c:3817 +#: catalog/index.c:3834 #, c-format msgid "index \"%s\" was reindexed" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" був перебудований" -#: catalog/index.c:3954 +#: catalog/index.c:3971 #, c-format msgid "cannot reindex invalid index \"%s.%s\" on TOAST table, skipping" msgstr "переіндекÑувати неприпуÑтимий Ñ–Ð½Ð´ÐµÐºÑ \"%s.%s\" в таблиці TOAST не можна, пропуÑкаєтьÑÑ" #: catalog/namespace.c:259 catalog/namespace.c:463 catalog/namespace.c:555 -#: commands/trigger.c:5812 +#: commands/trigger.c:5830 #, c-format msgid "cross-database references are not implemented: \"%s.%s.%s\"" msgstr "cross-database поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ðµ реалізовані: \"%s.%s.%s\"" @@ -4793,7 +4808,7 @@ msgstr "Ñловник текÑтового пошуку \"%s\" не Ñ–Ñнує" msgid "text search template \"%s\" does not exist" msgstr "шаблон текÑтового пошуку \"%s\" не Ñ–Ñнує" -#: catalog/namespace.c:2770 commands/tsearchcmds.c:1121 +#: catalog/namespace.c:2770 commands/tsearchcmds.c:1127 #: utils/cache/ts_cache.c:613 #, c-format msgid "text search configuration \"%s\" does not exist" @@ -4857,32 +4872,32 @@ msgid "cannot create temporary tables during a parallel operation" msgstr "не можна Ñтворити тимчаÑові таблиці під Ñ‡Ð°Ñ Ð¿Ð°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ð¾Ñ— операції" #: catalog/namespace.c:4338 commands/tablespace.c:1236 commands/variable.c:64 -#: utils/misc/guc.c:12058 utils/misc/guc.c:12160 +#: utils/misc/guc.c:12065 utils/misc/guc.c:12167 #, c-format msgid "List syntax is invalid." msgstr "Помилка ÑинтакÑиÑу у ÑпиÑку." #: catalog/objectaddress.c:1391 commands/policy.c:96 commands/policy.c:376 #: commands/tablecmds.c:247 commands/tablecmds.c:289 commands/tablecmds.c:2184 -#: commands/tablecmds.c:12335 +#: commands/tablecmds.c:12343 #, c-format msgid "\"%s\" is not a table" msgstr "\"%s\" не Ñ” таблицею" #: catalog/objectaddress.c:1398 commands/tablecmds.c:259 -#: commands/tablecmds.c:17169 commands/view.c:119 +#: commands/tablecmds.c:17177 commands/view.c:119 #, c-format msgid "\"%s\" is not a view" msgstr "\"%s\" не Ñ” поданнÑм" #: catalog/objectaddress.c:1405 commands/matview.c:186 commands/tablecmds.c:265 -#: commands/tablecmds.c:17174 +#: commands/tablecmds.c:17182 #, c-format msgid "\"%s\" is not a materialized view" msgstr "\"%s\" не Ñ” матеріалізованим поданнÑм" #: catalog/objectaddress.c:1412 commands/tablecmds.c:283 -#: commands/tablecmds.c:17179 +#: commands/tablecmds.c:17187 #, c-format msgid "\"%s\" is not a foreign table" msgstr "\"%s\" не Ñ” Ñторонньою таблицею" @@ -5645,7 +5660,7 @@ msgid "The partition is being detached concurrently or has an unfinished detach. msgstr "Розділ відключаєтьÑÑ Ð¾Ð´Ð½Ð¾Ñ‡Ð°Ñно або має незакінчене відключеннÑ." #: catalog/pg_inherits.c:596 commands/tablecmds.c:4488 -#: commands/tablecmds.c:15481 +#: commands/tablecmds.c:15489 #, c-format msgid "Use ALTER TABLE ... DETACH PARTITION ... FINALIZE to complete the pending detach operation." msgstr "ВикориÑтайте ALTER TABLE ... DETACH PARTITION ... FINALIZE щоб завершити очікувану операцію відключеннÑ." @@ -6334,7 +6349,7 @@ msgstr "не можна клаÑтеризувати тимчаÑові табл msgid "there is no previously clustered index for table \"%s\"" msgstr "немає попереднього клаÑтеризованого індекÑу Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– \"%s\"" -#: commands/cluster.c:190 commands/tablecmds.c:14179 commands/tablecmds.c:16060 +#: commands/cluster.c:190 commands/tablecmds.c:14187 commands/tablecmds.c:16068 #, c-format msgid "index \"%s\" for table \"%s\" does not exist" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ñ†Ñ– \"%s\" не Ñ–Ñнує" @@ -6349,7 +6364,7 @@ msgstr "не можна клаÑтеризувати Ñпільний катал msgid "cannot vacuum temporary tables of other sessions" msgstr "не можна очищати тимчаÑові таблиці з інших ÑеанÑів" -#: commands/cluster.c:511 commands/tablecmds.c:16070 +#: commands/cluster.c:511 commands/tablecmds.c:16078 #, c-format msgid "\"%s\" is not an index for table \"%s\"" msgstr "\"%s\" не Ñ” індекÑом Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– \"%s\"" @@ -6407,7 +6422,7 @@ msgid "collation attribute \"%s\" not recognized" msgstr "атрибут collation \"%s\" не розпізнаний" #: commands/collationcmds.c:119 commands/collationcmds.c:125 -#: commands/define.c:389 commands/tablecmds.c:7808 +#: commands/define.c:389 commands/tablecmds.c:7812 #: replication/pgoutput/pgoutput.c:311 replication/pgoutput/pgoutput.c:334 #: replication/pgoutput/pgoutput.c:348 replication/pgoutput/pgoutput.c:358 #: replication/pgoutput/pgoutput.c:368 replication/pgoutput/pgoutput.c:378 @@ -7510,7 +7525,7 @@ msgid "invalid argument for %s: \"%s\"" msgstr "невірний аргумент Ð´Ð»Ñ %s: \"%s\"" #: commands/dropcmds.c:100 commands/functioncmds.c:1394 -#: utils/adt/ruleutils.c:2928 +#: utils/adt/ruleutils.c:2926 #, c-format msgid "\"%s\" is an aggregate function" msgstr "\"%s\" Ñ” функцією агрегату" @@ -7522,7 +7537,7 @@ msgstr "ВикориÑтайте DROP AGGREGATE, щоб видалити агрР#: commands/dropcmds.c:158 commands/sequence.c:475 commands/tablecmds.c:3613 #: commands/tablecmds.c:3771 commands/tablecmds.c:3823 -#: commands/tablecmds.c:16487 tcop/utility.c:1332 +#: commands/tablecmds.c:16495 tcop/utility.c:1332 #, c-format msgid "relation \"%s\" does not exist, skipping" msgstr "Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ–Ñнує, пропуÑкаємо" @@ -8597,13 +8612,13 @@ msgstr "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" міÑтить Ñекції, Ñкі Ñ” Ð·Ð¾Ð²Ð½Ñ–Ñ msgid "functions in index predicate must be marked IMMUTABLE" msgstr "функції в предикаті індекÑу повинні бути позначені Ñк IMMUTABLE" -#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2529 -#: parser/parse_utilcmd.c:2664 +#: commands/indexcmds.c:1821 parser/parse_utilcmd.c:2538 +#: parser/parse_utilcmd.c:2673 #, c-format msgid "column \"%s\" named in key does not exist" msgstr "вказаний у ключі Ñтовпець \"%s\" не Ñ–Ñнує" -#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1826 +#: commands/indexcmds.c:1845 parser/parse_utilcmd.c:1835 #, c-format msgid "expressions are not supported in included columns" msgstr "вирази не підтримуютьÑÑ Ñƒ включених ÑтовпцÑÑ… " @@ -8638,8 +8653,8 @@ msgstr "включені Ñтовпці не підтримують параме msgid "could not determine which collation to use for index expression" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸, Ñке правило ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтати Ð´Ð»Ñ Ñ–Ð½Ð´ÐµÐºÑного виразу" -#: commands/indexcmds.c:1962 commands/tablecmds.c:17512 commands/typecmds.c:807 -#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3796 +#: commands/indexcmds.c:1962 commands/tablecmds.c:17520 commands/typecmds.c:807 +#: parser/parse_expr.c:2690 parser/parse_type.c:570 parser/parse_utilcmd.c:3805 #: utils/adt/misc.c:601 #, c-format msgid "collations are not supported by type %s" @@ -8675,8 +8690,8 @@ msgstr "метод доÑтупу \"%s\" не підтримує Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ msgid "access method \"%s\" does not support NULLS FIRST/LAST options" msgstr "метод доÑтупу \"%s\" не підтримує параметри NULLS FIRST/LAST" -#: commands/indexcmds.c:2144 commands/tablecmds.c:17537 -#: commands/tablecmds.c:17543 commands/typecmds.c:2302 +#: commands/indexcmds.c:2144 commands/tablecmds.c:17545 +#: commands/tablecmds.c:17551 commands/typecmds.c:2302 #, c-format msgid "data type %s has no default operator class for access method \"%s\"" msgstr "тип даних %s не має клаÑу операторів за замовчуваннÑм Ð´Ð»Ñ Ð¼ÐµÑ‚Ð¾Ð´Ñƒ доÑтупу \"%s\"" @@ -8968,7 +8983,7 @@ msgstr "функції equal image Ð´Ð»Ñ btree повинні приймати #: commands/opclasscmds.c:1319 #, c-format msgid "btree equal image functions must return boolean" -msgstr "функції equal image Ð´Ð»Ñ btree повинні повертати логічне значеннÑ" +msgstr "функції equal image Ð´Ð»Ñ btree повинні повертати логічне значеннÑ" #: commands/opclasscmds.c:1332 #, c-format @@ -9093,8 +9108,8 @@ msgstr "атрибут оператора \"%s\" неможливо змінит #: commands/policy.c:89 commands/policy.c:382 commands/statscmds.c:149 #: commands/tablecmds.c:1609 commands/tablecmds.c:2197 #: commands/tablecmds.c:3423 commands/tablecmds.c:6312 -#: commands/tablecmds.c:9144 commands/tablecmds.c:17090 -#: commands/tablecmds.c:17125 commands/trigger.c:328 commands/trigger.c:1378 +#: commands/tablecmds.c:9148 commands/tablecmds.c:17098 +#: commands/tablecmds.c:17133 commands/trigger.c:328 commands/trigger.c:1378 #: commands/trigger.c:1488 rewrite/rewriteDefine.c:278 #: rewrite/rewriteDefine.c:957 rewrite/rewriteRemove.c:80 #, c-format @@ -9147,7 +9162,7 @@ msgid "cannot create a cursor WITH HOLD within security-restricted operation" msgstr "не можна Ñтворити курÑÐ¾Ñ WITH HOLD в межах операції з обмеженнÑм по безпеці" #: commands/portalcmds.c:189 commands/portalcmds.c:242 -#: executor/execCurrent.c:70 utils/adt/xml.c:2593 utils/adt/xml.c:2763 +#: executor/execCurrent.c:70 utils/adt/xml.c:2603 utils/adt/xml.c:2773 #, c-format msgid "cursor \"%s\" does not exist" msgstr "курÑор \"%s\" не Ñ–Ñнує" @@ -9533,8 +9548,8 @@ msgstr "поÑлідовніÑÑ‚ÑŒ повинна бути в тій Ñамій msgid "cannot change ownership of identity sequence" msgstr "змінити влаÑника поÑлідовноÑÑ‚Ñ– ідентифікації не можна" -#: commands/sequence.c:1679 commands/tablecmds.c:13870 -#: commands/tablecmds.c:16507 +#: commands/sequence.c:1679 commands/tablecmds.c:13878 +#: commands/tablecmds.c:16515 #, c-format msgid "Sequence \"%s\" is linked to table \"%s\"." msgstr "ПоÑлідовніÑÑ‚ÑŒ \"%s\" зв'Ñзана з таблицею \"%s\"." @@ -9604,12 +9619,12 @@ msgstr "Ð´ÑƒÐ±Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ–Ð¼ÐµÐ½Ñ– ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ñƒ визначенні Ñ msgid "duplicate expression in statistics definition" msgstr "дублікат виразу у визначенні ÑтатиÑтики" -#: commands/statscmds.c:620 commands/tablecmds.c:8112 +#: commands/statscmds.c:620 commands/tablecmds.c:8116 #, c-format msgid "statistics target %d is too low" msgstr "мета ÑтатиÑтики занадто мала %d" -#: commands/statscmds.c:628 commands/tablecmds.c:8120 +#: commands/statscmds.c:628 commands/tablecmds.c:8124 #, c-format msgid "lowering statistics target to %d" msgstr "мета ÑтатиÑтики знижуєтьÑÑ Ð´Ð¾ %d" @@ -9729,7 +9744,7 @@ msgstr "ALTER SUBSCRIPTION ... REFRESH Ð´Ð»Ñ Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ… Ð¿Ñ–Ð´Ð¿Ð¸Ñ #: commands/subscriptioncmds.c:1243 #, c-format msgid "ALTER SUBSCRIPTION ... REFRESH with copy_data is not allowed when two_phase is enabled" -msgstr "ALTER SUBSCRIPTION ... REFRESH з параметром copy_data не допуÑкаєтьÑÑ, коли two_phase ввімкнено" +msgstr "ALTER SUBSCRIPTION ... REFRESH з параметром copy_data не допуÑкаєтьÑÑ, коли two_phase ввімкнено" #: commands/subscriptioncmds.c:1244 #, c-format @@ -9869,8 +9884,8 @@ msgstr "матеріалізоване Ð¿Ð¾Ð´Ð°Ð½Ð½Ñ \"%s\" не Ñ–Ñнує, п msgid "Use DROP MATERIALIZED VIEW to remove a materialized view." msgstr "ВикориÑтайте DROP MATERIALIZED VIEW, щоб видалити матеріалізоване поданнÑ." -#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19019 -#: parser/parse_utilcmd.c:2261 +#: commands/tablecmds.c:269 commands/tablecmds.c:293 commands/tablecmds.c:19027 +#: parser/parse_utilcmd.c:2270 #, c-format msgid "index \"%s\" does not exist" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" не Ñ–Ñнує" @@ -9893,8 +9908,8 @@ msgstr "\"%s\" не Ñ” типом" msgid "Use DROP TYPE to remove a type." msgstr "ВикориÑтайте DROP TYPE, щоб видалити тип." -#: commands/tablecmds.c:281 commands/tablecmds.c:13709 -#: commands/tablecmds.c:16210 +#: commands/tablecmds.c:281 commands/tablecmds.c:13717 +#: commands/tablecmds.c:16218 #, c-format msgid "foreign table \"%s\" does not exist" msgstr "Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" не Ñ–Ñнує" @@ -9918,7 +9933,7 @@ msgstr "ON COMMIT можна викориÑтовувати лише Ð´Ð»Ñ Ñ‚Ð¸ msgid "cannot create temporary table within security-restricted operation" msgstr "неможливо Ñтворити тимчаÑову таблицю в межах операції з обмеженнÑм безпеки" -#: commands/tablecmds.c:764 commands/tablecmds.c:15017 +#: commands/tablecmds.c:764 commands/tablecmds.c:15025 #, c-format msgid "relation \"%s\" would be inherited from more than once" msgstr "Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" буде уÑпадковуватиÑÑŒ більш ніж один раз" @@ -9988,7 +10003,7 @@ msgstr "Ñкоротити зовнішню таблицю \"%s\" не можнРmsgid "cannot truncate temporary tables of other sessions" msgstr "тимчаÑові таблиці інших ÑеанÑів не можна Ñкоротити" -#: commands/tablecmds.c:2462 commands/tablecmds.c:14914 +#: commands/tablecmds.c:2462 commands/tablecmds.c:14922 #, c-format msgid "cannot inherit from partitioned table \"%s\"" msgstr "уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ Ñекціонованої таблиці \"%s\" не допуÑкаєтьÑÑ" @@ -9998,8 +10013,8 @@ msgstr "уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ Ñекціонованої Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ msgid "cannot inherit from partition \"%s\"" msgstr "уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ розділу \"%s\" не допуÑкаєтьÑÑ" -#: commands/tablecmds.c:2475 parser/parse_utilcmd.c:2491 -#: parser/parse_utilcmd.c:2633 +#: commands/tablecmds.c:2475 parser/parse_utilcmd.c:2500 +#: parser/parse_utilcmd.c:2642 #, c-format msgid "inherited relation \"%s\" is not a table or foreign table" msgstr "уÑпадковане Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” таблицею або Ñторонньою таблицею" @@ -10009,12 +10024,12 @@ msgstr "уÑпадковане Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” таблицРmsgid "cannot create a temporary relation as partition of permanent relation \"%s\"" msgstr "Ñтворити тимчаÑове Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñк Ñекцію поÑтійного відношеннÑ\"%s\" не можна" -#: commands/tablecmds.c:2496 commands/tablecmds.c:14893 +#: commands/tablecmds.c:2496 commands/tablecmds.c:14901 #, c-format msgid "cannot inherit from temporary relation \"%s\"" msgstr "тимчаÑове Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не може уÑпадковуватиÑÑŒ" -#: commands/tablecmds.c:2506 commands/tablecmds.c:14901 +#: commands/tablecmds.c:2506 commands/tablecmds.c:14909 #, c-format msgid "cannot inherit from temporary relation of another session" msgstr "уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ тимчаÑового Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñ–Ð½ÑˆÐ¾Ð³Ð¾ ÑеанÑу неможливе" @@ -10069,19 +10084,19 @@ msgid "inherited column \"%s\" has a generation conflict" msgstr "конфлікт Ð³ÐµÐ½ÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð² уÑпадкованому Ñтовпці \"%s\"" #: commands/tablecmds.c:2717 commands/tablecmds.c:2772 -#: commands/tablecmds.c:12433 parser/parse_utilcmd.c:1302 -#: parser/parse_utilcmd.c:1345 parser/parse_utilcmd.c:1754 -#: parser/parse_utilcmd.c:1862 +#: commands/tablecmds.c:12441 parser/parse_utilcmd.c:1311 +#: parser/parse_utilcmd.c:1354 parser/parse_utilcmd.c:1763 +#: parser/parse_utilcmd.c:1871 #, c-format msgid "cannot convert whole-row table reference" msgstr "перетворити поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° тип уÑього Ñ€Ñдка таблиці не можна" -#: commands/tablecmds.c:2718 parser/parse_utilcmd.c:1303 +#: commands/tablecmds.c:2718 parser/parse_utilcmd.c:1312 #, c-format msgid "Generation expression for column \"%s\" contains a whole-row reference to table \"%s\"." msgstr "Вираз генерації Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" міÑтить поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° веÑÑŒ Ñ€Ñдок на таблицю \"%s\"." -#: commands/tablecmds.c:2773 parser/parse_utilcmd.c:1346 +#: commands/tablecmds.c:2773 parser/parse_utilcmd.c:1355 #, c-format msgid "Constraint \"%s\" contains a whole-row reference to table \"%s\"." msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" поÑилаєтьÑÑ Ð½Ð° тип уÑього Ñ€Ñдка в таблиці \"%s\"." @@ -10309,12 +10324,12 @@ msgstr "неможливо додати Ñтовпець до типізован msgid "cannot add column to a partition" msgstr "неможливо додати Ñтовпець до розділу" -#: commands/tablecmds.c:6784 commands/tablecmds.c:15144 +#: commands/tablecmds.c:6784 commands/tablecmds.c:15152 #, c-format msgid "child table \"%s\" has different type for column \"%s\"" msgstr "Ð´Ð¾Ñ‡Ñ–Ñ€Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" має інший тип Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\"" -#: commands/tablecmds.c:6790 commands/tablecmds.c:15151 +#: commands/tablecmds.c:6790 commands/tablecmds.c:15159 #, c-format msgid "child table \"%s\" has different collation for column \"%s\"" msgstr "Ð´Ð¾Ñ‡Ñ–Ñ€Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" має інше правило ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\"" @@ -10324,937 +10339,937 @@ msgstr "Ð´Ð¾Ñ‡Ñ–Ñ€Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" має інше правило Ñо msgid "merging definition of column \"%s\" for child \"%s\"" msgstr "об'Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" Ð´Ð»Ñ Ð½Ð°Ñ‰Ð°Ð´ÐºÐ° \"%s\"" -#: commands/tablecmds.c:6847 +#: commands/tablecmds.c:6851 #, c-format msgid "cannot recursively add identity column to table that has child tables" msgstr "неможливо додати Ñтовпець ідентифікації в таблицю, Ñка має дочірні таблиці" -#: commands/tablecmds.c:7091 +#: commands/tablecmds.c:7095 #, c-format msgid "column must be added to child tables too" msgstr "Ñтовпець також повинен бути доданий до дочірніх таблиць" -#: commands/tablecmds.c:7169 +#: commands/tablecmds.c:7173 #, c-format msgid "column \"%s\" of relation \"%s\" already exists, skipping" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" вже Ñ–Ñнує, пропуÑкаєтьÑÑ" -#: commands/tablecmds.c:7176 +#: commands/tablecmds.c:7180 #, c-format msgid "column \"%s\" of relation \"%s\" already exists" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" вже Ñ–Ñнує" -#: commands/tablecmds.c:7242 commands/tablecmds.c:12072 +#: commands/tablecmds.c:7246 commands/tablecmds.c:12080 #, c-format msgid "cannot remove constraint from only the partitioned table when partitions exist" msgstr "неможливо видалити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ñ‚Ñ–Ð»ÑŒÐºÐ¸ з Ñекціонованої таблиці, коли Ñ–Ñнують Ñекції" -#: commands/tablecmds.c:7243 commands/tablecmds.c:7560 -#: commands/tablecmds.c:8557 commands/tablecmds.c:12073 +#: commands/tablecmds.c:7247 commands/tablecmds.c:7564 +#: commands/tablecmds.c:8561 commands/tablecmds.c:12081 #, c-format msgid "Do not specify the ONLY keyword." msgstr "Ðе вказуйте ключове Ñлово ONLY." -#: commands/tablecmds.c:7280 commands/tablecmds.c:7486 -#: commands/tablecmds.c:7628 commands/tablecmds.c:7742 -#: commands/tablecmds.c:7836 commands/tablecmds.c:7895 -#: commands/tablecmds.c:8014 commands/tablecmds.c:8153 -#: commands/tablecmds.c:8223 commands/tablecmds.c:8379 -#: commands/tablecmds.c:12227 commands/tablecmds.c:13732 -#: commands/tablecmds.c:16301 +#: commands/tablecmds.c:7284 commands/tablecmds.c:7490 +#: commands/tablecmds.c:7632 commands/tablecmds.c:7746 +#: commands/tablecmds.c:7840 commands/tablecmds.c:7899 +#: commands/tablecmds.c:8018 commands/tablecmds.c:8157 +#: commands/tablecmds.c:8227 commands/tablecmds.c:8383 +#: commands/tablecmds.c:12235 commands/tablecmds.c:13740 +#: commands/tablecmds.c:16309 #, c-format msgid "cannot alter system column \"%s\"" msgstr "не можна змінити ÑиÑтемний Ñтовпець \"%s\"" -#: commands/tablecmds.c:7286 commands/tablecmds.c:7634 +#: commands/tablecmds.c:7290 commands/tablecmds.c:7638 #, c-format msgid "column \"%s\" of relation \"%s\" is an identity column" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" Ñ” Ñтовпцем ідентифікації" -#: commands/tablecmds.c:7329 +#: commands/tablecmds.c:7333 #, c-format msgid "column \"%s\" is in a primary key" msgstr "Ñтовпець \"%s\" входить до первинного ключа" -#: commands/tablecmds.c:7334 +#: commands/tablecmds.c:7338 #, c-format msgid "column \"%s\" is in index used as replica identity" msgstr "Ñтовпець \"%s\" в індекÑÑ–, що викориÑтовуєтьÑÑ Ñк Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ Ñ€ÐµÐ¿Ð»Ñ–ÐºÐ¸" -#: commands/tablecmds.c:7357 +#: commands/tablecmds.c:7361 #, c-format msgid "column \"%s\" is marked NOT NULL in parent table" msgstr "Ñтовпець \"%s\" в батьківÑькій таблиці позначений Ñк NOT NULL" -#: commands/tablecmds.c:7557 commands/tablecmds.c:9040 +#: commands/tablecmds.c:7561 commands/tablecmds.c:9044 #, c-format msgid "constraint must be added to child tables too" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ бути додано у дочірні таблиці також" -#: commands/tablecmds.c:7558 +#: commands/tablecmds.c:7562 #, c-format msgid "Column \"%s\" of relation \"%s\" is not already NOT NULL." msgstr "Стовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" вже не NOT NULL." -#: commands/tablecmds.c:7636 +#: commands/tablecmds.c:7640 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY instead." msgstr "ЗаміÑÑ‚ÑŒ цього викориÑтайте ALTER TABLE ... ALTER COLUMN ... DROP IDENTITY." -#: commands/tablecmds.c:7641 +#: commands/tablecmds.c:7645 #, c-format msgid "column \"%s\" of relation \"%s\" is a generated column" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" Ñ” згенерованим Ñтовпцем" -#: commands/tablecmds.c:7644 +#: commands/tablecmds.c:7648 #, c-format msgid "Use ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION instead." -msgstr "ЗаміÑÑ‚ÑŒ цього викориÑтайте ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION" +msgstr "ЗаміÑÑ‚ÑŒ цього викориÑтайте ALTER TABLE ... ALTER COLUMN ... DROP EXPRESSION." -#: commands/tablecmds.c:7753 +#: commands/tablecmds.c:7757 #, c-format msgid "column \"%s\" of relation \"%s\" must be declared NOT NULL before identity can be added" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" повинен бути оголошений Ñк NOT NULL, щоб додати ідентифікацію" -#: commands/tablecmds.c:7759 +#: commands/tablecmds.c:7763 #, c-format msgid "column \"%s\" of relation \"%s\" is already an identity column" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" вже Ñ” Ñтовпцем ідентифікації" -#: commands/tablecmds.c:7765 +#: commands/tablecmds.c:7769 #, c-format msgid "column \"%s\" of relation \"%s\" already has a default value" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" вже має Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° замовчуваннÑм" -#: commands/tablecmds.c:7842 commands/tablecmds.c:7903 +#: commands/tablecmds.c:7846 commands/tablecmds.c:7907 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” Ñтовпцем ідентифікації" -#: commands/tablecmds.c:7908 +#: commands/tablecmds.c:7912 #, c-format msgid "column \"%s\" of relation \"%s\" is not an identity column, skipping" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” Ñтовпцем ідентифікації, пропуÑкаєтьÑÑ" -#: commands/tablecmds.c:7961 +#: commands/tablecmds.c:7965 #, c-format msgid "ALTER TABLE / DROP EXPRESSION must be applied to child tables too" msgstr "ALTER TABLE / DROP EXPRESSION повинен бути заÑтоÑований Ñ– до дочірніх таблиць" -#: commands/tablecmds.c:7983 +#: commands/tablecmds.c:7987 #, c-format msgid "cannot drop generation expression from inherited column" msgstr "не можна видалити вираз генерації з уÑпадкованого ÑтовпцÑ" -#: commands/tablecmds.c:8022 +#: commands/tablecmds.c:8026 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” збереженим згенерованим Ñтовпцем" -#: commands/tablecmds.c:8027 +#: commands/tablecmds.c:8031 #, c-format msgid "column \"%s\" of relation \"%s\" is not a stored generated column, skipping" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” збереженим згенерованим Ñтовпцем, пропуÑкаєтьÑÑ" -#: commands/tablecmds.c:8100 +#: commands/tablecmds.c:8104 #, c-format msgid "cannot refer to non-index column by number" msgstr "не можна поÑилатиÑÑŒ на неіндекÑований Ñтовпець за номером" -#: commands/tablecmds.c:8143 +#: commands/tablecmds.c:8147 #, c-format msgid "column number %d of relation \"%s\" does not exist" msgstr "Ñтовпець з номером %d Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ %s не Ñ–Ñнує" -#: commands/tablecmds.c:8162 +#: commands/tablecmds.c:8166 #, c-format msgid "cannot alter statistics on included column \"%s\" of index \"%s\"" msgstr "змінити ÑтатиÑтику включеного ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" індекÑу \"%s\" не можна" -#: commands/tablecmds.c:8167 +#: commands/tablecmds.c:8171 #, c-format msgid "cannot alter statistics on non-expression column \"%s\" of index \"%s\"" msgstr "змінити ÑтатиÑтику невираженого ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" індекÑу \"%s\" не можна" -#: commands/tablecmds.c:8169 +#: commands/tablecmds.c:8173 #, c-format msgid "Alter statistics on table column instead." msgstr "ЗаміÑÑ‚ÑŒ цього змініть ÑтатиÑтику ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ð² таблиці." -#: commands/tablecmds.c:8359 +#: commands/tablecmds.c:8363 #, c-format msgid "invalid storage type \"%s\"" msgstr "неприпуÑтимий тип Ñховища \"%s\"" -#: commands/tablecmds.c:8391 +#: commands/tablecmds.c:8395 #, c-format msgid "column data type %s can only have storage PLAIN" msgstr "тип даних ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ %s може мати тільки Ñховище PLAIN" -#: commands/tablecmds.c:8436 +#: commands/tablecmds.c:8440 #, c-format msgid "cannot drop column from typed table" msgstr "не можна видалити Ñтовпець з типізованої таблиці" -#: commands/tablecmds.c:8495 +#: commands/tablecmds.c:8499 #, c-format msgid "column \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ–Ñнує, пропуÑкаєтьÑÑ" -#: commands/tablecmds.c:8508 +#: commands/tablecmds.c:8512 #, c-format msgid "cannot drop system column \"%s\"" msgstr "не можна видалити ÑиÑтемний Ñтовпець \"%s\"" -#: commands/tablecmds.c:8518 +#: commands/tablecmds.c:8522 #, c-format msgid "cannot drop inherited column \"%s\"" msgstr "не можна видалити уÑпадкований Ñтовпець \"%s\"" -#: commands/tablecmds.c:8531 +#: commands/tablecmds.c:8535 #, c-format msgid "cannot drop column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "не можна видалити Ñтовпець \"%s\", тому що він Ñ” чаÑтиною ключа Ñекції Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:8556 +#: commands/tablecmds.c:8560 #, c-format msgid "cannot drop column from only the partitioned table when partitions exist" msgstr "видалити Ñтовпець тільки з Ñекціонованої таблиці, коли Ñ–Ñнують Ñекції, не можна" -#: commands/tablecmds.c:8760 +#: commands/tablecmds.c:8764 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX is not supported on partitioned tables" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX не підтримуєтьÑÑ Ñ–Ð· Ñекціонованими таблицÑми" -#: commands/tablecmds.c:8785 +#: commands/tablecmds.c:8789 #, c-format msgid "ALTER TABLE / ADD CONSTRAINT USING INDEX will rename index \"%s\" to \"%s\"" msgstr "ALTER TABLE / ADD CONSTRAINT USING INDEX перейменує Ñ–Ð½Ð´ÐµÐºÑ \"%s\" в \"%s\"" -#: commands/tablecmds.c:9122 +#: commands/tablecmds.c:9126 #, c-format msgid "cannot use ONLY for foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "не можна викориÑтати ONLY Ð´Ð»Ñ Ñтороннього ключа в Ñекціонованій таблиці \"%s\", Ñкий поÑилаєтьÑÑ Ð½Ð° Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:9128 +#: commands/tablecmds.c:9132 #, c-format msgid "cannot add NOT VALID foreign key on partitioned table \"%s\" referencing relation \"%s\"" msgstr "не можна додати Ñторонній ключ з характериÑтикою NOT VALID в Ñекціоновану таблицю \"%s\", Ñкий поÑилаєтьÑÑ Ð½Ð° Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:9131 +#: commands/tablecmds.c:9135 #, c-format msgid "This feature is not yet supported on partitioned tables." msgstr "Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ Ñ‰Ðµ не підтримуєтьÑÑ Ð· Ñекціонованими таблицÑми." -#: commands/tablecmds.c:9138 commands/tablecmds.c:9604 +#: commands/tablecmds.c:9142 commands/tablecmds.c:9608 #, c-format msgid "referenced relation \"%s\" is not a table" msgstr "вказане Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” таблицею" -#: commands/tablecmds.c:9161 +#: commands/tablecmds.c:9165 #, c-format msgid "constraints on permanent tables may reference only permanent tables" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð² поÑтійних таблицÑÑ… можуть поÑилатиÑÑŒ лише на поÑтійні таблиці" -#: commands/tablecmds.c:9168 +#: commands/tablecmds.c:9172 #, c-format msgid "constraints on unlogged tables may reference only permanent or unlogged tables" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð² нежурнальованих таблицÑÑ… можуть поÑилатиÑÑŒ тільки на поÑтійні або нежурналюємі таблиці" -#: commands/tablecmds.c:9174 +#: commands/tablecmds.c:9178 #, c-format msgid "constraints on temporary tables may reference only temporary tables" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð² тимчаÑових таблицÑÑ… можуть поÑилатиÑÑŒ лише на тимчаÑові таблиці" -#: commands/tablecmds.c:9178 +#: commands/tablecmds.c:9182 #, c-format msgid "constraints on temporary tables must involve temporary tables of this session" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð² тимчаÑових таблицÑÑ… повинні поÑилатиÑÑŒ лише на тичаÑові таблиці поточного ÑеанÑу" -#: commands/tablecmds.c:9252 commands/tablecmds.c:9258 +#: commands/tablecmds.c:9256 commands/tablecmds.c:9262 #, c-format msgid "invalid %s action for foreign key constraint containing generated column" msgstr "неприпуÑтима Ð´Ñ–Ñ %s Ð´Ð»Ñ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ ключа, Ñкий міÑтить згеренований Ñтовпець" -#: commands/tablecmds.c:9274 +#: commands/tablecmds.c:9278 #, c-format msgid "number of referencing and referenced columns for foreign key disagree" msgstr "чиÑло Ñтовпців в джерелі Ñ– призначенні зовнішнього ключа не збігаєтьÑÑ" -#: commands/tablecmds.c:9381 +#: commands/tablecmds.c:9385 #, c-format msgid "foreign key constraint \"%s\" cannot be implemented" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ ключа \"%s\" не можна реалізувати" -#: commands/tablecmds.c:9383 +#: commands/tablecmds.c:9387 #, c-format msgid "Key columns \"%s\" and \"%s\" are of incompatible types: %s and %s." msgstr "Стовпці ключа \"%s\" Ñ– \"%s\" міÑÑ‚ÑÑ‚ÑŒ неÑуміÑні типи: %s Ñ– %s." -#: commands/tablecmds.c:9540 +#: commands/tablecmds.c:9544 #, c-format msgid "column \"%s\" referenced in ON DELETE SET action must be part of foreign key" msgstr "Ñтовпець \"%s\" вказаний у дії ON DELETE SET повинен бути чаÑтиною зовнішнього ключа" -#: commands/tablecmds.c:9813 commands/tablecmds.c:10281 -#: parser/parse_utilcmd.c:796 parser/parse_utilcmd.c:925 +#: commands/tablecmds.c:9817 commands/tablecmds.c:10285 +#: parser/parse_utilcmd.c:805 parser/parse_utilcmd.c:934 #, c-format msgid "foreign key constraints are not supported on foreign tables" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ ключа Ð´Ð»Ñ Ñторонніх таблиць не підтримуютьÑÑ" -#: commands/tablecmds.c:10833 commands/tablecmds.c:11111 -#: commands/tablecmds.c:12029 commands/tablecmds.c:12104 +#: commands/tablecmds.c:10837 commands/tablecmds.c:11115 +#: commands/tablecmds.c:12037 commands/tablecmds.c:12112 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ–Ñнує" -#: commands/tablecmds.c:10840 +#: commands/tablecmds.c:10844 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key constraint" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” обмеженнÑм зовнішнього ключа" -#: commands/tablecmds.c:10878 +#: commands/tablecmds.c:10882 #, c-format msgid "cannot alter constraint \"%s\" on relation \"%s\"" msgstr "не можна змінити Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:10881 +#: commands/tablecmds.c:10885 #, c-format msgid "Constraint \"%s\" is derived from constraint \"%s\" of relation \"%s\"." msgstr "ÐžÐ±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" походить з Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"." -#: commands/tablecmds.c:10883 +#: commands/tablecmds.c:10887 #, c-format msgid "You may alter the constraint it derives from, instead." msgstr "ÐатоміÑÑ‚ÑŒ ви можете змінити початкове обмеженнÑ." -#: commands/tablecmds.c:11119 +#: commands/tablecmds.c:11123 #, c-format msgid "constraint \"%s\" of relation \"%s\" is not a foreign key or check constraint" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” зовнішнім ключем або перевіркою обмеженнÑм " -#: commands/tablecmds.c:11197 +#: commands/tablecmds.c:11201 #, c-format msgid "constraint must be validated on child tables too" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ð¾ дотримуватиÑÑ Ð² дочірніх таблицÑÑ… також" -#: commands/tablecmds.c:11287 +#: commands/tablecmds.c:11291 #, c-format msgid "column \"%s\" referenced in foreign key constraint does not exist" msgstr "Ñтовпець \"%s\", вказаний в обмеженні зовнішнього ключа, не Ñ–Ñнує" -#: commands/tablecmds.c:11293 +#: commands/tablecmds.c:11297 #, c-format msgid "system columns cannot be used in foreign keys" msgstr "в зовнішніх ключах не можна викориÑтовувати ÑиÑтемні Ñтовпці" -#: commands/tablecmds.c:11297 +#: commands/tablecmds.c:11301 #, c-format msgid "cannot have more than %d keys in a foreign key" msgstr "у зовнішньому ключі не може бути більш ніж %d ключів" -#: commands/tablecmds.c:11363 +#: commands/tablecmds.c:11367 #, c-format msgid "cannot use a deferrable primary key for referenced table \"%s\"" msgstr "викориÑтовувати затримуваний первинний ключ в цільовій зовнішній таблиці \"%s\" не можна" -#: commands/tablecmds.c:11380 +#: commands/tablecmds.c:11384 #, c-format msgid "there is no primary key for referenced table \"%s\"" msgstr "у цільовій зовнішній таблиці \"%s\" немає первинного ключа" -#: commands/tablecmds.c:11445 +#: commands/tablecmds.c:11453 #, c-format msgid "foreign key referenced-columns list must not contain duplicates" msgstr "у ÑпиÑку Ñтовпців зовнішнього ключа не повинно бути повторень" -#: commands/tablecmds.c:11539 +#: commands/tablecmds.c:11547 #, c-format msgid "cannot use a deferrable unique constraint for referenced table \"%s\"" msgstr "викориÑтовувати затримане Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑƒÐ½Ñ–ÐºÐ°Ð»ÑŒÐ½Ð¾ÑÑ‚Ñ– в цільовій зовнішній таблиці \"%s\" не можна" -#: commands/tablecmds.c:11544 +#: commands/tablecmds.c:11552 #, c-format msgid "there is no unique constraint matching given keys for referenced table \"%s\"" msgstr "у цільовій зовнішній таблиці \"%s\" немає Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑƒÐ½Ñ–ÐºÐ°Ð»ÑŒÐ½Ð¾ÑÑ‚Ñ–, відповідного даним ключам" -#: commands/tablecmds.c:11985 +#: commands/tablecmds.c:11993 #, c-format msgid "cannot drop inherited constraint \"%s\" of relation \"%s\"" msgstr "видалити уÑпадковане Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не можна" -#: commands/tablecmds.c:12035 +#: commands/tablecmds.c:12043 #, c-format msgid "constraint \"%s\" of relation \"%s\" does not exist, skipping" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ–Ñнує, пропуÑкаєтьÑÑ" -#: commands/tablecmds.c:12211 +#: commands/tablecmds.c:12219 #, c-format msgid "cannot alter column type of typed table" msgstr "змінити тип ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ð² типізованій таблиці не можна" -#: commands/tablecmds.c:12238 +#: commands/tablecmds.c:12246 #, c-format msgid "cannot alter inherited column \"%s\"" msgstr "змінити уÑпадкований Ñтовпець \"%s\" не можна" -#: commands/tablecmds.c:12247 +#: commands/tablecmds.c:12255 #, c-format msgid "cannot alter column \"%s\" because it is part of the partition key of relation \"%s\"" msgstr "не можна змінити Ñтовпець \"%s\", тому що він Ñ” чаÑтиною ключа Ñекції Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:12297 +#: commands/tablecmds.c:12305 #, c-format msgid "result of USING clause for column \"%s\" cannot be cast automatically to type %s" msgstr "результати Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ USING Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" не можна автоматично наведено Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ %s" -#: commands/tablecmds.c:12300 +#: commands/tablecmds.c:12308 #, c-format msgid "You might need to add an explicit cast." msgstr "Можливо, необхідно додати Ñвне Ð¿Ñ€Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ." -#: commands/tablecmds.c:12304 +#: commands/tablecmds.c:12312 #, c-format msgid "column \"%s\" cannot be cast automatically to type %s" msgstr "Ñтовпець \"%s\" не можна автоматично привеÑти до типу %s" #. translator: USING is SQL, don't translate it -#: commands/tablecmds.c:12307 +#: commands/tablecmds.c:12315 #, c-format msgid "You might need to specify \"USING %s::%s\"." msgstr "Можливо, необхідно вказати \"USING %s::%s\"." -#: commands/tablecmds.c:12406 +#: commands/tablecmds.c:12414 #, c-format msgid "cannot alter inherited column \"%s\" of relation \"%s\"" msgstr "не можна змінити уÑпадкований Ñтовпець \"%s\" Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:12434 +#: commands/tablecmds.c:12442 #, c-format msgid "USING expression contains a whole-row table reference." msgstr "Вираз USING міÑтить поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° тип уÑього Ñ€Ñдка таблиці." -#: commands/tablecmds.c:12445 +#: commands/tablecmds.c:12453 #, c-format msgid "type of inherited column \"%s\" must be changed in child tables too" msgstr "тип уÑпадкованого ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" повинен бути змінений Ñ– в дочірніх таблицÑÑ…" -#: commands/tablecmds.c:12570 +#: commands/tablecmds.c:12578 #, c-format msgid "cannot alter type of column \"%s\" twice" msgstr "не можна змінити тип ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" двічі" -#: commands/tablecmds.c:12608 +#: commands/tablecmds.c:12616 #, c-format msgid "generation expression for column \"%s\" cannot be cast automatically to type %s" msgstr "вираз генерації Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" не можна автоматично привеÑти до типу %s" -#: commands/tablecmds.c:12613 +#: commands/tablecmds.c:12621 #, c-format msgid "default for column \"%s\" cannot be cast automatically to type %s" msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° замовчуваннÑм Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" не можна автоматично привеÑти до типу %s" -#: commands/tablecmds.c:12694 +#: commands/tablecmds.c:12702 #, c-format msgid "cannot alter type of a column used by a view or rule" msgstr "змінити тип ÑтовпцÑ, залученого в поданні або правилі, не можна" -#: commands/tablecmds.c:12695 commands/tablecmds.c:12714 -#: commands/tablecmds.c:12732 +#: commands/tablecmds.c:12703 commands/tablecmds.c:12722 +#: commands/tablecmds.c:12740 #, c-format msgid "%s depends on column \"%s\"" msgstr "%s залежить від ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\"" -#: commands/tablecmds.c:12713 +#: commands/tablecmds.c:12721 #, c-format msgid "cannot alter type of a column used in a trigger definition" msgstr "неможливо змінити тип ÑтовпцÑ, що викориÑтовуєтьÑÑ Ñƒ визначенні тригеру" -#: commands/tablecmds.c:12731 +#: commands/tablecmds.c:12739 #, c-format msgid "cannot alter type of a column used in a policy definition" msgstr "неможливо змінити тип ÑтовпцÑ, що викориÑтовуєтьÑÑ Ñƒ визначенні політики" -#: commands/tablecmds.c:12762 +#: commands/tablecmds.c:12770 #, c-format msgid "cannot alter type of a column used by a generated column" msgstr "змінити тип ÑтовпцÑ, Ñкий викориÑтовуєтьÑÑ Ð·Ð³ÐµÐ½ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ð¼ Ñтовпцем, не можна" -#: commands/tablecmds.c:12763 +#: commands/tablecmds.c:12771 #, c-format msgid "Column \"%s\" is used by generated column \"%s\"." msgstr "Стовпець \"%s\" викориÑтовуєтьÑÑ Ð·Ð³ÐµÐ½ÐµÑ€Ð¾Ð²Ð°Ð½Ð¸Ð¼ Ñтовпцем \"%s\"." -#: commands/tablecmds.c:13840 commands/tablecmds.c:13852 +#: commands/tablecmds.c:13848 commands/tablecmds.c:13860 #, c-format msgid "cannot change owner of index \"%s\"" msgstr "неможливо змінити влаÑника індекÑу \"%s\"" -#: commands/tablecmds.c:13842 commands/tablecmds.c:13854 +#: commands/tablecmds.c:13850 commands/tablecmds.c:13862 #, c-format msgid "Change the ownership of the index's table, instead." msgstr "ЗаміÑÑ‚ÑŒ цього змініть влаÑника таблиці, що міÑтить цей індекÑ." -#: commands/tablecmds.c:13868 +#: commands/tablecmds.c:13876 #, c-format msgid "cannot change owner of sequence \"%s\"" msgstr "неможливо змінити влаÑника поÑлідовноÑÑ‚Ñ– \"%s\"" -#: commands/tablecmds.c:13882 commands/tablecmds.c:17201 -#: commands/tablecmds.c:17220 +#: commands/tablecmds.c:13890 commands/tablecmds.c:17209 +#: commands/tablecmds.c:17228 #, c-format msgid "Use ALTER TYPE instead." msgstr "ЗаміÑÑ‚ÑŒ цього викориÑтайте ALTER TYPE." -#: commands/tablecmds.c:13891 +#: commands/tablecmds.c:13899 #, c-format msgid "cannot change owner of relation \"%s\"" msgstr "неможливо змінити влаÑника Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:14253 +#: commands/tablecmds.c:14261 #, c-format msgid "cannot have multiple SET TABLESPACE subcommands" msgstr "в одній інÑтрукції не може бути декілька підкоманд SET TABLESPACE" -#: commands/tablecmds.c:14330 +#: commands/tablecmds.c:14338 #, c-format msgid "cannot set options for relation \"%s\"" msgstr "неможливо вÑтановити параметри Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:14364 commands/view.c:521 +#: commands/tablecmds.c:14372 commands/view.c:521 #, c-format msgid "WITH CHECK OPTION is supported only on automatically updatable views" msgstr "WITH CHECK OPTION підтримуєтьÑÑ Ð»Ð¸ÑˆÐµ з автооновлюваними поданнÑми" -#: commands/tablecmds.c:14614 +#: commands/tablecmds.c:14622 #, c-format msgid "only tables, indexes, and materialized views exist in tablespaces" msgstr "у табличних проÑторах Ñ–Ñнують лише таблиці, індекÑи та матеріалізовані поданнÑ" -#: commands/tablecmds.c:14626 +#: commands/tablecmds.c:14634 #, c-format msgid "cannot move relations in to or out of pg_global tablespace" msgstr "переміщувати Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñƒ або з табличного проÑтору pg_global не можна" -#: commands/tablecmds.c:14718 +#: commands/tablecmds.c:14726 #, c-format msgid "aborting because lock on relation \"%s.%s\" is not available" msgstr "Ð¿ÐµÑ€ÐµÑ€Ð¸Ð²Ð°Ð½Ð½Ñ Ñ‡ÐµÑ€ÐµÐ· Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s.%s\" неможливе" -#: commands/tablecmds.c:14734 +#: commands/tablecmds.c:14742 #, c-format msgid "no matching relations in tablespace \"%s\" found" msgstr " табличному проÑторі \"%s\" не знайдені відповідні відноÑини" -#: commands/tablecmds.c:14852 +#: commands/tablecmds.c:14860 #, c-format msgid "cannot change inheritance of typed table" msgstr "змінити уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚Ð¸Ð¿Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¾Ñ— таблиці не можна" -#: commands/tablecmds.c:14857 commands/tablecmds.c:15413 +#: commands/tablecmds.c:14865 commands/tablecmds.c:15421 #, c-format msgid "cannot change inheritance of a partition" msgstr "змінити уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñекції не можна" -#: commands/tablecmds.c:14862 +#: commands/tablecmds.c:14870 #, c-format msgid "cannot change inheritance of partitioned table" msgstr "змінити уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñекціонованої таблиці не можна" -#: commands/tablecmds.c:14908 +#: commands/tablecmds.c:14916 #, c-format msgid "cannot inherit to temporary relation of another session" msgstr "уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¼Ñ‡Ð°Ñового Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ñ–Ð½ÑˆÐ¾Ð³Ð¾ ÑеанÑу не можливе" -#: commands/tablecmds.c:14921 +#: commands/tablecmds.c:14929 #, c-format msgid "cannot inherit from a partition" msgstr "уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´ Ñекції неможливе" -#: commands/tablecmds.c:14943 commands/tablecmds.c:17856 +#: commands/tablecmds.c:14951 commands/tablecmds.c:17864 #, c-format msgid "circular inheritance not allowed" msgstr "циклічне уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð½ÐµÐ¿Ñ€Ð¸Ð¿ÑƒÑтиме" -#: commands/tablecmds.c:14944 commands/tablecmds.c:17857 +#: commands/tablecmds.c:14952 commands/tablecmds.c:17865 #, c-format msgid "\"%s\" is already a child of \"%s\"." msgstr "\"%s\" вже Ñ” нащадком \"%s\"." -#: commands/tablecmds.c:14957 +#: commands/tablecmds.c:14965 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming an inheritance child" msgstr "тригер \"%s\" не дозволÑÑ” таблиці \"%s\" Ñтати нащадком уÑпадкуваннÑ" -#: commands/tablecmds.c:14959 +#: commands/tablecmds.c:14967 #, c-format msgid "ROW triggers with transition tables are not supported in inheritance hierarchies." msgstr "Тригери ROW з перехідними таблицÑми не підтримуютьÑÑ Ð² ієрархіÑÑ… уÑпадкуваннÑ." -#: commands/tablecmds.c:15162 +#: commands/tablecmds.c:15170 #, c-format msgid "column \"%s\" in child table must be marked NOT NULL" msgstr "Ñтовпець \"%s\" в дочірній таблиці має бути позначений Ñк NOT NULL" -#: commands/tablecmds.c:15171 +#: commands/tablecmds.c:15179 #, c-format msgid "column \"%s\" in child table must be a generated column" msgstr "Ñтовпець \"%s\" у дочірній таблиці повинен бути згенерованим Ñтовпцем" -#: commands/tablecmds.c:15221 +#: commands/tablecmds.c:15229 #, c-format msgid "column \"%s\" in child table has a conflicting generation expression" msgstr "Ñтовпець \"%s\" в дочірній таблиці міÑтить конфліктний вираз генеруваннÑ" -#: commands/tablecmds.c:15249 +#: commands/tablecmds.c:15257 #, c-format msgid "child table is missing column \"%s\"" msgstr "у дочірній таблиці не виÑтачає ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\"" -#: commands/tablecmds.c:15337 +#: commands/tablecmds.c:15345 #, c-format msgid "child table \"%s\" has different definition for check constraint \"%s\"" msgstr "Ð´Ð¾Ñ‡Ñ–Ñ€Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" має інше Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ð¾Ñ‡Ð½Ð¾Ð³Ð¾ Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:15345 +#: commands/tablecmds.c:15353 #, c-format msgid "constraint \"%s\" conflicts with non-inherited constraint on child table \"%s\"" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" конфліктує з неуÑпадкованим обмеженнÑм дочірньої таблиці \"%s\"" -#: commands/tablecmds.c:15356 +#: commands/tablecmds.c:15364 #, c-format msgid "constraint \"%s\" conflicts with NOT VALID constraint on child table \"%s\"" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" конфліктує з NOT VALID обмеженнÑм дочірньої таблиці \"%s\"" -#: commands/tablecmds.c:15391 +#: commands/tablecmds.c:15399 #, c-format msgid "child table is missing constraint \"%s\"" msgstr "у дочірній таблиці не виÑтачає Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:15477 +#: commands/tablecmds.c:15485 #, c-format msgid "partition \"%s\" already pending detach in partitioned table \"%s.%s\"" msgstr "розділ \"%s\" вже очікує Ð²Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð² Ñекціонованій таблиці \"%s.%s\"" -#: commands/tablecmds.c:15506 commands/tablecmds.c:15554 +#: commands/tablecmds.c:15514 commands/tablecmds.c:15562 #, c-format msgid "relation \"%s\" is not a partition of relation \"%s\"" msgstr "Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” Ñекцією Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:15560 +#: commands/tablecmds.c:15568 #, c-format msgid "relation \"%s\" is not a parent of relation \"%s\"" msgstr "Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" не Ñ” предком Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:15788 +#: commands/tablecmds.c:15796 #, c-format msgid "typed tables cannot inherit" msgstr "типізовані таблиці не можуть уÑпадковуватиÑÑŒ" -#: commands/tablecmds.c:15818 +#: commands/tablecmds.c:15826 #, c-format msgid "table is missing column \"%s\"" msgstr "у таблиці не виÑтачає ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\"" -#: commands/tablecmds.c:15829 +#: commands/tablecmds.c:15837 #, c-format msgid "table has column \"%s\" where type requires \"%s\"" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–Ñтить Ñтовпець \"%s\", а тип потребує \"%s\"" -#: commands/tablecmds.c:15838 +#: commands/tablecmds.c:15846 #, c-format msgid "table \"%s\" has different type for column \"%s\"" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" міÑтить Ñтовпець \"%s\" іншого типу" -#: commands/tablecmds.c:15852 +#: commands/tablecmds.c:15860 #, c-format msgid "table has extra column \"%s\"" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–Ñтить зайвий Ñтовпець \"%s\"" -#: commands/tablecmds.c:15904 +#: commands/tablecmds.c:15912 #, c-format msgid "\"%s\" is not a typed table" msgstr "\"%s\" - не типізована таблицÑ" -#: commands/tablecmds.c:16078 +#: commands/tablecmds.c:16086 #, c-format msgid "cannot use non-unique index \"%s\" as replica identity" msgstr "Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— репліки не можна викориÑтати неунікальний Ñ–Ð½Ð´ÐµÐºÑ \"%s\"" -#: commands/tablecmds.c:16084 +#: commands/tablecmds.c:16092 #, c-format msgid "cannot use non-immediate index \"%s\" as replica identity" msgstr "Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— репліки не можна викориÑтати небезпоÑередній Ñ–Ð½Ð´ÐµÐºÑ \"%s\"" -#: commands/tablecmds.c:16090 +#: commands/tablecmds.c:16098 #, c-format msgid "cannot use expression index \"%s\" as replica identity" msgstr "Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— репліки не можна викориÑтати Ñ–Ð½Ð´ÐµÐºÑ Ð· виразом \"%s\"" -#: commands/tablecmds.c:16096 +#: commands/tablecmds.c:16104 #, c-format msgid "cannot use partial index \"%s\" as replica identity" msgstr "Ð´Ð»Ñ Ñ–Ð´ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— репліки не можна викориÑтати чаÑтковий Ñ–Ð½Ð´ÐµÐºÑ \"%s\"" -#: commands/tablecmds.c:16113 +#: commands/tablecmds.c:16121 #, c-format msgid "index \"%s\" cannot be used as replica identity because column %d is a system column" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" не можна викориÑтати Ñк ідентифікацію репліки, тому що Ñтовпець %d - ÑиÑтемний Ñтовпець" -#: commands/tablecmds.c:16120 +#: commands/tablecmds.c:16128 #, c-format msgid "index \"%s\" cannot be used as replica identity because column \"%s\" is nullable" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" не можна викориÑтати Ñк ідентифікацію репліки, тому що Ñтовпець \"%s\" допуÑкає Null" -#: commands/tablecmds.c:16367 +#: commands/tablecmds.c:16375 #, c-format msgid "cannot change logged status of table \"%s\" because it is temporary" msgstr "змінити Ñтан Ð¶ÑƒÑ€Ð½Ð°Ð»ÑŽÐ²Ð°Ð½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– \"%s\" не можна, тому що вона тимчаÑова" -#: commands/tablecmds.c:16391 +#: commands/tablecmds.c:16399 #, c-format msgid "cannot change table \"%s\" to unlogged because it is part of a publication" msgstr "таблицю \"%s\" не можна змінити на нежурнальовану, тому що вона Ñ” чаÑтиною публікації" -#: commands/tablecmds.c:16393 +#: commands/tablecmds.c:16401 #, c-format msgid "Unlogged relations cannot be replicated." msgstr "Ðежурнальовані Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ð½Ðµ підтримують реплікацію." -#: commands/tablecmds.c:16438 +#: commands/tablecmds.c:16446 #, c-format msgid "could not change table \"%s\" to logged because it references unlogged table \"%s\"" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ таблицю \"%s\" на журнальовану, тому що вона поÑилаєтьÑÑ Ð½Ð° нежурнальовану таблицю \"%s\"" -#: commands/tablecmds.c:16448 +#: commands/tablecmds.c:16456 #, c-format msgid "could not change table \"%s\" to unlogged because it references logged table \"%s\"" msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ таблицю \"%s\" на нежурнальовану, тому що вона поÑилаєтьÑÑ Ð½Ð° журнальовану таблицю \"%s\"" -#: commands/tablecmds.c:16506 +#: commands/tablecmds.c:16514 #, c-format msgid "cannot move an owned sequence into another schema" msgstr "переміÑтити поÑлідовніÑÑ‚ÑŒ з влаÑником в іншу Ñхему не можна" -#: commands/tablecmds.c:16613 +#: commands/tablecmds.c:16621 #, c-format msgid "relation \"%s\" already exists in schema \"%s\"" msgstr "Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" вже Ñ–Ñнує в Ñхемі \"%s\"" -#: commands/tablecmds.c:17034 +#: commands/tablecmds.c:17042 #, c-format msgid "\"%s\" is not a table or materialized view" msgstr "\"%s\" не Ñ” таблицею або матеріалізованим поданнÑм" -#: commands/tablecmds.c:17184 +#: commands/tablecmds.c:17192 #, c-format msgid "\"%s\" is not a composite type" msgstr "\"%s\" - не Ñкладений тип" -#: commands/tablecmds.c:17212 +#: commands/tablecmds.c:17220 #, c-format msgid "cannot change schema of index \"%s\"" msgstr "змінити Ñхему індекÑу \"%s\" не можна" -#: commands/tablecmds.c:17214 commands/tablecmds.c:17226 +#: commands/tablecmds.c:17222 commands/tablecmds.c:17234 #, c-format msgid "Change the schema of the table instead." msgstr "ЗаміÑÑ‚ÑŒ цього змініть Ñхему таблиці." -#: commands/tablecmds.c:17218 +#: commands/tablecmds.c:17226 #, c-format msgid "cannot change schema of composite type \"%s\"" msgstr "змінити Ñхему Ñкладеного типу \"%s\" не можна" -#: commands/tablecmds.c:17224 +#: commands/tablecmds.c:17232 #, c-format msgid "cannot change schema of TOAST table \"%s\"" msgstr "змінити Ñхему таблиці TOAST \"%s\" не можна" -#: commands/tablecmds.c:17261 +#: commands/tablecmds.c:17269 #, c-format msgid "unrecognized partitioning strategy \"%s\"" msgstr "нерозпізнана ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ñ–Ñ ÑÐµÐºÑ†Ñ–Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:17269 +#: commands/tablecmds.c:17277 #, c-format msgid "cannot use \"list\" partition strategy with more than one column" msgstr "ÑÑ‚Ñ€Ð°Ñ‚ÐµÐ³Ñ–Ñ ÑÐµÐºÑ†Ñ–Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ \"по ÑпиÑку\" не може викориÑтовувати декілька Ñтовпців" -#: commands/tablecmds.c:17335 +#: commands/tablecmds.c:17343 #, c-format msgid "column \"%s\" named in partition key does not exist" msgstr "Ñтовпець \"%s\", згаданий в ключі ÑекціонуваннÑ, не Ñ–Ñнує" -#: commands/tablecmds.c:17343 +#: commands/tablecmds.c:17351 #, c-format msgid "cannot use system column \"%s\" in partition key" msgstr "ÑиÑтемний Ñтовпець \"%s\" не можна викориÑтати в ключі ÑекціонуваннÑ" -#: commands/tablecmds.c:17354 commands/tablecmds.c:17444 +#: commands/tablecmds.c:17362 commands/tablecmds.c:17452 #, c-format msgid "cannot use generated column in partition key" msgstr "викориÑтати згенерований Ñтовпець в ключі Ñекції, не можна" -#: commands/tablecmds.c:17355 commands/tablecmds.c:17445 commands/trigger.c:668 +#: commands/tablecmds.c:17363 commands/tablecmds.c:17453 commands/trigger.c:668 #: rewrite/rewriteHandler.c:929 rewrite/rewriteHandler.c:964 #, c-format msgid "Column \"%s\" is a generated column." msgstr "Стовпець \"%s\" Ñ” згенерованим Ñтовпцем." -#: commands/tablecmds.c:17427 +#: commands/tablecmds.c:17435 #, c-format msgid "partition key expressions cannot contain system column references" msgstr "вирази ключа ÑÐµÐºÑ†Ñ–Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ можуть міÑтити поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° ÑиÑтемний Ñтовпець" -#: commands/tablecmds.c:17474 +#: commands/tablecmds.c:17482 #, c-format msgid "functions in partition key expression must be marked IMMUTABLE" msgstr "функції у виразі ключа ÑÐµÐºÑ†Ñ–Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð¾Ð²Ð¸Ð½Ð½Ñ– бути позначені Ñк IMMUTABLE" -#: commands/tablecmds.c:17483 +#: commands/tablecmds.c:17491 #, c-format msgid "cannot use constant expression as partition key" msgstr "не можна викориÑтати конÑтантий вираз Ñк ключ ÑекціонуваннÑ" -#: commands/tablecmds.c:17504 +#: commands/tablecmds.c:17512 #, c-format msgid "could not determine which collation to use for partition expression" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸, Ñке правило ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтати Ð´Ð»Ñ Ð²Ð¸Ñ€Ð°Ð·Ñƒ ÑекціонуваннÑ" -#: commands/tablecmds.c:17539 +#: commands/tablecmds.c:17547 #, c-format msgid "You must specify a hash operator class or define a default hash operator class for the data type." msgstr "Ви повинні вказати ÐºÐ»Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ–Ð² Ð³ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ визначити ÐºÐ»Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ–Ð² Ð³ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° замовчуваннÑм Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу даних." -#: commands/tablecmds.c:17545 +#: commands/tablecmds.c:17553 #, c-format msgid "You must specify a btree operator class or define a default btree operator class for the data type." msgstr "Ви повинні вказати ÐºÐ»Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ–Ð² (btree) або визначити ÐºÐ»Ð°Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ñ–Ð² (btree) за замовчуваннÑм Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу даних." -#: commands/tablecmds.c:17796 +#: commands/tablecmds.c:17804 #, c-format msgid "\"%s\" is already a partition" msgstr "\"%s\" вже Ñ” Ñекцією" -#: commands/tablecmds.c:17802 +#: commands/tablecmds.c:17810 #, c-format msgid "cannot attach a typed table as partition" msgstr "неможливо підключити типізовану таблицю в ÑкоÑÑ‚Ñ– Ñекції" -#: commands/tablecmds.c:17818 +#: commands/tablecmds.c:17826 #, c-format msgid "cannot attach inheritance child as partition" msgstr "неможливо підключити нащадка уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð² ÑкоÑÑ‚Ñ– Ñекції" -#: commands/tablecmds.c:17832 +#: commands/tablecmds.c:17840 #, c-format msgid "cannot attach inheritance parent as partition" msgstr "неможливо підключити предка уÑÐ¿Ð°Ð´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð² ÑкоÑÑ‚Ñ– Ñекції" -#: commands/tablecmds.c:17866 +#: commands/tablecmds.c:17874 #, c-format msgid "cannot attach a temporary relation as partition of permanent relation \"%s\"" msgstr "неможливо підкючити тимчаÑове Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ð² ÑкоÑÑ‚Ñ– Ñекції поÑтійного Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:17874 +#: commands/tablecmds.c:17882 #, c-format msgid "cannot attach a permanent relation as partition of temporary relation \"%s\"" msgstr "неможливо підключити поÑтійне Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ð² ÑкоÑÑ‚Ñ– Ñекції тимчаÑового Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\"" -#: commands/tablecmds.c:17882 +#: commands/tablecmds.c:17890 #, c-format msgid "cannot attach as partition of temporary relation of another session" msgstr "неможливо підключити Ñекцію до тимчаÑового Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ð² іншому ÑеанÑÑ–" -#: commands/tablecmds.c:17889 +#: commands/tablecmds.c:17897 #, c-format msgid "cannot attach temporary relation of another session as partition" msgstr "неможливо підключити тимчаÑове Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ Ð· іншого ÑеанÑу в ÑкоÑÑ‚Ñ– Ñекції" -#: commands/tablecmds.c:17909 +#: commands/tablecmds.c:17917 #, c-format msgid "table \"%s\" contains column \"%s\" not found in parent \"%s\"" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" міÑтить Ñтовпець \"%s\", відÑутній в батьківÑькій \"%s\"" -#: commands/tablecmds.c:17912 +#: commands/tablecmds.c:17920 #, c-format msgid "The new partition may contain only the columns present in parent." msgstr "Ðова ÑÐµÐºÑ†Ñ–Ñ Ð¼Ð¾Ð¶Ðµ міÑтити лише Ñтовпці, що Ñ” у батьківÑькій таблиці." -#: commands/tablecmds.c:17924 +#: commands/tablecmds.c:17932 #, c-format msgid "trigger \"%s\" prevents table \"%s\" from becoming a partition" msgstr "тригер \"%s\" не дозволÑÑ” зробити таблицю \"%s\" Ñекцією" -#: commands/tablecmds.c:17926 +#: commands/tablecmds.c:17934 #, c-format msgid "ROW triggers with transition tables are not supported on partitions." msgstr "Тригери ROW з перехідними таблицÑми не підтримуютьÑÑ Ð´Ð»Ñ Ñекцій." -#: commands/tablecmds.c:18105 +#: commands/tablecmds.c:18113 #, c-format msgid "cannot attach foreign table \"%s\" as partition of partitioned table \"%s\"" msgstr "не можна підключити зовнішню таблицю \"%s\" в ÑкоÑÑ‚Ñ– Ñекції Ñекціонованої таблиці \"%s\"" -#: commands/tablecmds.c:18108 +#: commands/tablecmds.c:18116 #, c-format msgid "Partitioned table \"%s\" contains unique indexes." msgstr "Секціонована Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" міÑтить унікальні індекÑи." -#: commands/tablecmds.c:18423 +#: commands/tablecmds.c:18431 #, c-format msgid "cannot detach partitions concurrently when a default partition exists" msgstr "не можна одночаÑно відключити розділи, коли Ñ–Ñнує розділ за замовчуваннÑм" -#: commands/tablecmds.c:18532 +#: commands/tablecmds.c:18540 #, c-format msgid "partitioned table \"%s\" was removed concurrently" msgstr "Ñекціоновану таблицю \"%s\" було видалено одночаÑно" -#: commands/tablecmds.c:18538 +#: commands/tablecmds.c:18546 #, c-format msgid "partition \"%s\" was removed concurrently" msgstr "розділ \"%s\" було видалено паралельно" -#: commands/tablecmds.c:19053 commands/tablecmds.c:19073 -#: commands/tablecmds.c:19093 commands/tablecmds.c:19112 -#: commands/tablecmds.c:19154 +#: commands/tablecmds.c:19061 commands/tablecmds.c:19081 +#: commands/tablecmds.c:19101 commands/tablecmds.c:19120 +#: commands/tablecmds.c:19162 #, c-format msgid "cannot attach index \"%s\" as a partition of index \"%s\"" msgstr "неможливо підключити Ñ–Ð½Ð´ÐµÐºÑ \"%s\" в ÑкоÑÑ‚Ñ– Ñекції індекÑу \"%s\"" -#: commands/tablecmds.c:19056 +#: commands/tablecmds.c:19064 #, c-format msgid "Index \"%s\" is already attached to another index." msgstr "Ð†Ð½Ð´ÐµÐºÑ \"%s\" вже підключений до іншого індекÑу." -#: commands/tablecmds.c:19076 +#: commands/tablecmds.c:19084 #, c-format msgid "Index \"%s\" is not an index on any partition of table \"%s\"." msgstr "Ð†Ð½Ð´ÐµÐºÑ \"%s\" не Ñ” індекÑом жодної Ñекції таблиці \"%s\"." -#: commands/tablecmds.c:19096 +#: commands/tablecmds.c:19104 #, c-format msgid "The index definitions do not match." msgstr "Ð’Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑів не Ñпівпадають." -#: commands/tablecmds.c:19115 +#: commands/tablecmds.c:19123 #, c-format msgid "The index \"%s\" belongs to a constraint in table \"%s\" but no constraint exists for index \"%s\"." msgstr "Ð†Ð½Ð´ÐµÐºÑ \"%s\" належить обмеженню в таблиці \"%s\", але Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ–Ð½Ð´ÐµÐºÑу \"%s\" не Ñ–Ñнує." -#: commands/tablecmds.c:19157 +#: commands/tablecmds.c:19165 #, c-format msgid "Another index is already attached for partition \"%s\"." msgstr "До Ñекції \"%s\" вже підключений інший індекÑ." -#: commands/tablecmds.c:19394 +#: commands/tablecmds.c:19402 #, c-format msgid "column data type %s does not support compression" msgstr "тип даних ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ %s не підтримує ÑтиÑканнÑ" -#: commands/tablecmds.c:19401 +#: commands/tablecmds.c:19409 #, c-format msgid "invalid compression method \"%s\"" msgstr "неприпуÑтимий метод ÑтиÑÐºÐ°Ð½Ð½Ñ \"%s\"" @@ -11620,7 +11635,7 @@ msgid "trigger function %u returned null value" msgstr "тригерна Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ %u повернула Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ null" #: commands/trigger.c:2509 commands/trigger.c:2727 commands/trigger.c:2995 -#: commands/trigger.c:3346 +#: commands/trigger.c:3364 #, c-format msgid "BEFORE STATEMENT trigger cannot return a value" msgstr "Тригер BEFORE STATEMENT не може повертати значеннÑ" @@ -11635,140 +11650,140 @@ msgstr "Ð¿ÐµÑ€ÐµÐ¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ñдка до іншої Ñекції під ч msgid "Before executing trigger \"%s\", the row was to be in partition \"%s.%s\"." msgstr "Перед виконаннÑм тригера \"%s\", Ñ€Ñдок повинен був бути в Ñекції \"%s.%s\"." -#: commands/trigger.c:3423 executor/nodeModifyTable.c:2344 -#: executor/nodeModifyTable.c:2427 +#: commands/trigger.c:3441 executor/nodeModifyTable.c:2350 +#: executor/nodeModifyTable.c:2433 #, c-format msgid "tuple to be updated was already modified by an operation triggered by the current command" msgstr "кортеж, Ñкий повинен бути оновленим, вже змінений в операції, Ñка викликана поточною командою" -#: commands/trigger.c:3424 executor/nodeModifyTable.c:1510 -#: executor/nodeModifyTable.c:1584 executor/nodeModifyTable.c:2345 -#: executor/nodeModifyTable.c:2428 executor/nodeModifyTable.c:3075 +#: commands/trigger.c:3442 executor/nodeModifyTable.c:1514 +#: executor/nodeModifyTable.c:1588 executor/nodeModifyTable.c:2351 +#: executor/nodeModifyTable.c:2434 executor/nodeModifyTable.c:3079 #, c-format msgid "Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows." msgstr "Можливо, Ð´Ð»Ñ Ð¿Ð¾ÑˆÐ¸Ñ€ÐµÐ½Ð½Ñ Ð·Ð¼Ñ–Ð½ в інші Ñ€Ñдки Ñлід викориÑтати тригер AFTER заміÑÑ‚ÑŒ тригера BEFORE." -#: commands/trigger.c:3465 executor/nodeLockRows.c:229 +#: commands/trigger.c:3483 executor/nodeLockRows.c:229 #: executor/nodeLockRows.c:238 executor/nodeModifyTable.c:308 -#: executor/nodeModifyTable.c:1526 executor/nodeModifyTable.c:2362 -#: executor/nodeModifyTable.c:2570 +#: executor/nodeModifyTable.c:1530 executor/nodeModifyTable.c:2368 +#: executor/nodeModifyTable.c:2576 #, c-format msgid "could not serialize access due to concurrent update" msgstr "не вдалоÑÑ Ñеріалізувати доÑтуп через паралельне оновленнÑ" -#: commands/trigger.c:3473 executor/nodeModifyTable.c:1616 -#: executor/nodeModifyTable.c:2445 executor/nodeModifyTable.c:2594 -#: executor/nodeModifyTable.c:2963 +#: commands/trigger.c:3491 executor/nodeModifyTable.c:1620 +#: executor/nodeModifyTable.c:2451 executor/nodeModifyTable.c:2600 +#: executor/nodeModifyTable.c:2967 #, c-format msgid "could not serialize access due to concurrent delete" msgstr "не вдалоÑÑ Ñеріалізувати доÑтуп через паралельне видаленнÑ" -#: commands/trigger.c:4680 +#: commands/trigger.c:4698 #, c-format msgid "cannot fire deferred trigger within security-restricted operation" msgstr "не можна виконати відкладений тригер в межах операції з обмеженнÑм по безпеці" -#: commands/trigger.c:5863 +#: commands/trigger.c:5881 #, c-format msgid "constraint \"%s\" is not deferrable" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" не Ñ” відкладеним" -#: commands/trigger.c:5886 +#: commands/trigger.c:5904 #, c-format msgid "constraint \"%s\" does not exist" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ \"%s\" не Ñ–Ñнує" -#: commands/tsearchcmds.c:118 commands/tsearchcmds.c:635 +#: commands/tsearchcmds.c:124 commands/tsearchcmds.c:641 #, c-format msgid "function %s should return type %s" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ %s повинна повертати тип %s" -#: commands/tsearchcmds.c:194 +#: commands/tsearchcmds.c:200 #, c-format msgid "must be superuser to create text search parsers" msgstr "Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ð°Ñ‚Ð¾Ñ€Ñ–Ð² текÑтового пошуку потрібно бути ÑуперкориÑтувачем" -#: commands/tsearchcmds.c:247 +#: commands/tsearchcmds.c:253 #, c-format msgid "text search parser parameter \"%s\" not recognized" msgstr "параметр аналізатора текÑтового пошуку \"%s\" не розпізнаний" -#: commands/tsearchcmds.c:257 +#: commands/tsearchcmds.c:263 #, c-format msgid "text search parser start method is required" msgstr "Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ð°Ñ‚Ð¾Ñ€Ð° текÑтового пошуку необхідний метод start" -#: commands/tsearchcmds.c:262 +#: commands/tsearchcmds.c:268 #, c-format msgid "text search parser gettoken method is required" msgstr "Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ð°Ñ‚Ð¾Ñ€Ð° текÑтового пошуку необхідний метод gettoken" -#: commands/tsearchcmds.c:267 +#: commands/tsearchcmds.c:273 #, c-format msgid "text search parser end method is required" msgstr "Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ð°Ñ‚Ð¾Ñ€Ð° текÑтового пошуку необхідний метод end" -#: commands/tsearchcmds.c:272 +#: commands/tsearchcmds.c:278 #, c-format msgid "text search parser lextypes method is required" msgstr "Ð´Ð»Ñ Ð°Ð½Ð°Ð»Ñ–Ð·Ð°Ñ‚Ð¾Ñ€Ð° текÑтового пошуку необхідний метод lextypes" -#: commands/tsearchcmds.c:366 +#: commands/tsearchcmds.c:372 #, c-format msgid "text search template \"%s\" does not accept options" msgstr "шаблон текÑтового пошуку \"%s\" не приймає параметри" -#: commands/tsearchcmds.c:440 +#: commands/tsearchcmds.c:446 #, c-format msgid "text search template is required" msgstr "необхідний шаблон текÑтового пошуку" -#: commands/tsearchcmds.c:701 +#: commands/tsearchcmds.c:707 #, c-format msgid "must be superuser to create text search templates" msgstr "Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñ–Ð² текÑтового пошуку потрібно бути ÑуперкориÑтувачем" -#: commands/tsearchcmds.c:743 +#: commands/tsearchcmds.c:749 #, c-format msgid "text search template parameter \"%s\" not recognized" msgstr "параметр шаблону текÑтового пошуку \"%s\" не розпізнаний" -#: commands/tsearchcmds.c:753 +#: commands/tsearchcmds.c:759 #, c-format msgid "text search template lexize method is required" msgstr "Ð´Ð»Ñ ÑˆÐ°Ð±Ð»Ð¾Ð½Ñƒ текÑтового пошуку необхідний метод lexize" -#: commands/tsearchcmds.c:933 +#: commands/tsearchcmds.c:939 #, c-format msgid "text search configuration parameter \"%s\" not recognized" msgstr "параметр конфігурації текÑтового пошуку \"%s\" не розпізнаний" -#: commands/tsearchcmds.c:940 +#: commands/tsearchcmds.c:946 #, c-format msgid "cannot specify both PARSER and COPY options" msgstr "вказати параметри PARSER Ñ– COPY одночаÑно не можна" -#: commands/tsearchcmds.c:976 +#: commands/tsearchcmds.c:982 #, c-format msgid "text search parser is required" msgstr "необхідний аналізатор текÑтового пошуку" -#: commands/tsearchcmds.c:1200 +#: commands/tsearchcmds.c:1236 #, c-format msgid "token type \"%s\" does not exist" msgstr "тип маркера \"%s\" не Ñ–Ñнує" -#: commands/tsearchcmds.c:1427 +#: commands/tsearchcmds.c:1464 #, c-format msgid "mapping for token type \"%s\" does not exist" msgstr "зіÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ маркера \"%s\" не Ñ–Ñнує" -#: commands/tsearchcmds.c:1433 +#: commands/tsearchcmds.c:1470 #, c-format msgid "mapping for token type \"%s\" does not exist, skipping" msgstr "зіÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ маркера \"%s\" не Ñ–Ñнує, пропуÑкаєтьÑÑ" -#: commands/tsearchcmds.c:1596 commands/tsearchcmds.c:1711 +#: commands/tsearchcmds.c:1631 commands/tsearchcmds.c:1746 #, c-format msgid "invalid parameter list format: \"%s\"" msgstr "неприпуÑтимий формат ÑпиÑку параметрів: \"%s\"" @@ -12486,7 +12501,7 @@ msgstr[1] "запущено %d паралельних виконавців очРmsgstr[2] "запущено %d паралельних виконавців очиÑтки Ð´Ð»Ñ Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑу (заплановано: %d)" msgstr[3] "запущено %d паралельних виконавців очиÑтки Ð´Ð»Ñ Ð¾Ñ‡Ð¸Ñ‰ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑу (заплановано: %d)" -#: commands/variable.c:165 utils/misc/guc.c:12108 utils/misc/guc.c:12186 +#: commands/variable.c:165 utils/misc/guc.c:12115 utils/misc/guc.c:12193 #, c-format msgid "Unrecognized key word: \"%s\"." msgstr "Ðерозпізнане ключове Ñлово: \"%s\"." @@ -12609,7 +12624,7 @@ msgstr "змінити ім'Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" на \"%s\" в поданн #: commands/view.c:298 #, c-format msgid "Use ALTER VIEW ... RENAME COLUMN ... to change name of view column instead." -msgstr "Щоб змінити назву ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ð¿Ð¾Ð´Ð°Ð½Ð½Ñ, заміÑÑ‚ÑŒ цього викориÑтайте ALTER VIEW ... RENAME COLUMN ..." +msgstr "Щоб змінити назву ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ð¿Ð¾Ð´Ð°Ð½Ð½Ñ, заміÑÑ‚ÑŒ цього викориÑтайте ALTER VIEW ... RENAME COLUMN." #: commands/view.c:309 #, c-format @@ -13329,58 +13344,58 @@ msgstr "FULL JOIN підтримуєтьÑÑ Ð»Ð¸ÑˆÐµ з умовами, Ñкі msgid "Query has too few columns." msgstr "Запит повертає дуже мало Ñтовпців." -#: executor/nodeModifyTable.c:1509 executor/nodeModifyTable.c:1583 +#: executor/nodeModifyTable.c:1513 executor/nodeModifyTable.c:1587 #, c-format msgid "tuple to be deleted was already modified by an operation triggered by the current command" -msgstr "кортеж, Ñкий підлÑгає видаленню, вже змінений в операції, Ñка викликана поточною командою." +msgstr "кортеж, Ñкий підлÑгає видаленню, вже змінений в операції, Ñка викликана поточною командою" -#: executor/nodeModifyTable.c:1737 +#: executor/nodeModifyTable.c:1742 #, c-format msgid "invalid ON UPDATE specification" msgstr "неприпуÑтима ÑÐ¿ÐµÑ†Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ ON UPDATE" -#: executor/nodeModifyTable.c:1738 +#: executor/nodeModifyTable.c:1743 #, c-format msgid "The result tuple would appear in a different partition than the original tuple." msgstr "Результуючий кортеж з'ÑвитьÑÑ Ð² іншій Ñекції в порівнÑнні з оригінальним кортежем." -#: executor/nodeModifyTable.c:2198 +#: executor/nodeModifyTable.c:2204 #, c-format msgid "cannot move tuple across partitions when a non-root ancestor of the source partition is directly referenced in a foreign key" msgstr "не можна переÑувати кортеж між різними партиціÑми, коли не кореневий предок Ñекції джерела безпоÑередньо поÑилаєтьÑÑ Ð½Ð° зовнішній ключ" -#: executor/nodeModifyTable.c:2199 +#: executor/nodeModifyTable.c:2205 #, c-format msgid "A foreign key points to ancestor \"%s\" but not the root ancestor \"%s\"." msgstr "Зовнішній ключ вказує на предка \"%s\", але не на кореневого предка \"%s\"." -#: executor/nodeModifyTable.c:2202 +#: executor/nodeModifyTable.c:2208 #, c-format msgid "Consider defining the foreign key on table \"%s\"." msgstr "РозглÑньте Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð¾Ð²Ð½Ñ–ÑˆÐ½ÑŒÐ¾Ð³Ð¾ ключа Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– \"%s\"." #. translator: %s is a SQL command name -#: executor/nodeModifyTable.c:2548 executor/nodeModifyTable.c:2952 +#: executor/nodeModifyTable.c:2554 executor/nodeModifyTable.c:2956 #, c-format msgid "%s command cannot affect row a second time" msgstr "команда %s не може вплинути на Ñ€Ñдок вдруге" -#: executor/nodeModifyTable.c:2550 +#: executor/nodeModifyTable.c:2556 #, c-format msgid "Ensure that no rows proposed for insertion within the same command have duplicate constrained values." msgstr "ПереконайтеÑÑ, що немає Ñ€Ñдків Ð´Ð»Ñ Ð²Ñтавки з тією ж командою з дуплікованими обмежувальними значеннÑми." -#: executor/nodeModifyTable.c:2954 +#: executor/nodeModifyTable.c:2958 #, c-format msgid "Ensure that not more than one source row matches any one target row." msgstr "ПереконайтеÑÑŒ, що не більше ніж один вихідний Ñ€Ñдок відповідає будь-Ñкому одному цільовому Ñ€Ñдку." -#: executor/nodeModifyTable.c:3035 +#: executor/nodeModifyTable.c:3039 #, c-format msgid "tuple to be deleted was already moved to another partition due to concurrent update" msgstr "кортеж, Ñкий підлÑгає видаленню, вже переміщено в іншу Ñекцію в результаті паралельного оновленнÑ" -#: executor/nodeModifyTable.c:3074 +#: executor/nodeModifyTable.c:3078 #, c-format msgid "tuple to be updated or deleted was already modified by an operation triggered by the current command" msgstr "кортеж, Ñкий підлÑгає оновленню або видаленню, вже змінено операцією, викликаною поточною командою" @@ -13895,252 +13910,252 @@ msgstr "неприпуÑтимий розмір пакету з паролем" msgid "empty password returned by client" msgstr "клієнт повернув пуÑтий пароль" -#: libpq/auth.c:880 libpq/hba.c:1335 +#: libpq/auth.c:878 libpq/hba.c:1335 #, c-format msgid "MD5 authentication is not supported when \"db_user_namespace\" is enabled" msgstr "ÐÐ²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ MD5 не підтримуєтьÑÑ, коли увімкнуто режим \"db_user_namespace\"" -#: libpq/auth.c:886 +#: libpq/auth.c:884 #, c-format msgid "could not generate random MD5 salt" msgstr "не вдалоÑÑ Ñтворити випадкову Ñіль Ð´Ð»Ñ MD5" -#: libpq/auth.c:935 libpq/be-secure-gssapi.c:535 +#: libpq/auth.c:933 libpq/be-secure-gssapi.c:535 #, c-format msgid "could not set environment: %m" msgstr "не вдалоÑÑ Ð²Ñтановити Ñередовище: %m" -#: libpq/auth.c:971 +#: libpq/auth.c:969 #, c-format msgid "expected GSS response, got message type %d" msgstr "очікувалаÑÑ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´ÑŒ GSS, але отримано тип Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ %d" -#: libpq/auth.c:1031 +#: libpq/auth.c:1029 msgid "accepting GSS security context failed" msgstr "прийнÑти контекÑÑ‚ безпеки GSS не вдалоÑÑŒ" -#: libpq/auth.c:1072 +#: libpq/auth.c:1070 msgid "retrieving GSS user name failed" msgstr "Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ñ–Ð¼'Ñ ÐºÐ¾Ñ€Ð¸Ñтувача GSS не виконано" -#: libpq/auth.c:1221 +#: libpq/auth.c:1219 msgid "could not acquire SSPI credentials" msgstr "не вдалоÑÑŒ отримати облікові дані SSPI" -#: libpq/auth.c:1246 +#: libpq/auth.c:1244 #, c-format msgid "expected SSPI response, got message type %d" msgstr "очікувалаÑÑŒ відповідь SSPI, але отримано тип Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ %d" -#: libpq/auth.c:1324 +#: libpq/auth.c:1322 msgid "could not accept SSPI security context" msgstr "прийнÑти контекÑÑ‚ безпеки SSPI не вдалоÑÑ" -#: libpq/auth.c:1386 +#: libpq/auth.c:1384 msgid "could not get token from SSPI security context" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ маркер з контекÑту безпеки SSPI" -#: libpq/auth.c:1525 libpq/auth.c:1544 +#: libpq/auth.c:1523 libpq/auth.c:1542 #, c-format msgid "could not translate name" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ñти ім'Ñ" -#: libpq/auth.c:1557 +#: libpq/auth.c:1555 #, c-format msgid "realm name too long" msgstr "ім'Ñ Ð¾Ð±Ð»Ð°ÑÑ‚Ñ– дуже довге" -#: libpq/auth.c:1572 +#: libpq/auth.c:1570 #, c-format msgid "translated account name too long" msgstr "ім'Ñ Ð¿ÐµÑ€ÐµÐºÐ»Ð°Ð´ÐµÐ½Ð¾Ð³Ð¾ облікового запиÑу дуже довге" -#: libpq/auth.c:1753 +#: libpq/auth.c:1751 #, c-format msgid "could not create socket for Ident connection: %m" msgstr "не вдалоÑÑ Ñтворити Ñокет Ð´Ð»Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ Ñерверу Ident: %m" -#: libpq/auth.c:1768 +#: libpq/auth.c:1766 #, c-format msgid "could not bind to local address \"%s\": %m" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¸Ð²'ÑзатиÑÑ Ð´Ð¾ локальної адреÑи \"%s\": %m" -#: libpq/auth.c:1780 +#: libpq/auth.c:1778 #, c-format msgid "could not connect to Ident server at address \"%s\", port %s: %m" msgstr "не вдалоÑÑ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡Ð¸Ñ‚Ð¸ÑÑ Ð´Ð¾ Ident-Ñерверу за адреÑою \"%s\", порт %s: %m" -#: libpq/auth.c:1802 +#: libpq/auth.c:1800 #, c-format msgid "could not send query to Ident server at address \"%s\", port %s: %m" msgstr "не вдалоÑÑ Ð½Ð°Ð´Ñ–Ñлати запит до Ident -Ñерверу за адреÑою \"%s\", порт %s: %m" -#: libpq/auth.c:1819 +#: libpq/auth.c:1817 #, c-format msgid "could not receive response from Ident server at address \"%s\", port %s: %m" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ відповідь від Ident-Ñерверу за адреÑою \"%s\", порт %s: %m" -#: libpq/auth.c:1829 +#: libpq/auth.c:1827 #, c-format msgid "invalidly formatted response from Ident server: \"%s\"" msgstr "неприпуÑтимо форматована відповідь від Ident-Ñерверу: \"%s\"" -#: libpq/auth.c:1882 +#: libpq/auth.c:1880 #, c-format msgid "peer authentication is not supported on this platform" msgstr "Ð°Ð²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ peer не підтримуєтьÑÑ Ð½Ð° цій платформі" -#: libpq/auth.c:1886 +#: libpq/auth.c:1884 #, c-format msgid "could not get peer credentials: %m" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ облікові дані кориÑтувача через peer: %m" -#: libpq/auth.c:1898 +#: libpq/auth.c:1896 #, c-format msgid "could not look up local user ID %ld: %s" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ локального кориÑтувача за ідентифікатором (%ld): %s" -#: libpq/auth.c:1999 +#: libpq/auth.c:1997 #, c-format msgid "error from underlying PAM layer: %s" msgstr "помилка у нижчому шарі PAM: %s" -#: libpq/auth.c:2010 +#: libpq/auth.c:2008 #, c-format msgid "unsupported PAM conversation %d/\"%s\"" msgstr "непідтримувана розмова PAM %d/\"%s\"" -#: libpq/auth.c:2070 +#: libpq/auth.c:2068 #, c-format msgid "could not create PAM authenticator: %s" msgstr "не вдалоÑÑ Ñтворити автентифікатор PAM: %s" -#: libpq/auth.c:2081 +#: libpq/auth.c:2079 #, c-format msgid "pam_set_item(PAM_USER) failed: %s" msgstr "помилка в pam_set_item(PAM_USER): %s" -#: libpq/auth.c:2113 +#: libpq/auth.c:2111 #, c-format msgid "pam_set_item(PAM_RHOST) failed: %s" msgstr "помилка в pam_set_item(PAM_RHOST): %s" -#: libpq/auth.c:2125 +#: libpq/auth.c:2123 #, c-format msgid "pam_set_item(PAM_CONV) failed: %s" msgstr "помилка в pam_set_item(PAM_CONV): %s" -#: libpq/auth.c:2138 +#: libpq/auth.c:2136 #, c-format msgid "pam_authenticate failed: %s" msgstr "помилка в pam_authenticate: %sв" -#: libpq/auth.c:2151 +#: libpq/auth.c:2149 #, c-format msgid "pam_acct_mgmt failed: %s" msgstr "помилка в pam_acct_mgmt: %s" -#: libpq/auth.c:2162 +#: libpq/auth.c:2160 #, c-format msgid "could not release PAM authenticator: %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð²Ñ–Ð»ÑŒÐ½Ð¸Ñ‚Ð¸ автентифікатор PAM: %s" -#: libpq/auth.c:2242 +#: libpq/auth.c:2240 #, c-format msgid "could not initialize LDAP: error code %d" msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ протокол LDAP: код помилки %d" -#: libpq/auth.c:2279 +#: libpq/auth.c:2277 #, c-format msgid "could not extract domain name from ldapbasedn" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву домена з ldapbasedn" -#: libpq/auth.c:2287 +#: libpq/auth.c:2285 #, c-format msgid "LDAP authentication could not find DNS SRV records for \"%s\"" msgstr "ÐÐ²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ LDAP не змогла знайти запиÑи DNS SRV Ð´Ð»Ñ \"%s\"" -#: libpq/auth.c:2289 +#: libpq/auth.c:2287 #, c-format msgid "Set an LDAP server name explicitly." msgstr "Ð’Ñтановіть назву Ñервера LDAP, Ñвно." -#: libpq/auth.c:2341 +#: libpq/auth.c:2339 #, c-format msgid "could not initialize LDAP: %s" msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ протокол LDAP: %s" -#: libpq/auth.c:2351 +#: libpq/auth.c:2349 #, c-format msgid "ldaps not supported with this LDAP library" msgstr "протокол ldaps з поточною бібліотекою LDAP не підтримуєтьÑÑ" -#: libpq/auth.c:2359 +#: libpq/auth.c:2357 #, c-format msgid "could not initialize LDAP: %m" msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ протокол LDAP: %m" -#: libpq/auth.c:2369 +#: libpq/auth.c:2367 #, c-format msgid "could not set LDAP protocol version: %s" msgstr "не вдалоÑÑ Ð²Ñтановити верÑÑ–ÑŽ протоколу LDAP: %s" -#: libpq/auth.c:2409 +#: libpq/auth.c:2407 #, c-format msgid "could not load function _ldap_start_tls_sA in wldap32.dll" msgstr "не вдалоÑÑ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶Ð¸Ñ‚Ð¸ функцію _ldap_start_tls_sA in wldap32.dll" -#: libpq/auth.c:2410 +#: libpq/auth.c:2408 #, c-format msgid "LDAP over SSL is not supported on this platform." msgstr "Протокол LDAP через протокол SSL не підтримуєтьÑÑ Ð½Ð° цій платформі." -#: libpq/auth.c:2426 +#: libpq/auth.c:2424 #, c-format msgid "could not start LDAP TLS session: %s" msgstr "не вдалоÑÑ Ð¿Ð¾Ñ‡Ð°Ñ‚Ð¸ ÑÐµÐ°Ð½Ñ Ð¿Ñ€Ð¾Ñ‚Ð¾ÐºÐ¾Ð»Ñƒ LDAP TLS: %s" -#: libpq/auth.c:2497 +#: libpq/auth.c:2495 #, c-format msgid "LDAP server not specified, and no ldapbasedn" msgstr "Сервер LDAP не вказаний, Ñ– не ldapbasedn" -#: libpq/auth.c:2504 +#: libpq/auth.c:2502 #, c-format msgid "LDAP server not specified" msgstr "LDAP-Ñервер не вказаний" -#: libpq/auth.c:2566 +#: libpq/auth.c:2564 #, c-format msgid "invalid character in user name for LDAP authentication" msgstr "неприпуÑтимий Ñимвол в імені кориÑтувача Ð´Ð»Ñ Ð°Ð²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ— LDAP" -#: libpq/auth.c:2583 +#: libpq/auth.c:2581 #, c-format msgid "could not perform initial LDAP bind for ldapbinddn \"%s\" on server \"%s\": %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ початкову прив'Ñзку LDAP Ð´Ð»Ñ ldapbinddn \"%s\" на Ñервері \"%s\": %s" -#: libpq/auth.c:2612 +#: libpq/auth.c:2610 #, c-format msgid "could not search LDAP for filter \"%s\" on server \"%s\": %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ LDAP-пошук за фільтром \"%s\" на Ñервері \"%s\": %s" -#: libpq/auth.c:2626 +#: libpq/auth.c:2624 #, c-format msgid "LDAP user \"%s\" does not exist" msgstr "LDAP-кориÑтувач \"%s\" не Ñ–Ñнує" -#: libpq/auth.c:2627 +#: libpq/auth.c:2625 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned no entries." msgstr "LDAP-пошук за фільтром \"%s\" на Ñервері \"%s\" не повернув запиÑів." -#: libpq/auth.c:2631 +#: libpq/auth.c:2629 #, c-format msgid "LDAP user \"%s\" is not unique" msgstr "LDAP-кориÑтувач \"%s\" не унікальний" -#: libpq/auth.c:2632 +#: libpq/auth.c:2630 #, c-format msgid "LDAP search for filter \"%s\" on server \"%s\" returned %d entry." msgid_plural "LDAP search for filter \"%s\" on server \"%s\" returned %d entries." @@ -14149,137 +14164,137 @@ msgstr[1] "LDAP-пошук за фільтром \"%s\" на Ñервері \"%s msgstr[2] "LDAP-пошук за фільтром \"%s\" на Ñервері \"%s\" повернув %d запиÑів." msgstr[3] "LDAP-пошук за фільтром \"%s\" на Ñервері \"%s\" повернув %d запиÑів." -#: libpq/auth.c:2652 +#: libpq/auth.c:2650 #, c-format msgid "could not get dn for the first entry matching \"%s\" on server \"%s\": %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ dn Ð´Ð»Ñ Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ результату, що відповідає \"%s\" на Ñервері \"%s\": %s" -#: libpq/auth.c:2673 +#: libpq/auth.c:2671 #, c-format msgid "could not unbind after searching for user \"%s\" on server \"%s\"" msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð²'ÑзатиÑÑŒ піÑÐ»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ кориÑтувача \"%s\" на Ñервері \"%s\"" -#: libpq/auth.c:2704 +#: libpq/auth.c:2702 #, c-format msgid "LDAP login failed for user \"%s\" on server \"%s\": %s" msgstr "Помилка під Ñ‡Ð°Ñ Ñ€ÐµÑ”Ñтрації в протоколі LDAP кориÑтувача \"%s\" на Ñервері \"%s\": %s" -#: libpq/auth.c:2736 +#: libpq/auth.c:2734 #, c-format msgid "LDAP diagnostics: %s" msgstr "ДіагноÑтика LDAP: %s" -#: libpq/auth.c:2774 +#: libpq/auth.c:2772 #, c-format msgid "certificate authentication failed for user \"%s\": client certificate contains no user name" msgstr "помилка автентифікації Ñертифіката Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача \"%s\": Ñертифікат клієнта не міÑтить імені кориÑтувача" -#: libpq/auth.c:2795 +#: libpq/auth.c:2793 #, c-format msgid "certificate authentication failed for user \"%s\": unable to retrieve subject DN" msgstr "помилка автентифікації Ñертифікату Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача \"%s\": не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ DN Ñуб'єкта" -#: libpq/auth.c:2818 +#: libpq/auth.c:2816 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": DN mismatch" msgstr "помилка перевірки Ñертифікату (clientcert=verify-full) Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача \"%s\": DN невідповідніÑÑ‚ÑŒ" -#: libpq/auth.c:2823 +#: libpq/auth.c:2821 #, c-format msgid "certificate validation (clientcert=verify-full) failed for user \"%s\": CN mismatch" msgstr "помилка перевірки Ñертифікату (clientcert=verify-full) Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача \"%s\": CN невідповідніÑÑ‚ÑŒ" -#: libpq/auth.c:2925 +#: libpq/auth.c:2923 #, c-format msgid "RADIUS server not specified" msgstr "RADIUS-Ñервер не вказаний" -#: libpq/auth.c:2932 +#: libpq/auth.c:2930 #, c-format msgid "RADIUS secret not specified" msgstr "Секрет RADIUS не вказаний" -#: libpq/auth.c:2946 +#: libpq/auth.c:2944 #, c-format msgid "RADIUS authentication does not support passwords longer than %d characters" msgstr "ÐÐ²Ñ‚ÐµÐ½Ñ‚Ð¸Ñ„Ñ–ÐºÐ°Ñ†Ñ–Ñ RADIUS не підтримує паролі довші ніж %d Ñимволів" -#: libpq/auth.c:3053 libpq/hba.c:1976 +#: libpq/auth.c:3051 libpq/hba.c:1976 #, c-format msgid "could not translate RADIUS server name \"%s\" to address: %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ ім'Ñ Ñерверу RADIUS \"%s\" в адреÑу: %s" -#: libpq/auth.c:3067 +#: libpq/auth.c:3065 #, c-format msgid "could not generate random encryption vector" msgstr "не вдалоÑÑ Ñтворити випадковий вектор шифруваннÑ" -#: libpq/auth.c:3104 +#: libpq/auth.c:3102 #, c-format msgid "could not perform MD5 encryption of password: %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ MD5 ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð¾Ð»ÑŽ: %s" -#: libpq/auth.c:3131 +#: libpq/auth.c:3129 #, c-format msgid "could not create RADIUS socket: %m" msgstr "не вдалоÑÑ Ñтворити Ñокет RADIUS: %m" -#: libpq/auth.c:3153 +#: libpq/auth.c:3151 #, c-format msgid "could not bind local RADIUS socket: %m" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¸Ð²'ÑзатиÑÑ Ð´Ð¾ локального Ñокету RADIUS: %m" -#: libpq/auth.c:3163 +#: libpq/auth.c:3161 #, c-format msgid "could not send RADIUS packet: %m" msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð¿Ñ€Ð°Ð²Ð¸Ñ‚Ð¸ пакет RADIUS: %m" -#: libpq/auth.c:3197 libpq/auth.c:3223 +#: libpq/auth.c:3195 libpq/auth.c:3221 #, c-format msgid "timeout waiting for RADIUS response from %s" msgstr "перевищено Ñ‡Ð°Ñ Ð¾Ñ‡Ñ–ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ–Ð´Ð¿Ð¾Ð²Ñ–Ð´Ñ– RADIUS від %s" -#: libpq/auth.c:3216 +#: libpq/auth.c:3214 #, c-format msgid "could not check status on RADIUS socket: %m" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ²Ñ–Ñ€Ð¸Ñ‚Ð¸ ÑÑ‚Ð°Ñ‚ÑƒÑ Ñокету RADIUS: %m" -#: libpq/auth.c:3246 +#: libpq/auth.c:3244 #, c-format msgid "could not read RADIUS response: %m" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ відповідь RADIUS: %m" -#: libpq/auth.c:3259 libpq/auth.c:3263 +#: libpq/auth.c:3257 libpq/auth.c:3261 #, c-format msgid "RADIUS response from %s was sent from incorrect port: %d" msgstr "Відповідь RADIUS від %s була відправлена з неправильного порту: %d" -#: libpq/auth.c:3272 +#: libpq/auth.c:3270 #, c-format msgid "RADIUS response from %s too short: %d" msgstr "Занадто коротка відповідь RADIUS від %s: %d" -#: libpq/auth.c:3279 +#: libpq/auth.c:3277 #, c-format msgid "RADIUS response from %s has corrupt length: %d (actual length %d)" msgstr "У відповіді RADIUS від %s покшоджена довжина: %d (фактична довжина %d)" -#: libpq/auth.c:3287 +#: libpq/auth.c:3285 #, c-format msgid "RADIUS response from %s is to a different request: %d (should be %d)" msgstr "Прийшла відповідь RADIUS від %s на інший запит: %d (очікувалаÑÑ %d)" -#: libpq/auth.c:3312 +#: libpq/auth.c:3310 #, c-format msgid "could not perform MD5 encryption of received packet: %s" msgstr "не вдалоÑÑ Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚Ð¸ MD5 ÑˆÐ¸Ñ„Ñ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð¾Ð³Ð¾ пакету: %s" -#: libpq/auth.c:3322 +#: libpq/auth.c:3320 #, c-format msgid "RADIUS response from %s has incorrect MD5 signature" msgstr "Відповідь RADIUS від %s має неправильний Ð¿Ñ–Ð´Ð¿Ð¸Ñ MD5" -#: libpq/auth.c:3340 +#: libpq/auth.c:3338 #, c-format msgid "RADIUS response from %s has invalid code (%d) for user \"%s\"" msgstr "Відповідь RADIUS від %s має неприпуÑтимий код (%d) Ð´Ð»Ñ ÐºÐ¾Ñ€Ð¸Ñтувача \"%s\"" @@ -16562,7 +16577,7 @@ msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ поліморфний тип %s #: parser/parse_coerce.c:2587 #, c-format msgid "anycompatiblerange type %s does not match anycompatible type %s" -msgstr "тип anycompatiblerange %s не збігаєтьÑÑ Ð· типом anycompatible %s" +msgstr "тип anycompatiblerange %s не збігаєтьÑÑ Ð· типом anycompatible %s" #: parser/parse_coerce.c:2608 #, c-format @@ -17693,330 +17708,330 @@ msgstr "невірне ім'Ñ Ñ‚Ð¸Ð¿Ñƒ \"%s\"" msgid "cannot create partitioned table as inheritance child" msgstr "Ñтворити Ñекціоновану таблицю в ÑкоÑÑ‚Ñ– нащадка не можна" -#: parser/parse_utilcmd.c:580 +#: parser/parse_utilcmd.c:589 #, c-format msgid "array of serial is not implemented" msgstr "маÑиви поÑлідовноÑÑ‚Ñ– не реалізовані" -#: parser/parse_utilcmd.c:659 parser/parse_utilcmd.c:671 -#: parser/parse_utilcmd.c:730 +#: parser/parse_utilcmd.c:668 parser/parse_utilcmd.c:680 +#: parser/parse_utilcmd.c:739 #, c-format msgid "conflicting NULL/NOT NULL declarations for column \"%s\" of table \"%s\"" msgstr "неÑуміÑні Ð¾Ð³Ð¾Ð»Ð¾ÑˆÐµÐ½Ð½Ñ NULL/NOT NULL Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" таблиці \"%s\"" -#: parser/parse_utilcmd.c:683 +#: parser/parse_utilcmd.c:692 #, c-format msgid "multiple default values specified for column \"%s\" of table \"%s\"" msgstr "Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" таблиці \"%s\" вказано декілька значень за замовчуваннÑм" -#: parser/parse_utilcmd.c:700 +#: parser/parse_utilcmd.c:709 #, c-format msgid "identity columns are not supported on typed tables" msgstr "ідентифікаційні Ñтовпці не підтримуютьÑÑ Ð² типізованих таблицÑÑ…" -#: parser/parse_utilcmd.c:704 +#: parser/parse_utilcmd.c:713 #, c-format msgid "identity columns are not supported on partitions" msgstr "ідентифікаційні Ñтовпці не підтримуютьÑÑ Ð· ÑекціÑми" -#: parser/parse_utilcmd.c:713 +#: parser/parse_utilcmd.c:722 #, c-format msgid "multiple identity specifications for column \"%s\" of table \"%s\"" msgstr "Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" таблиці \"%s\" влаÑтивіÑÑ‚ÑŒ identity вказана неодноразово" -#: parser/parse_utilcmd.c:743 +#: parser/parse_utilcmd.c:752 #, c-format msgid "generated columns are not supported on typed tables" msgstr "згенеровані Ñтовпці не підтримуютьÑÑ Ð² типізованих таблицÑÑ…" -#: parser/parse_utilcmd.c:747 +#: parser/parse_utilcmd.c:756 #, c-format msgid "generated columns are not supported on partitions" msgstr "згенеровані Ñтовпці не підтримуютьÑÑ Ð² ÑекціÑÑ…" -#: parser/parse_utilcmd.c:752 +#: parser/parse_utilcmd.c:761 #, c-format msgid "multiple generation clauses specified for column \"%s\" of table \"%s\"" msgstr "Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" таблиці \"%s\" вказано декілька речень генерації" -#: parser/parse_utilcmd.c:770 parser/parse_utilcmd.c:885 +#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:894 #, c-format msgid "primary key constraints are not supported on foreign tables" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ Ð¿ÐµÑ€Ð²Ð¸Ð½Ð½Ð¾Ð³Ð¾ ключа Ð´Ð»Ñ Ñторонніх таблиць не підтримуютьÑÑ" -#: parser/parse_utilcmd.c:779 parser/parse_utilcmd.c:895 +#: parser/parse_utilcmd.c:788 parser/parse_utilcmd.c:904 #, c-format msgid "unique constraints are not supported on foreign tables" msgstr "Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑƒÐ½Ñ–ÐºÐ°Ð»ÑŒÐ½Ð¾ÑÑ‚Ñ– Ð´Ð»Ñ Ñторонніх таблиць не підтримуютьÑÑ" -#: parser/parse_utilcmd.c:824 +#: parser/parse_utilcmd.c:833 #, c-format msgid "both default and identity specified for column \"%s\" of table \"%s\"" msgstr "Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" таблиці \"%s\" вказано Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð·Ð° замовчуваннÑм Ñ– влаÑтивіÑÑ‚ÑŒ identity" -#: parser/parse_utilcmd.c:832 +#: parser/parse_utilcmd.c:841 #, c-format msgid "both default and generation expression specified for column \"%s\" of table \"%s\"" msgstr "Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" таблиці \"%s\" вказано вираз за замовчуваннÑм Ñ– вираз генерації" -#: parser/parse_utilcmd.c:840 +#: parser/parse_utilcmd.c:849 #, c-format msgid "both identity and generation expression specified for column \"%s\" of table \"%s\"" msgstr "Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\" таблиці \"%s\" вказано вираз ідентичноÑÑ‚Ñ– Ñ– вираз генерації" -#: parser/parse_utilcmd.c:905 +#: parser/parse_utilcmd.c:914 #, c-format msgid "exclusion constraints are not supported on foreign tables" msgstr "обмеженнÑ-Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñторонніх таблиць не підтримуютьÑÑ" -#: parser/parse_utilcmd.c:911 +#: parser/parse_utilcmd.c:920 #, c-format msgid "exclusion constraints are not supported on partitioned tables" msgstr "обмеженнÑ-Ð²Ð¸ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñекціонованих таблиць не підтримуютьÑÑ" -#: parser/parse_utilcmd.c:976 +#: parser/parse_utilcmd.c:985 #, c-format msgid "LIKE is not supported for creating foreign tables" msgstr "LIKE не підтримуєтьÑÑ Ð¿Ñ€Ð¸ Ñтворенні Ñторонніх таблиць" -#: parser/parse_utilcmd.c:989 +#: parser/parse_utilcmd.c:998 #, c-format msgid "relation \"%s\" is invalid in LIKE clause" msgstr "невірше Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½Ð½Ñ \"%s\" в реченні LIKE" -#: parser/parse_utilcmd.c:1755 parser/parse_utilcmd.c:1863 +#: parser/parse_utilcmd.c:1764 parser/parse_utilcmd.c:1872 #, c-format msgid "Index \"%s\" contains a whole-row table reference." msgstr "Ð†Ð½Ð´ÐµÐºÑ \"%s\" міÑтить поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю на веÑÑŒ Ñ€Ñдок." -#: parser/parse_utilcmd.c:2252 +#: parser/parse_utilcmd.c:2261 #, c-format msgid "cannot use an existing index in CREATE TABLE" msgstr "у CREATE TABLE не можна викориÑтовувати Ñ–Ñнуючий індекÑ" -#: parser/parse_utilcmd.c:2272 +#: parser/parse_utilcmd.c:2281 #, c-format msgid "index \"%s\" is already associated with a constraint" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" вже пов'Ñзаний з обмеженнÑм" -#: parser/parse_utilcmd.c:2293 +#: parser/parse_utilcmd.c:2302 #, c-format msgid "\"%s\" is not a unique index" msgstr "\"%s\" не Ñ” унікальним індекÑом" -#: parser/parse_utilcmd.c:2294 parser/parse_utilcmd.c:2301 -#: parser/parse_utilcmd.c:2308 parser/parse_utilcmd.c:2385 +#: parser/parse_utilcmd.c:2303 parser/parse_utilcmd.c:2310 +#: parser/parse_utilcmd.c:2317 parser/parse_utilcmd.c:2394 #, c-format msgid "Cannot create a primary key or unique constraint using such an index." msgstr "Створити первинний ключ або Ð¾Ð±Ð¼ÐµÐ¶ÐµÐ½Ð½Ñ ÑƒÐ½Ñ–ÐºÐ°Ð»ÑŒÐ½Ð¾ÑÑ‚Ñ–, викориÑтовуючи такий індекÑ, не можна." -#: parser/parse_utilcmd.c:2300 +#: parser/parse_utilcmd.c:2309 #, c-format msgid "index \"%s\" contains expressions" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" міÑтить вирази" -#: parser/parse_utilcmd.c:2307 +#: parser/parse_utilcmd.c:2316 #, c-format msgid "\"%s\" is a partial index" msgstr "\"%s\" Ñ” чаÑтковим індекÑом" -#: parser/parse_utilcmd.c:2319 +#: parser/parse_utilcmd.c:2328 #, c-format msgid "\"%s\" is a deferrable index" msgstr "\"%s\" Ñ” індекÑом, що відкладаєтьÑÑ" -#: parser/parse_utilcmd.c:2320 +#: parser/parse_utilcmd.c:2329 #, c-format msgid "Cannot create a non-deferrable constraint using a deferrable index." msgstr "Створити обмеженнÑ, що не відкладаєтьÑÑ, викориÑтовуючи індекÑ, що відкладаєтьÑÑ, не можна." -#: parser/parse_utilcmd.c:2384 +#: parser/parse_utilcmd.c:2393 #, c-format msgid "index \"%s\" column number %d does not have default sorting behavior" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" номер ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ %d не має поведінки ÑÐ¾Ñ€Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° замовчуваннÑм" -#: parser/parse_utilcmd.c:2541 +#: parser/parse_utilcmd.c:2550 #, c-format msgid "column \"%s\" appears twice in primary key constraint" msgstr "Ñтовпець \"%s\" з'ÑвлÑєтьÑÑ Ð´Ð²Ñ–Ñ‡Ñ– в обмеженні первинного ключа" -#: parser/parse_utilcmd.c:2547 +#: parser/parse_utilcmd.c:2556 #, c-format msgid "column \"%s\" appears twice in unique constraint" msgstr "Ñтовпець \"%s\" з'ÑвлÑєтьÑÑ Ð´Ð²Ñ–Ñ‡Ñ– в обмеженні унікальноÑÑ‚Ñ–" -#: parser/parse_utilcmd.c:2894 +#: parser/parse_utilcmd.c:2903 #, c-format msgid "index expressions and predicates can refer only to the table being indexed" msgstr "індекÑ-вирази й предикати можуть поÑилатиÑÑŒ лише на індекÑовану таблицю" -#: parser/parse_utilcmd.c:2966 +#: parser/parse_utilcmd.c:2975 #, c-format msgid "statistics expressions can refer only to the table being referenced" msgstr "вирази ÑтатиÑтики можуть поÑилатиÑÑ Ð»Ð¸ÑˆÐµ на таблицю, Ð´Ð»Ñ Ñкої збираєтьÑÑ ÑтатиÑтика" -#: parser/parse_utilcmd.c:3009 +#: parser/parse_utilcmd.c:3018 #, c-format msgid "rules on materialized views are not supported" msgstr "правила Ð´Ð»Ñ Ð¼Ð°Ñ‚ÐµÑ€Ñ–Ð°Ð»Ñ–Ð·Ð¾Ð²Ð°Ð½Ð¸Ñ… подань не підтримуютьÑÑ" -#: parser/parse_utilcmd.c:3072 +#: parser/parse_utilcmd.c:3081 #, c-format msgid "rule WHERE condition cannot contain references to other relations" msgstr "в умовах WHERE правила не можуть міÑтити поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° інші зв'Ñзки" -#: parser/parse_utilcmd.c:3145 +#: parser/parse_utilcmd.c:3154 #, c-format msgid "rules with WHERE conditions can only have SELECT, INSERT, UPDATE, or DELETE actions" msgstr "правила з умовами WHERE можуть мати лише дії SELECT, INSERT, UPDATE або DELETE" -#: parser/parse_utilcmd.c:3163 parser/parse_utilcmd.c:3264 +#: parser/parse_utilcmd.c:3172 parser/parse_utilcmd.c:3273 #: rewrite/rewriteHandler.c:532 rewrite/rewriteManip.c:1021 #, c-format msgid "conditional UNION/INTERSECT/EXCEPT statements are not implemented" msgstr "умовні оператори UNION/INTERSECT/EXCEPT не реалізовані" -#: parser/parse_utilcmd.c:3181 +#: parser/parse_utilcmd.c:3190 #, c-format msgid "ON SELECT rule cannot use OLD" msgstr "у правилі ON SELECT не можна викориÑтовувати OLD" -#: parser/parse_utilcmd.c:3185 +#: parser/parse_utilcmd.c:3194 #, c-format msgid "ON SELECT rule cannot use NEW" msgstr "у правилі ON SELECT не можна викориÑтовувати NEW" -#: parser/parse_utilcmd.c:3194 +#: parser/parse_utilcmd.c:3203 #, c-format msgid "ON INSERT rule cannot use OLD" msgstr "у правилі ON INSERT не можна викориÑтовувати OLD" -#: parser/parse_utilcmd.c:3200 +#: parser/parse_utilcmd.c:3209 #, c-format msgid "ON DELETE rule cannot use NEW" msgstr "у правилі ON DELETE не можна викориÑтовувати NEW" -#: parser/parse_utilcmd.c:3228 +#: parser/parse_utilcmd.c:3237 #, c-format msgid "cannot refer to OLD within WITH query" msgstr "у запиті WITH не можна поÑилатиÑÑ Ð½Ð° OLD" -#: parser/parse_utilcmd.c:3235 +#: parser/parse_utilcmd.c:3244 #, c-format msgid "cannot refer to NEW within WITH query" msgstr "у запиті WITH не можна поÑилатиÑÑ Ð½Ð° NEW" -#: parser/parse_utilcmd.c:3689 +#: parser/parse_utilcmd.c:3698 #, c-format msgid "misplaced DEFERRABLE clause" msgstr "Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ DEFERRABLE розташовано неправильно" -#: parser/parse_utilcmd.c:3694 parser/parse_utilcmd.c:3709 +#: parser/parse_utilcmd.c:3703 parser/parse_utilcmd.c:3718 #, c-format msgid "multiple DEFERRABLE/NOT DEFERRABLE clauses not allowed" msgstr "декілька речень DEFERRABLE/NOT DEFERRABLE не допуÑкаютьÑÑ" -#: parser/parse_utilcmd.c:3704 +#: parser/parse_utilcmd.c:3713 #, c-format msgid "misplaced NOT DEFERRABLE clause" msgstr "Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ NOT DEFERRABLE розташовано неправильно" -#: parser/parse_utilcmd.c:3717 parser/parse_utilcmd.c:3743 gram.y:5937 +#: parser/parse_utilcmd.c:3726 parser/parse_utilcmd.c:3752 gram.y:5937 #, c-format msgid "constraint declared INITIALLY DEFERRED must be DEFERRABLE" msgstr "обмеженнÑ, оголошене Ñк INITIALLY DEFERRED, повинно бути оголошене Ñк DEFERRABLE" -#: parser/parse_utilcmd.c:3725 +#: parser/parse_utilcmd.c:3734 #, c-format msgid "misplaced INITIALLY DEFERRED clause" msgstr "Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ INITIALLY DEFERRED розташовано неправильно" -#: parser/parse_utilcmd.c:3730 parser/parse_utilcmd.c:3756 +#: parser/parse_utilcmd.c:3739 parser/parse_utilcmd.c:3765 #, c-format msgid "multiple INITIALLY IMMEDIATE/DEFERRED clauses not allowed" msgstr "декілька речень INITIALLY IMMEDIATE/DEFERRED не допуÑкаютьÑÑ" -#: parser/parse_utilcmd.c:3751 +#: parser/parse_utilcmd.c:3760 #, c-format msgid "misplaced INITIALLY IMMEDIATE clause" msgstr "Ñ€ÐµÑ‡ÐµÐ½Ð½Ñ INITIALLY IMMEDIATE розташовано неправильно" -#: parser/parse_utilcmd.c:3944 +#: parser/parse_utilcmd.c:3953 #, c-format msgid "CREATE specifies a schema (%s) different from the one being created (%s)" msgstr "Ð’ CREATE вказана Ñхема (%s), Ñка відрізнÑєтьÑÑ Ð²Ñ–Ð´ Ñтворюваної (%s)" -#: parser/parse_utilcmd.c:3979 +#: parser/parse_utilcmd.c:3988 #, c-format msgid "\"%s\" is not a partitioned table" msgstr "\"%s\" не Ñ” Ñекціонованою таблицею" -#: parser/parse_utilcmd.c:3986 +#: parser/parse_utilcmd.c:3995 #, c-format msgid "table \"%s\" is not partitioned" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ \"%s\" не Ñ” Ñекційною" -#: parser/parse_utilcmd.c:3993 +#: parser/parse_utilcmd.c:4002 #, c-format msgid "index \"%s\" is not partitioned" msgstr "Ñ–Ð½Ð´ÐµÐºÑ \"%s\" не Ñ” Ñекціонованим" -#: parser/parse_utilcmd.c:4033 +#: parser/parse_utilcmd.c:4042 #, c-format msgid "a hash-partitioned table may not have a default partition" msgstr "у геш-Ñекціонованій таблиці не може бути розділу за замовчуваннÑм" -#: parser/parse_utilcmd.c:4050 +#: parser/parse_utilcmd.c:4059 #, c-format msgid "invalid bound specification for a hash partition" msgstr "неприпуÑтима вказівка границі Ð´Ð»Ñ Ð³ÐµÑˆ-Ñекції" -#: parser/parse_utilcmd.c:4056 partitioning/partbounds.c:4824 +#: parser/parse_utilcmd.c:4065 partitioning/partbounds.c:4824 #, c-format msgid "modulus for hash partition must be an integer value greater than zero" msgstr "модуль Ð´Ð»Ñ Ñ…ÐµÑˆ-Ñекції повинен бути цілим чиÑлом більшим за нуль" -#: parser/parse_utilcmd.c:4063 partitioning/partbounds.c:4832 +#: parser/parse_utilcmd.c:4072 partitioning/partbounds.c:4832 #, c-format msgid "remainder for hash partition must be less than modulus" msgstr "залишок Ð´Ð»Ñ Ð³ÐµÑˆ-Ñекції повинен бути меньшим, ніж модуль" -#: parser/parse_utilcmd.c:4076 +#: parser/parse_utilcmd.c:4085 #, c-format msgid "invalid bound specification for a list partition" msgstr "нерипуÑтима вказівка границі Ð´Ð»Ñ Ñекції по ÑпиÑку" -#: parser/parse_utilcmd.c:4129 +#: parser/parse_utilcmd.c:4138 #, c-format msgid "invalid bound specification for a range partition" msgstr "неприпуÑтима вказівка границі Ð´Ð»Ñ Ñекції діапазону" -#: parser/parse_utilcmd.c:4135 +#: parser/parse_utilcmd.c:4144 #, c-format msgid "FROM must specify exactly one value per partitioning column" msgstr "Ð’ FROM повинно вказуватиÑÑ Ð»Ð¸ÑˆÐµ одне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ ÑекціонуваннÑ" -#: parser/parse_utilcmd.c:4139 +#: parser/parse_utilcmd.c:4148 #, c-format msgid "TO must specify exactly one value per partitioning column" msgstr "Ð’ TO повинно вказуватиÑÑ Ð»Ð¸ÑˆÐµ одне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ ÑекціонуваннÑ" -#: parser/parse_utilcmd.c:4253 +#: parser/parse_utilcmd.c:4262 #, c-format msgid "cannot specify NULL in range bound" msgstr "вказати NULL в діапазоні границі не можна" -#: parser/parse_utilcmd.c:4302 +#: parser/parse_utilcmd.c:4311 #, c-format msgid "every bound following MAXVALUE must also be MAXVALUE" msgstr "за кожною границею MAXVALUE повинні бути лише границі MAXVALUE" -#: parser/parse_utilcmd.c:4309 +#: parser/parse_utilcmd.c:4318 #, c-format msgid "every bound following MINVALUE must also be MINVALUE" msgstr "за кожною границею MINVALUE повинні бути лише границі MINVALUE" -#: parser/parse_utilcmd.c:4352 +#: parser/parse_utilcmd.c:4361 #, c-format msgid "specified value cannot be cast to type %s for column \"%s\"" msgstr "вказане Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ðµ можна привеÑти до типу %s Ð´Ð»Ñ ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ \"%s\"" @@ -18471,7 +18486,7 @@ msgstr "видалено залишковий файл ÑтатуÑу архів #: postmaster/pgarch.c:455 #, c-format msgid "removal of orphan archive status file \"%s\" failed too many times, will try again later" -msgstr "Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð»Ð¸ÑˆÐºÐ¾Ð²Ð¾Ð³Ð¾ файлу ÑтатуÑу архіву \"%s\" не вдалоÑÑ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ багато разів, пізніже Ñпробуємо знову" +msgstr "Ð²Ð¸Ð´Ð°Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð»Ð¸ÑˆÐºÐ¾Ð²Ð¾Ð³Ð¾ файлу ÑтатуÑу архіву \"%s\" не вдалоÑÑ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ багато разів, пізніже Ñпробуємо знову" #: postmaster/pgarch.c:491 #, c-format @@ -18683,8 +18698,8 @@ msgid "unsupported frontend protocol %u.%u: server supports %u.0 to %u.%u" msgstr "протокол інтерфейÑу, що не підтримуєтьÑÑ, %u.%u: Ñервер підтримує %u.0 до %u.%u" #: postmaster/postmaster.c:2264 utils/misc/guc.c:7400 utils/misc/guc.c:7436 -#: utils/misc/guc.c:7506 utils/misc/guc.c:8937 utils/misc/guc.c:11979 -#: utils/misc/guc.c:12020 +#: utils/misc/guc.c:7506 utils/misc/guc.c:8944 utils/misc/guc.c:11986 +#: utils/misc/guc.c:12027 #, c-format msgid "invalid value for parameter \"%s\": \"%s\"" msgstr "неприпуÑтиме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ \"%s\": \"%s\"" @@ -20974,7 +20989,7 @@ msgstr "ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ñ–Ð·Ð°Ñ†Ñ–Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ даних (fsync), витр #: storage/file/reinit.c:145 #, c-format msgid "resetting unlogged relations (init), elapsed time: %ld.%02d s, current path: %s" -msgstr "ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð½ÐµÐ¶ÑƒÑ€Ð½Ð°Ð»ÑŒÐ¾Ð²Ð°Ð½Ð¸Ñ… відношень (init), витрачено чаÑу: %ld.%02d , поточний шлÑÑ…: %s" +msgstr "ÑÐºÐ¸Ð´Ð°Ð½Ð½Ñ Ð½ÐµÐ¶ÑƒÑ€Ð½Ð°Ð»ÑŒÐ¾Ð²Ð°Ð½Ð¸Ñ… відношень (init), витрачено чаÑу: %ld.%02d, поточний шлÑÑ…: %s" #: storage/file/reinit.c:148 #, c-format @@ -22208,37 +22223,37 @@ msgstr "Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ MaxFragments повинно бути >= 0" msgid "could not unlink permanent statistics file \"%s\": %m" msgstr "не вдалоÑÑ Ð²Ñ–Ð´'єднати файл поÑтійної ÑтатиÑтики \"%s\": %m" -#: utils/activity/pgstat.c:1226 +#: utils/activity/pgstat.c:1229 #, c-format msgid "invalid statistics kind: \"%s\"" msgstr "неприпуÑтимий тип ÑтатиÑтики: \"%s\"" -#: utils/activity/pgstat.c:1306 +#: utils/activity/pgstat.c:1309 #, c-format msgid "could not open temporary statistics file \"%s\": %m" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ тимчаÑовий файл ÑтатиÑтики \"%s\": %m" -#: utils/activity/pgstat.c:1412 +#: utils/activity/pgstat.c:1415 #, c-format msgid "could not write temporary statistics file \"%s\": %m" msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати в тимчаÑовий файл ÑтатиÑтики \"%s\": %m" -#: utils/activity/pgstat.c:1421 +#: utils/activity/pgstat.c:1424 #, c-format msgid "could not close temporary statistics file \"%s\": %m" msgstr "не вдалоÑÑ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ð¸ тимчаÑовий файл ÑтатиÑтики \"%s\": %m" -#: utils/activity/pgstat.c:1429 +#: utils/activity/pgstat.c:1432 #, c-format msgid "could not rename temporary statistics file \"%s\" to \"%s\": %m" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ тимчаÑовий файл ÑтатиÑтики з \"%s\" в \"%s\": %m" -#: utils/activity/pgstat.c:1478 +#: utils/activity/pgstat.c:1481 #, c-format msgid "could not open statistics file \"%s\": %m" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл ÑтатиÑтики \"%s\": %m" -#: utils/activity/pgstat.c:1634 +#: utils/activity/pgstat.c:1637 #, c-format msgid "corrupted statistics file \"%s\"" msgstr "пошкоджений файл ÑтатиÑтики \"%s\"" @@ -22735,7 +22750,7 @@ msgstr "Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð· %s в ASCII не підт #: utils/adt/oid.c:44 utils/adt/oid.c:58 utils/adt/oid.c:64 utils/adt/oid.c:86 #: utils/adt/pg_lsn.c:74 utils/adt/tid.c:76 utils/adt/tid.c:84 #: utils/adt/tid.c:98 utils/adt/tid.c:107 utils/adt/timestamp.c:497 -#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:346 +#: utils/adt/uuid.c:135 utils/adt/xid8funcs.c:354 #, c-format msgid "invalid input syntax for type %s: \"%s\"" msgstr "неприпуÑтимий ÑинтакÑÐ¸Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ %s: \"%s\"" @@ -22757,7 +22772,7 @@ msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ \"%s\" поза діапазоном Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ %s #: utils/adt/int8.c:1165 utils/adt/numeric.c:3093 utils/adt/numeric.c:3116 #: utils/adt/numeric.c:3201 utils/adt/numeric.c:3219 utils/adt/numeric.c:3315 #: utils/adt/numeric.c:8481 utils/adt/numeric.c:8771 utils/adt/numeric.c:9096 -#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3342 +#: utils/adt/numeric.c:10553 utils/adt/timestamp.c:3361 #, c-format msgid "division by zero" msgstr "Ð´Ñ–Ð»ÐµÐ½Ð½Ñ Ð½Ð° нуль" @@ -22796,7 +22811,7 @@ msgid "date out of range: \"%s\"" msgstr "дата поза діапазоном: \"%s\"" #: utils/adt/date.c:215 utils/adt/date.c:513 utils/adt/date.c:537 -#: utils/adt/xml.c:2209 +#: utils/adt/xml.c:2219 #, c-format msgid "date out of range" msgstr "дата поза діапазоном" @@ -22823,20 +22838,20 @@ msgid "date out of range for timestamp" msgstr "Ð´Ð»Ñ Ð¿Ð¾Ð·Ð½Ð°Ñ‡ÐºÐ¸ чаÑу дата поза діапазоном" #: utils/adt/date.c:1115 utils/adt/date.c:1198 utils/adt/date.c:1214 -#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4059 -#: utils/adt/timestamp.c:4252 utils/adt/timestamp.c:4424 -#: utils/adt/timestamp.c:4677 utils/adt/timestamp.c:4878 -#: utils/adt/timestamp.c:4925 utils/adt/timestamp.c:5149 -#: utils/adt/timestamp.c:5196 utils/adt/timestamp.c:5326 +#: utils/adt/date.c:2195 utils/adt/date.c:2973 utils/adt/timestamp.c:4078 +#: utils/adt/timestamp.c:4271 utils/adt/timestamp.c:4443 +#: utils/adt/timestamp.c:4696 utils/adt/timestamp.c:4897 +#: utils/adt/timestamp.c:4944 utils/adt/timestamp.c:5168 +#: utils/adt/timestamp.c:5215 utils/adt/timestamp.c:5345 #, c-format msgid "unit \"%s\" not supported for type %s" msgstr "Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ \"%s\" не підтримуєтьÑÑ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ %s" #: utils/adt/date.c:1223 utils/adt/date.c:2211 utils/adt/date.c:2993 -#: utils/adt/timestamp.c:4073 utils/adt/timestamp.c:4269 -#: utils/adt/timestamp.c:4438 utils/adt/timestamp.c:4637 -#: utils/adt/timestamp.c:4934 utils/adt/timestamp.c:5205 -#: utils/adt/timestamp.c:5387 +#: utils/adt/timestamp.c:4092 utils/adt/timestamp.c:4288 +#: utils/adt/timestamp.c:4457 utils/adt/timestamp.c:4656 +#: utils/adt/timestamp.c:4953 utils/adt/timestamp.c:5224 +#: utils/adt/timestamp.c:5406 #, c-format msgid "unit \"%s\" not recognized for type %s" msgstr "нерозпізнана Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ \"%s\" Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ %s" @@ -22850,21 +22865,22 @@ msgstr "нерозпізнана Ð¾Ð´Ð¸Ð½Ð¸Ñ†Ñ \"%s\" Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ %s" #: utils/adt/timestamp.c:699 utils/adt/timestamp.c:708 #: utils/adt/timestamp.c:786 utils/adt/timestamp.c:819 #: utils/adt/timestamp.c:2916 utils/adt/timestamp.c:2937 -#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2959 -#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:3022 -#: utils/adt/timestamp.c:3045 utils/adt/timestamp.c:3058 -#: utils/adt/timestamp.c:3069 utils/adt/timestamp.c:3077 -#: utils/adt/timestamp.c:3763 utils/adt/timestamp.c:3887 -#: utils/adt/timestamp.c:3977 utils/adt/timestamp.c:4067 -#: utils/adt/timestamp.c:4160 utils/adt/timestamp.c:4263 -#: utils/adt/timestamp.c:4742 utils/adt/timestamp.c:5016 -#: utils/adt/timestamp.c:5466 utils/adt/timestamp.c:5480 +#: utils/adt/timestamp.c:2950 utils/adt/timestamp.c:2961 +#: utils/adt/timestamp.c:2967 utils/adt/timestamp.c:2975 +#: utils/adt/timestamp.c:3030 utils/adt/timestamp.c:3053 +#: utils/adt/timestamp.c:3066 utils/adt/timestamp.c:3080 +#: utils/adt/timestamp.c:3088 utils/adt/timestamp.c:3096 +#: utils/adt/timestamp.c:3782 utils/adt/timestamp.c:3906 +#: utils/adt/timestamp.c:3996 utils/adt/timestamp.c:4086 +#: utils/adt/timestamp.c:4179 utils/adt/timestamp.c:4282 +#: utils/adt/timestamp.c:4761 utils/adt/timestamp.c:5035 #: utils/adt/timestamp.c:5485 utils/adt/timestamp.c:5499 -#: utils/adt/timestamp.c:5532 utils/adt/timestamp.c:5619 -#: utils/adt/timestamp.c:5660 utils/adt/timestamp.c:5664 -#: utils/adt/timestamp.c:5733 utils/adt/timestamp.c:5737 -#: utils/adt/timestamp.c:5751 utils/adt/timestamp.c:5785 utils/adt/xml.c:2231 -#: utils/adt/xml.c:2238 utils/adt/xml.c:2258 utils/adt/xml.c:2265 +#: utils/adt/timestamp.c:5504 utils/adt/timestamp.c:5518 +#: utils/adt/timestamp.c:5551 utils/adt/timestamp.c:5638 +#: utils/adt/timestamp.c:5679 utils/adt/timestamp.c:5683 +#: utils/adt/timestamp.c:5752 utils/adt/timestamp.c:5756 +#: utils/adt/timestamp.c:5770 utils/adt/timestamp.c:5804 utils/adt/xml.c:2241 +#: utils/adt/xml.c:2248 utils/adt/xml.c:2268 utils/adt/xml.c:2275 #, c-format msgid "timestamp out of range" msgstr "позначка чаÑу поза діапазоном" @@ -22882,8 +22898,8 @@ msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ time поза діапазоном: % #: utils/adt/date.c:2096 utils/adt/date.c:2630 utils/adt/float.c:1048 #: utils/adt/float.c:1124 utils/adt/int.c:634 utils/adt/int.c:681 #: utils/adt/int.c:716 utils/adt/int8.c:414 utils/adt/numeric.c:2497 -#: utils/adt/timestamp.c:3413 utils/adt/timestamp.c:3444 -#: utils/adt/timestamp.c:3475 +#: utils/adt/timestamp.c:3432 utils/adt/timestamp.c:3463 +#: utils/adt/timestamp.c:3494 #, c-format msgid "invalid preceding or following size in window function" msgstr "неприпуÑтимий розмір preceding або following у віконній функції" @@ -22895,13 +22911,13 @@ msgstr "зÑув чаÑового поÑÑу поза діапазоном" #: utils/adt/date.c:3084 utils/adt/datetime.c:1121 utils/adt/datetime.c:2027 #: utils/adt/datetime.c:4898 utils/adt/timestamp.c:516 -#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4346 -#: utils/adt/timestamp.c:5491 utils/adt/timestamp.c:5743 +#: utils/adt/timestamp.c:543 utils/adt/timestamp.c:4365 +#: utils/adt/timestamp.c:5510 utils/adt/timestamp.c:5762 #, c-format msgid "time zone \"%s\" not recognized" msgstr "чаÑовий поÑÑ \"%s\" не розпізнаний" -#: utils/adt/date.c:3117 utils/adt/timestamp.c:5521 utils/adt/timestamp.c:5774 +#: utils/adt/date.c:3117 utils/adt/timestamp.c:5540 utils/adt/timestamp.c:5793 #, c-format msgid "interval time zone \"%s\" must not include months or days" msgstr "інтервал \"%s\", Ñкий задає чаÑовий поÑÑ, не повинен включати міÑÑці або дні" @@ -23310,7 +23326,7 @@ msgstr "занадто довге Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñƒ локаліз #: utils/adt/formatting.c:3373 #, c-format msgid "unmatched format separator \"%c\"" -msgstr "невідповідний роздільник формату \"%c\"" +msgstr "невідповідний роздільник формату \"%c\"" #: utils/adt/formatting.c:3434 #, c-format @@ -23476,7 +23492,7 @@ msgid "invalid int2vector data" msgstr "неприпуÑтимі дані int2vector" #: utils/adt/int.c:1528 utils/adt/int8.c:1404 utils/adt/numeric.c:1678 -#: utils/adt/timestamp.c:5836 utils/adt/timestamp.c:5916 +#: utils/adt/timestamp.c:5855 utils/adt/timestamp.c:5935 #, c-format msgid "step size cannot equal zero" msgstr "розмір кроку не може дорівнювати нулю" @@ -24618,7 +24634,7 @@ msgstr "Якщо ви хочете викориÑтовувати regexp_replace #: utils/adt/regexp.c:702 utils/adt/regexp.c:711 utils/adt/regexp.c:1068 #: utils/adt/regexp.c:1132 utils/adt/regexp.c:1141 utils/adt/regexp.c:1150 #: utils/adt/regexp.c:1159 utils/adt/regexp.c:1839 utils/adt/regexp.c:1848 -#: utils/adt/regexp.c:1857 utils/misc/guc.c:11868 utils/misc/guc.c:11902 +#: utils/adt/regexp.c:1857 utils/misc/guc.c:11875 utils/misc/guc.c:11909 #, c-format msgid "invalid value for parameter \"%s\": %d" msgstr "неприпуÑтиме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"%s\": %d" @@ -24667,7 +24683,7 @@ msgid "Use NONE to denote the missing argument of a unary operator." msgstr "Щоб позначити пропущений аргумент унарного оператору, викориÑтайте NONE." #: utils/adt/regproc.c:715 utils/adt/regproc.c:756 utils/adt/regproc.c:2055 -#: utils/adt/ruleutils.c:10028 utils/adt/ruleutils.c:10197 +#: utils/adt/ruleutils.c:10026 utils/adt/ruleutils.c:10195 #, c-format msgid "too many arguments" msgstr "занадто багато аргументів" @@ -24843,22 +24859,22 @@ msgstr "не можна порівнювати неподібні типи ÑÑ‚Ð msgid "cannot compare record types with different numbers of columns" msgstr "не можна порівнювати типи запиÑів з різної кількіÑÑ‚ÑŽ Ñтовпців" -#: utils/adt/ruleutils.c:2725 +#: utils/adt/ruleutils.c:2710 #, c-format msgid "input is a query, not an expression" msgstr "вхідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ” запитом, а не виразом" -#: utils/adt/ruleutils.c:2737 +#: utils/adt/ruleutils.c:2722 #, c-format msgid "expression contains variables of more than one relation" msgstr "вираз міÑтить змінні більше одного відношеннÑ" -#: utils/adt/ruleutils.c:2744 +#: utils/adt/ruleutils.c:2729 #, c-format msgid "expression contains variables" msgstr "вираз міÑтить змінні" -#: utils/adt/ruleutils.c:5267 +#: utils/adt/ruleutils.c:5265 #, c-format msgid "rule \"%s\" has unsupported event type %d" msgstr "правило \"%s\" має непідтримуваний тип подій %d" @@ -24873,7 +24889,7 @@ msgstr "TIMESTAMP(%d)%s точніÑÑ‚ÑŒ не повинна бути від'єРmsgid "TIMESTAMP(%d)%s precision reduced to maximum allowed, %d" msgstr "TIMESTAMP(%d)%s точніÑÑ‚ÑŒ зменшена до дозволеного макÑимуму, %d" -#: utils/adt/timestamp.c:179 utils/adt/timestamp.c:437 utils/misc/guc.c:12892 +#: utils/adt/timestamp.c:179 utils/adt/timestamp.c:437 utils/misc/guc.c:12899 #, c-format msgid "timestamp out of range: \"%s\"" msgstr "позначка чаÑу поза діапазоном: \"%s\"" @@ -24912,13 +24928,13 @@ msgstr "позначка чаÑу поза діапазоном: \"%g\"" #: utils/adt/timestamp.c:938 utils/adt/timestamp.c:1509 #: utils/adt/timestamp.c:2761 utils/adt/timestamp.c:2778 #: utils/adt/timestamp.c:2831 utils/adt/timestamp.c:2870 -#: utils/adt/timestamp.c:3115 utils/adt/timestamp.c:3120 -#: utils/adt/timestamp.c:3125 utils/adt/timestamp.c:3175 -#: utils/adt/timestamp.c:3182 utils/adt/timestamp.c:3189 -#: utils/adt/timestamp.c:3209 utils/adt/timestamp.c:3216 -#: utils/adt/timestamp.c:3223 utils/adt/timestamp.c:3310 -#: utils/adt/timestamp.c:3385 utils/adt/timestamp.c:3758 -#: utils/adt/timestamp.c:3882 utils/adt/timestamp.c:4432 +#: utils/adt/timestamp.c:3134 utils/adt/timestamp.c:3139 +#: utils/adt/timestamp.c:3144 utils/adt/timestamp.c:3194 +#: utils/adt/timestamp.c:3201 utils/adt/timestamp.c:3208 +#: utils/adt/timestamp.c:3228 utils/adt/timestamp.c:3235 +#: utils/adt/timestamp.c:3242 utils/adt/timestamp.c:3329 +#: utils/adt/timestamp.c:3404 utils/adt/timestamp.c:3777 +#: utils/adt/timestamp.c:3901 utils/adt/timestamp.c:4451 #, c-format msgid "interval out of range" msgstr "інтервал поза діапазоном" @@ -24948,22 +24964,22 @@ msgstr "interval(%d) точніÑÑ‚ÑŒ повинна бути між %d Ñ– %d" msgid "cannot subtract infinite timestamps" msgstr "віднімати безкінечні позначки чаÑу не можна" -#: utils/adt/timestamp.c:3918 utils/adt/timestamp.c:4101 +#: utils/adt/timestamp.c:3937 utils/adt/timestamp.c:4120 #, c-format msgid "origin out of range" msgstr "джерело поза діапазоном" -#: utils/adt/timestamp.c:3923 utils/adt/timestamp.c:4106 +#: utils/adt/timestamp.c:3942 utils/adt/timestamp.c:4125 #, c-format msgid "timestamps cannot be binned into intervals containing months or years" msgstr "позначки чаÑу не можна розділÑти на інтервали, що міÑÑ‚ÑÑ‚ÑŒ міÑÑці або роки" -#: utils/adt/timestamp.c:3930 utils/adt/timestamp.c:4113 +#: utils/adt/timestamp.c:3949 utils/adt/timestamp.c:4132 #, c-format msgid "stride must be greater than zero" msgstr "крок повинен бути більше нулÑ" -#: utils/adt/timestamp.c:4426 +#: utils/adt/timestamp.c:4445 #, c-format msgid "Months usually have fractional weeks." msgstr "У міÑÑців зазвичай Ñ” дробові тижні." @@ -25351,171 +25367,171 @@ msgstr "аргумент ntile повинен бути більше нулÑ" msgid "argument of nth_value must be greater than zero" msgstr "аргумент nth_value повинен бути більше нулÑ" -#: utils/adt/xid8funcs.c:117 +#: utils/adt/xid8funcs.c:118 #, c-format msgid "transaction ID %llu is in the future" msgstr "ідентифікатор транзакції %llu знаходитьÑÑ Ð² майбутньому" -#: utils/adt/xid8funcs.c:547 +#: utils/adt/xid8funcs.c:555 #, c-format msgid "invalid external pg_snapshot data" msgstr "неприпуÑтимі зовнішні дані pg_snapshot" -#: utils/adt/xml.c:222 +#: utils/adt/xml.c:232 #, c-format msgid "unsupported XML feature" msgstr "XML-функції не підтримуютьÑÑ" -#: utils/adt/xml.c:223 +#: utils/adt/xml.c:233 #, c-format msgid "This functionality requires the server to be built with libxml support." msgstr "Ð¦Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ð¾Ð½Ð°Ð»ÑŒÐ½Ñ–ÑÑ‚ÑŒ потребує, щоб Ñервер був побудований з підтримкою libxml." -#: utils/adt/xml.c:242 utils/mb/mbutils.c:627 +#: utils/adt/xml.c:252 utils/mb/mbutils.c:627 #, c-format msgid "invalid encoding name \"%s\"" msgstr "неприпуÑтиме Ñ–Ð¼â€™Ñ ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ \"%s\"" -#: utils/adt/xml.c:485 utils/adt/xml.c:490 +#: utils/adt/xml.c:495 utils/adt/xml.c:500 #, c-format msgid "invalid XML comment" msgstr "неприпуÑтимий XML-коментар" -#: utils/adt/xml.c:619 +#: utils/adt/xml.c:629 #, c-format msgid "not an XML document" msgstr "не XML-документ" -#: utils/adt/xml.c:778 utils/adt/xml.c:801 +#: utils/adt/xml.c:788 utils/adt/xml.c:811 #, c-format msgid "invalid XML processing instruction" msgstr "неприпуÑтима XML-команда обробки" -#: utils/adt/xml.c:779 +#: utils/adt/xml.c:789 #, c-format msgid "XML processing instruction target name cannot be \"%s\"." msgstr "Метою XML-команди обробки не може бути \"%s\"." -#: utils/adt/xml.c:802 +#: utils/adt/xml.c:812 #, c-format msgid "XML processing instruction cannot contain \"?>\"." msgstr "XML-команда обробки не може міÑтити \"?>\"." -#: utils/adt/xml.c:881 +#: utils/adt/xml.c:891 #, c-format msgid "xmlvalidate is not implemented" msgstr "Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ xmlvalidate не реалізована" -#: utils/adt/xml.c:960 +#: utils/adt/xml.c:970 #, c-format msgid "could not initialize XML library" msgstr "не вдалоÑÑ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ бібліотеку XML" -#: utils/adt/xml.c:961 +#: utils/adt/xml.c:971 #, c-format msgid "libxml2 has incompatible char type: sizeof(char)=%zu, sizeof(xmlChar)=%zu." msgstr "libxml2 має неÑуміÑний тип char: sizeof(char)=%zu, sizeof(xmlChar)=%zu." -#: utils/adt/xml.c:1047 +#: utils/adt/xml.c:1057 #, c-format msgid "could not set up XML error handler" msgstr "не вдалоÑÑ Ð²Ñтановити обробник XML-помилок" -#: utils/adt/xml.c:1048 +#: utils/adt/xml.c:1058 #, c-format msgid "This probably indicates that the version of libxml2 being used is not compatible with the libxml2 header files that PostgreSQL was built with." msgstr "Можливо це означає, що викориÑтовувана верÑÑ–Ñ libxml2 неÑуміÑна з файлами-заголовками libxml2, з котрими був зібраний PostgreSQL." -#: utils/adt/xml.c:1935 +#: utils/adt/xml.c:1945 msgid "Invalid character value." msgstr "ÐеприпуÑтиме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу." -#: utils/adt/xml.c:1938 +#: utils/adt/xml.c:1948 msgid "Space required." msgstr "ПотребуєтьÑÑ Ð¿Ñ€Ð¾Ð±Ñ–Ð»." -#: utils/adt/xml.c:1941 +#: utils/adt/xml.c:1951 msgid "standalone accepts only 'yes' or 'no'." msgstr "значеннÑми атрибуту standalone можуть бути лише 'yes' або 'no'." -#: utils/adt/xml.c:1944 +#: utils/adt/xml.c:1954 msgid "Malformed declaration: missing version." msgstr "Ðеправильне оголошеннÑ: пропущена верÑÑ–Ñ." -#: utils/adt/xml.c:1947 +#: utils/adt/xml.c:1957 msgid "Missing encoding in text declaration." msgstr "Ð’ оголошенні пропущене кодуваннÑ." -#: utils/adt/xml.c:1950 +#: utils/adt/xml.c:1960 msgid "Parsing XML declaration: '?>' expected." msgstr "Ðналіз XML-оголошеннÑ: '?>' очікуєтьÑÑ." -#: utils/adt/xml.c:1953 +#: utils/adt/xml.c:1963 #, c-format msgid "Unrecognized libxml error code: %d." msgstr "Ðерозпізнаний код помилки libxml: %d." -#: utils/adt/xml.c:2210 +#: utils/adt/xml.c:2220 #, c-format msgid "XML does not support infinite date values." msgstr "XML не підтримує безкінечні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² датах." -#: utils/adt/xml.c:2232 utils/adt/xml.c:2259 +#: utils/adt/xml.c:2242 utils/adt/xml.c:2269 #, c-format msgid "XML does not support infinite timestamp values." msgstr "XML не підтримує безкінченні Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð² позначках чаÑу." -#: utils/adt/xml.c:2675 +#: utils/adt/xml.c:2685 #, c-format msgid "invalid query" msgstr "неприпуÑтимий запит" -#: utils/adt/xml.c:2767 +#: utils/adt/xml.c:2777 #, c-format msgid "portal \"%s\" does not return tuples" msgstr "portal \"%s\" не повертає кортежі" -#: utils/adt/xml.c:4019 +#: utils/adt/xml.c:4029 #, c-format msgid "invalid array for XML namespace mapping" msgstr "неприпуÑтимий маÑив з зіÑтавленнÑм проÑтіру імен XML" -#: utils/adt/xml.c:4020 +#: utils/adt/xml.c:4030 #, c-format msgid "The array must be two-dimensional with length of the second axis equal to 2." msgstr "МаÑив повинен бути двовимірним Ñ– міÑтити 2 елемента по другій віÑÑ–." -#: utils/adt/xml.c:4044 +#: utils/adt/xml.c:4054 #, c-format msgid "empty XPath expression" msgstr "пуÑтий вираз XPath" -#: utils/adt/xml.c:4096 +#: utils/adt/xml.c:4106 #, c-format msgid "neither namespace name nor URI may be null" msgstr "ні ім'Ñ Ð¿Ñ€Ð¾Ñтіру імен ні URI не можуть бути null" -#: utils/adt/xml.c:4103 +#: utils/adt/xml.c:4113 #, c-format msgid "could not register XML namespace with name \"%s\" and URI \"%s\"" msgstr "не вдалоÑÑ Ð·Ð°Ñ€ÐµÑ”Ñтрувати проÑÑ‚Ñ–Ñ€ імен XML з ім'Ñм \"%s\" Ñ– URI \"%s\"" -#: utils/adt/xml.c:4454 +#: utils/adt/xml.c:4464 #, c-format msgid "DEFAULT namespace is not supported" msgstr "ПроÑÑ‚Ñ–Ñ€ імен DEFAULT не підтримуєтьÑÑ" -#: utils/adt/xml.c:4483 +#: utils/adt/xml.c:4493 #, c-format msgid "row path filter must not be empty string" msgstr "шлÑÑ… фільтруючих Ñ€Ñдків не повинен бути пуÑтим" -#: utils/adt/xml.c:4514 +#: utils/adt/xml.c:4524 #, c-format msgid "column path filter must not be empty string" msgstr "шлÑÑ… фільтруючого ÑÑ‚Ð¾Ð²Ð¿Ñ†Ñ Ð½Ðµ повинен бути пуÑтим" -#: utils/adt/xml.c:4658 +#: utils/adt/xml.c:4668 #, c-format msgid "more than one value returned by column XPath expression" msgstr "вираз XPath, Ñкий відбирає Ñтовпець, повернув більше одного значеннÑ" @@ -25576,17 +25592,17 @@ msgstr "Продовжуємо уÑе одно, але щоÑÑŒ не так." msgid "could not remove cache file \"%s\": %m" msgstr "не вдалоÑÑ Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚Ð¸ файл кешу \"%s\": %m" -#: utils/cache/relmapper.c:590 +#: utils/cache/relmapper.c:591 #, c-format msgid "cannot PREPARE a transaction that modified relation mapping" msgstr "виконати PREPARE Ð´Ð»Ñ Ñ‚Ñ€Ð°Ð½Ð·Ð°ÐºÑ†Ñ–Ñ—, Ñка змінила зіÑÑ‚Ð°Ð²Ð»ÐµÐ½Ð½Ñ Ð²Ñ–Ð´Ð½Ð¾ÑˆÐµÐ½ÑŒ, не можна" -#: utils/cache/relmapper.c:836 +#: utils/cache/relmapper.c:839 #, c-format msgid "relation mapping file \"%s\" contains invalid data" msgstr "файл зіÑтавлень відношень \"%s\" міÑтить неприпуÑтимі дані" -#: utils/cache/relmapper.c:846 +#: utils/cache/relmapper.c:849 #, c-format msgid "relation mapping file \"%s\" contains incorrect checksum" msgstr "файл зіÑтавлень відношень \"%s\" міÑтить неправильну контрольну Ñуму" @@ -25611,92 +25627,92 @@ msgstr "TRAP: %s(\"%s\", Файл: \"%s\", Ð Ñдок: %d, PID: %d)\n" msgid "error occurred before error message processing is available\n" msgstr "ÑталаÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ° перед тим, Ñк обробка Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð¿Ñ€Ð¾ помилку була доÑтупна\n" -#: utils/error/elog.c:1943 +#: utils/error/elog.c:1947 #, c-format msgid "could not reopen file \"%s\" as stderr: %m" msgstr "не вдалоÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити файл \"%s\" Ñк stderr: %m" -#: utils/error/elog.c:1956 +#: utils/error/elog.c:1960 #, c-format msgid "could not reopen file \"%s\" as stdout: %m" msgstr "не вдалоÑÑ Ð¿Ð¾Ð²Ñ‚Ð¾Ñ€Ð½Ð¾ відкрити файл \"%s\" Ñк stdout: %m" -#: utils/error/elog.c:2521 utils/error/elog.c:2548 utils/error/elog.c:2564 +#: utils/error/elog.c:2525 utils/error/elog.c:2552 utils/error/elog.c:2568 msgid "[unknown]" msgstr "[unknown]" -#: utils/error/elog.c:2837 utils/error/elog.c:3158 utils/error/elog.c:3265 +#: utils/error/elog.c:2841 utils/error/elog.c:3162 utils/error/elog.c:3269 msgid "missing error text" msgstr "пропущено текÑÑ‚ помилки" -#: utils/error/elog.c:2840 utils/error/elog.c:2843 +#: utils/error/elog.c:2844 utils/error/elog.c:2847 #, c-format msgid " at character %d" msgstr " Ñимвол %d" -#: utils/error/elog.c:2853 utils/error/elog.c:2860 +#: utils/error/elog.c:2857 utils/error/elog.c:2864 msgid "DETAIL: " msgstr "ВІДОМОСТІ: " -#: utils/error/elog.c:2867 +#: utils/error/elog.c:2871 msgid "HINT: " msgstr "УКÐЗІВКÐ: " -#: utils/error/elog.c:2874 +#: utils/error/elog.c:2878 msgid "QUERY: " msgstr "ЗÐПИТ: " -#: utils/error/elog.c:2881 +#: utils/error/elog.c:2885 msgid "CONTEXT: " msgstr "КОÐТЕКСТ: " -#: utils/error/elog.c:2891 +#: utils/error/elog.c:2895 #, c-format msgid "LOCATION: %s, %s:%d\n" msgstr "РОЗТÐШУВÐÐÐЯ: %s, %s:%d\n" -#: utils/error/elog.c:2898 +#: utils/error/elog.c:2902 #, c-format msgid "LOCATION: %s:%d\n" msgstr "РОЗТÐШУВÐÐÐЯ: %s:%d\n" -#: utils/error/elog.c:2905 +#: utils/error/elog.c:2909 msgid "BACKTRACE: " msgstr "ВІДСТЕЖУВÐТИ: " -#: utils/error/elog.c:2917 +#: utils/error/elog.c:2921 msgid "STATEMENT: " msgstr "ІÐСТРУКЦІЯ: " -#: utils/error/elog.c:3310 +#: utils/error/elog.c:3314 msgid "DEBUG" msgstr "ÐÐЛÐГОДЖЕÐÐЯ" -#: utils/error/elog.c:3314 +#: utils/error/elog.c:3318 msgid "LOG" msgstr "ЗÐПИСУВÐÐÐЯ" -#: utils/error/elog.c:3317 +#: utils/error/elog.c:3321 msgid "INFO" msgstr "ІÐФОРМÐЦІЯ" -#: utils/error/elog.c:3320 +#: utils/error/elog.c:3324 msgid "NOTICE" msgstr "ПОВІДОМЛЕÐÐЯ" -#: utils/error/elog.c:3324 +#: utils/error/elog.c:3328 msgid "WARNING" msgstr "ПОПЕРЕДЖЕÐÐЯ" -#: utils/error/elog.c:3327 +#: utils/error/elog.c:3331 msgid "ERROR" msgstr "ПОМИЛКÐ" -#: utils/error/elog.c:3330 +#: utils/error/elog.c:3334 msgid "FATAL" msgstr "ФÐТÐЛЬÐО" -#: utils/error/elog.c:3333 +#: utils/error/elog.c:3337 msgid "PANIC" msgstr "ПÐÐІКÐ" @@ -25884,7 +25900,7 @@ msgstr "каталог даних \"%s\" має неприпуÑтимі дозРmsgid "Permissions should be u=rwx (0700) or u=rwx,g=rx (0750)." msgstr "Дозволи повинні бути u=rwx (0700) або u=rwx,g=rx (0750)." -#: utils/init/miscinit.c:665 utils/misc/guc.c:7830 +#: utils/init/miscinit.c:665 utils/misc/guc.c:7837 #, c-format msgid "cannot set parameter \"%s\" within security-restricted operation" msgstr "вÑтановити параметр \"%s\" в межах операції з обмеженнÑми по безпеці, не можна" @@ -25985,7 +26001,7 @@ msgstr "ЗдаєтьÑÑ, файл залишивÑÑ Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¾, але msgid "could not write lock file \"%s\": %m" msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ \"%s\": %m" -#: utils/init/miscinit.c:1385 utils/init/miscinit.c:1527 utils/misc/guc.c:10836 +#: utils/init/miscinit.c:1385 utils/init/miscinit.c:1527 utils/misc/guc.c:10843 #, c-format msgid "could not read from file \"%s\": %m" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ з файлу \"%s\": %m" @@ -28208,7 +28224,7 @@ msgstr "ЗапуÑÑ‚Ñ–Ñ‚ÑŒ initdb або pg_basebackup Ð´Ð»Ñ Ñ–Ð½Ñ–Ñ†Ñ–Ð°Ð»Ñ–Ð· msgid "%s does not know where to find the server configuration file.\n" "You must specify the --config-file or -D invocation option or set the PGDATA environment variable.\n" msgstr "%s не знає де знайти файл конфігурації Ñервера.\n" -"Ви повинні вказати його Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð² параметрі --config-file або -D, або вÑтановити змінну Ñередовища PGDATA.\n" +"Ви повинні вказати його Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð² параметрі --config-file або -D, або вÑтановити змінну Ñередовища PGDATA.\n" #: utils/misc/guc.c:6148 #, c-format @@ -28250,180 +28266,180 @@ msgstr "%d%s%s поза припуÑтимим діапазоном Ð´Ð»Ñ Ð¿Ð°Ñ msgid "%g%s%s is outside the valid range for parameter \"%s\" (%g .. %g)" msgstr "%g%s%s поза припуÑтимим діапазоном Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ \"%s\" (%g .. %g)" -#: utils/misc/guc.c:7648 utils/misc/guc.c:9096 +#: utils/misc/guc.c:7649 utils/misc/guc.c:9103 #, c-format msgid "cannot set parameters during a parallel operation" msgstr "вÑтановити параметри під Ñ‡Ð°Ñ Ð¿Ð°Ñ€Ð°Ð»ÐµÐ»ÑŒÐ½Ð¾Ñ— операції не можна" -#: utils/misc/guc.c:7665 utils/misc/guc.c:8920 +#: utils/misc/guc.c:7668 utils/misc/guc.c:8927 #, c-format msgid "parameter \"%s\" cannot be changed" msgstr "параметр \"%s\" не може бути змінений" -#: utils/misc/guc.c:7688 utils/misc/guc.c:7908 utils/misc/guc.c:8006 -#: utils/misc/guc.c:8104 utils/misc/guc.c:8228 utils/misc/guc.c:8331 +#: utils/misc/guc.c:7691 utils/misc/guc.c:7915 utils/misc/guc.c:8013 +#: utils/misc/guc.c:8111 utils/misc/guc.c:8235 utils/misc/guc.c:8338 #: guc-file.l:353 #, c-format msgid "parameter \"%s\" cannot be changed without restarting the server" msgstr "параметр \"%s\" не може бути змінений, без Ð¿ÐµÑ€ÐµÐ·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñервера" -#: utils/misc/guc.c:7698 +#: utils/misc/guc.c:7701 #, c-format msgid "parameter \"%s\" cannot be changed now" msgstr "параметр \"%s\" не може бути змінений зараз" -#: utils/misc/guc.c:7725 utils/misc/guc.c:7783 utils/misc/guc.c:8896 -#: utils/misc/guc.c:11804 +#: utils/misc/guc.c:7728 utils/misc/guc.c:7790 utils/misc/guc.c:8903 +#: utils/misc/guc.c:11811 #, c-format msgid "permission denied to set parameter \"%s\"" msgstr "немає прав Ð´Ð»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ \"%s\"" -#: utils/misc/guc.c:7763 +#: utils/misc/guc.c:7770 #, c-format msgid "parameter \"%s\" cannot be set after connection start" msgstr "параметр \"%s\" не можна вÑтановити піÑÐ»Ñ Ð²ÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð¿Ñ–Ð´ÐºÐ»ÑŽÑ‡ÐµÐ½Ð½Ñ" -#: utils/misc/guc.c:7822 +#: utils/misc/guc.c:7829 #, c-format msgid "cannot set parameter \"%s\" within security-definer function" msgstr "параметр \"%s\" не можна вÑтановити в межах функції безпеки" -#: utils/misc/guc.c:8475 utils/misc/guc.c:8522 utils/misc/guc.c:10009 +#: utils/misc/guc.c:8482 utils/misc/guc.c:8529 utils/misc/guc.c:10016 #, c-format msgid "must be superuser or have privileges of pg_read_all_settings to examine \"%s\"" msgstr "щоб доÑлідити \"%s\", потрібно бути ÑуперкориÑтувачем або мати права ролі pg_read_all_settings" -#: utils/misc/guc.c:8606 +#: utils/misc/guc.c:8613 #, c-format msgid "SET %s takes only one argument" msgstr "SET %s приймає лише один аргумент" -#: utils/misc/guc.c:8886 +#: utils/misc/guc.c:8893 #, c-format msgid "permission denied to perform ALTER SYSTEM RESET ALL" msgstr "немає дозволу Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ ALTER SYSTEM RESET ALL" -#: utils/misc/guc.c:8953 +#: utils/misc/guc.c:8960 #, c-format msgid "parameter value for ALTER SYSTEM must not contain a newline" msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ Ð´Ð»Ñ ALTER SYSTEM не повинне міÑтити нового Ñ€Ñдка" -#: utils/misc/guc.c:8998 +#: utils/misc/guc.c:9005 #, c-format msgid "could not parse contents of file \"%s\"" msgstr "не вдалоÑÑ Ð°Ð½Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ зміÑÑ‚ файла \"%s\"" -#: utils/misc/guc.c:9172 +#: utils/misc/guc.c:9179 #, c-format msgid "SET LOCAL TRANSACTION SNAPSHOT is not implemented" msgstr "SET LOCAL TRANSACTION SNAPSHOT не реалізовано" -#: utils/misc/guc.c:9259 +#: utils/misc/guc.c:9266 #, c-format msgid "SET requires parameter name" msgstr "SET потребує ім'Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°" -#: utils/misc/guc.c:9392 +#: utils/misc/guc.c:9399 #, c-format msgid "attempt to redefine parameter \"%s\"" msgstr "Ñпроба перевизначити параметр \"%s\"" -#: utils/misc/guc.c:9719 +#: utils/misc/guc.c:9726 #, c-format msgid "invalid configuration parameter name \"%s\", removing it" msgstr "неприпуÑтима назва параметра конфігурації \"%s\", видалÑємо" -#: utils/misc/guc.c:9721 +#: utils/misc/guc.c:9728 #, c-format msgid "\"%s\" is now a reserved prefix." msgstr "\"%s\" тепер Ñ” зарезервованим префікÑом." -#: utils/misc/guc.c:11244 +#: utils/misc/guc.c:11251 #, c-format msgid "while setting parameter \"%s\" to \"%s\"" msgstr "під Ñ‡Ð°Ñ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ \"%s\" на \"%s\"" -#: utils/misc/guc.c:11413 +#: utils/misc/guc.c:11420 #, c-format msgid "parameter \"%s\" could not be set" msgstr "параметр \"%s\" не вдалоÑÑ Ð²Ñтановити" -#: utils/misc/guc.c:11505 +#: utils/misc/guc.c:11512 #, c-format msgid "could not parse setting for parameter \"%s\"" msgstr "не вдалоÑÑ Ð°Ð½Ð°Ð»Ñ–Ð·ÑƒÐ²Ð°Ñ‚Ð¸ Ð½Ð°Ð»Ð°ÑˆÑ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ñƒ \"%s\"" -#: utils/misc/guc.c:11936 +#: utils/misc/guc.c:11943 #, c-format msgid "invalid value for parameter \"%s\": %g" msgstr "неприпуÑтиме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"%s\": %g" -#: utils/misc/guc.c:12249 +#: utils/misc/guc.c:12256 #, c-format msgid "\"temp_buffers\" cannot be changed after any temporary tables have been accessed in the session." msgstr "параметр \"temp_buffers\" не можна змінити піÑÐ»Ñ Ñ‚Ð¾Ð³Ð¾, Ñк тимчаÑові таблиці отримали доÑтуп в ÑеанÑÑ–." -#: utils/misc/guc.c:12261 +#: utils/misc/guc.c:12268 #, c-format msgid "Bonjour is not supported by this build" msgstr "Bonjour не підтримуєтьÑÑ Ð´Ð°Ð½Ð¾ÑŽ збіркою" -#: utils/misc/guc.c:12274 +#: utils/misc/guc.c:12281 #, c-format msgid "SSL is not supported by this build" msgstr "SSL не підтримуєтьÑÑ Ð´Ð°Ð½Ð¾ÑŽ збіркою" -#: utils/misc/guc.c:12286 +#: utils/misc/guc.c:12293 #, c-format msgid "Cannot enable parameter when \"log_statement_stats\" is true." msgstr "Ðе можна ввімкнути параметр, коли \"log_statement_stats\" дорівнює true." -#: utils/misc/guc.c:12298 +#: utils/misc/guc.c:12305 #, c-format msgid "Cannot enable \"log_statement_stats\" when \"log_parser_stats\", \"log_planner_stats\", or \"log_executor_stats\" is true." msgstr "Ðе можна ввімкнути \"log_statement_stats\", коли \"log_parser_stats\", \"log_planner_stats\", або \"log_executor_stats\" дорівнюють true." -#: utils/misc/guc.c:12528 +#: utils/misc/guc.c:12535 #, c-format msgid "effective_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." msgstr "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ effective_io_concurrency повинне дорівнювати 0 (нулю) на платформах, де відÑутній posix_fadvise()." -#: utils/misc/guc.c:12541 +#: utils/misc/guc.c:12548 #, c-format msgid "maintenance_io_concurrency must be set to 0 on platforms that lack posix_fadvise()." msgstr "maintenance_io_concurrency повинне бути вÑтановлене на 0, на платформах Ñкі не мають posix_fadvise()." -#: utils/misc/guc.c:12555 +#: utils/misc/guc.c:12562 #, c-format msgid "huge_page_size must be 0 on this platform." msgstr "huge_page_size повинен бути 0 на цій платформі." -#: utils/misc/guc.c:12567 +#: utils/misc/guc.c:12574 #, c-format msgid "client_connection_check_interval must be set to 0 on this platform." msgstr "client_connection_check_interval має бути вÑтановлений в 0 на цій платформі." -#: utils/misc/guc.c:12679 +#: utils/misc/guc.c:12686 #, c-format msgid "invalid character" msgstr "неприпуÑтимий Ñимвол" -#: utils/misc/guc.c:12739 +#: utils/misc/guc.c:12746 #, c-format msgid "recovery_target_timeline is not a valid number." msgstr "recovery_target_timeline не Ñ” допуÑтимим чиÑлом." -#: utils/misc/guc.c:12779 +#: utils/misc/guc.c:12786 #, c-format msgid "multiple recovery targets specified" msgstr "вказано декілька цілей відновленнÑ" -#: utils/misc/guc.c:12780 +#: utils/misc/guc.c:12787 #, c-format msgid "At most one of recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid may be set." msgstr "МакÑимум один із recovery_target, recovery_target_lsn, recovery_target_name, recovery_target_time, recovery_target_xid може бути вÑтановлений." -#: utils/misc/guc.c:12788 +#: utils/misc/guc.c:12795 #, c-format msgid "The only allowed value is \"immediate\"." msgstr "Єдиним дозволеним значеннÑм Ñ” \"immediate\"." @@ -28590,7 +28606,7 @@ msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ шлÑÑ… до Ð±Ð»Ð¾ÐºÑƒÐ²Ð°Ð½Ð½Ñ %ld #: utils/sort/logtape.c:295 #, c-format msgid "could not read block %ld of temporary file: read only %zu of %zu bytes" -msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ блок %ld тимчаÑового файлу: прочитано лише %zu з %zu байт." +msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ блок %ld тимчаÑового файлу: прочитано лише %zu з %zu байт" #: utils/sort/sharedtuplestore.c:432 utils/sort/sharedtuplestore.c:441 #: utils/sort/sharedtuplestore.c:464 utils/sort/sharedtuplestore.c:481 diff --git a/src/backend/postmaster/autovacuum.c b/src/backend/postmaster/autovacuum.c index 72a5c4a..356678b 100644 --- a/src/backend/postmaster/autovacuum.c +++ b/src/backend/postmaster/autovacuum.c @@ -76,6 +76,7 @@ #include "catalog/dependency.h" #include "catalog/namespace.h" #include "catalog/pg_database.h" +#include "catalog/pg_namespace.h" #include "commands/dbcommands.h" #include "commands/vacuum.h" #include "lib/ilist.h" @@ -2272,6 +2273,24 @@ do_autovacuum(void) continue; } + /* + * Try to lock the temp namespace, too. Even though we have lock on + * the table itself, there's a risk of deadlock against an incoming + * backend trying to clean out the temp namespace, in case this table + * has dependencies (such as sequences) that the backend's + * performDeletion call might visit in a different order. If we can + * get AccessShareLock on the namespace, that's sufficient to ensure + * we're not running concurrently with RemoveTempRelations. If we + * can't, back off and let RemoveTempRelations do its thing. + */ + if (!ConditionalLockDatabaseObject(NamespaceRelationId, + classForm->relnamespace, 0, + AccessShareLock)) + { + UnlockRelationOid(relid, AccessExclusiveLock); + continue; + } + /* OK, let's delete it */ ereport(LOG, (errmsg("autovacuum: dropping orphan temp table \"%s.%s.%s\"", @@ -2289,7 +2308,7 @@ do_autovacuum(void) /* * To commit the deletion, end current transaction and start a new - * one. Note this also releases the lock we took. + * one. Note this also releases the locks we took. */ CommitTransactionCommand(); StartTransactionCommand(); diff --git a/src/backend/replication/logical/tablesync.c b/src/backend/replication/logical/tablesync.c index c3dd902..e6159ac 100644 --- a/src/backend/replication/logical/tablesync.c +++ b/src/backend/replication/logical/tablesync.c @@ -120,7 +120,14 @@ #include "utils/snapmgr.h" #include "utils/syscache.h" -static bool table_states_valid = false; +typedef enum +{ + SYNC_TABLE_STATE_NEEDS_REBUILD, + SYNC_TABLE_STATE_REBUILD_STARTED, + SYNC_TABLE_STATE_VALID, +} SyncingTablesState; + +static SyncingTablesState table_states_validity = SYNC_TABLE_STATE_NEEDS_REBUILD; static List *table_states_not_ready = NIL; static bool FetchTableStates(bool *started_tx); @@ -270,7 +277,7 @@ wait_for_worker_state_change(char expected_state) void invalidate_syncing_table_states(Datum arg, int cacheid, uint32 hashvalue) { - table_states_valid = false; + table_states_validity = SYNC_TABLE_STATE_NEEDS_REBUILD; } /* @@ -1465,13 +1472,15 @@ FetchTableStates(bool *started_tx) *started_tx = false; - if (!table_states_valid) + if (table_states_validity != SYNC_TABLE_STATE_VALID) { MemoryContext oldctx; List *rstates; ListCell *lc; SubscriptionRelState *rstate; + table_states_validity = SYNC_TABLE_STATE_REBUILD_STARTED; + /* Clean the old lists. */ list_free_deep(table_states_not_ready); table_states_not_ready = NIL; @@ -1505,7 +1514,15 @@ FetchTableStates(bool *started_tx) has_subrels = (list_length(table_states_not_ready) > 0) || HasSubscriptionRelations(MySubscription->oid); - table_states_valid = true; + /* + * If the subscription relation cache has been invalidated since we + * entered this routine, we still use and return the relations we just + * finished constructing, to avoid infinite loops, but we leave the + * table states marked as stale so that we'll rebuild it again on next + * access. Otherwise, we mark the table states as valid. + */ + if (table_states_validity == SYNC_TABLE_STATE_REBUILD_STARTED) + table_states_validity = SYNC_TABLE_STATE_VALID; } return has_subrels; diff --git a/src/backend/rewrite/rewriteDefine.c b/src/backend/rewrite/rewriteDefine.c index a354969..6c05a5b 100644 --- a/src/backend/rewrite/rewriteDefine.c +++ b/src/backend/rewrite/rewriteDefine.c @@ -29,6 +29,7 @@ #include "catalog/pg_rewrite.h" #include "catalog/storage.h" #include "commands/policy.h" +#include "commands/tablecmds.h" #include "miscadmin.h" #include "nodes/nodeFuncs.h" #include "parser/parse_utilcmd.h" @@ -422,6 +423,9 @@ DefineQueryRewrite(const char *rulename, * whole business of converting relations to views is just an obsolete * kluge to allow dump/reload of views that participate in circular * dependencies.) + * + * Also ensure the relation isn't being manipulated in any outer SQL + * command of our own session. */ if (event_relation->rd_rel->relkind != RELKIND_VIEW && event_relation->rd_rel->relkind != RELKIND_MATVIEW) @@ -430,6 +434,8 @@ DefineQueryRewrite(const char *rulename, Snapshot snapshot; TupleTableSlot *slot; + CheckTableNotInUse(event_relation, "CREATE RULE"); + if (event_relation->rd_rel->relkind == RELKIND_PARTITIONED_TABLE) ereport(ERROR, (errcode(ERRCODE_WRONG_OBJECT_TYPE), diff --git a/src/backend/rewrite/rewriteHandler.c b/src/backend/rewrite/rewriteHandler.c index 9584995..e678f34 100644 --- a/src/backend/rewrite/rewriteHandler.c +++ b/src/backend/rewrite/rewriteHandler.c @@ -1080,9 +1080,9 @@ process_matched_tle(TargetEntry *src_tle, * resulting in each assignment containing a CoerceToDomain node over a * FieldStore or SubscriptingRef. These should have matching target * domains, so we strip them and reconstitute a single CoerceToDomain over - * the combined FieldStore/SubscriptingRef nodes. (Notice that this has the - * result that the domain's checks are applied only after we do all the - * field or element updates, not after each one. This is arguably desirable.) + * the combined FieldStore/SubscriptingRef nodes. (Notice that this has + * the result that the domain's checks are applied only after we do all + * the field or element updates, not after each one. This is desirable.) *---------- */ src_expr = (Node *) src_tle->expr; diff --git a/src/backend/statistics/extended_stats.c b/src/backend/statistics/extended_stats.c index 91955b3..4e43204 100644 --- a/src/backend/statistics/extended_stats.c +++ b/src/backend/statistics/extended_stats.c @@ -2471,7 +2471,7 @@ statext_expressions_load(Oid stxoid, bool inh, int idx) if (isnull) elog(ERROR, "requested statistics kind \"%c\" is not yet built for statistics object %u", - STATS_EXT_DEPENDENCIES, stxoid); + STATS_EXT_EXPRESSIONS, stxoid); eah = DatumGetExpandedArray(value); diff --git a/src/backend/statistics/mcv.c b/src/backend/statistics/mcv.c index 6d9a098..b7b8424 100644 --- a/src/backend/statistics/mcv.c +++ b/src/backend/statistics/mcv.c @@ -576,7 +576,7 @@ statext_mcv_load(Oid mvoid, bool inh) if (isnull) elog(ERROR, "requested statistics kind \"%c\" is not yet built for statistics object %u", - STATS_EXT_DEPENDENCIES, mvoid); + STATS_EXT_MCV, mvoid); result = statext_mcv_deserialize(DatumGetByteaP(mcvlist)); diff --git a/src/backend/storage/freespace/README b/src/backend/storage/freespace/README index e7ff23b..dc2a63a 100644 --- a/src/backend/storage/freespace/README +++ b/src/backend/storage/freespace/README @@ -169,9 +169,7 @@ Recovery -------- The FSM is not explicitly WAL-logged. Instead, we rely on a bunch of -self-correcting measures to repair possible corruption. As a result when -we write to the FSM we treat that as a hint and thus use MarkBufferDirtyHint() -rather than MarkBufferDirty(). +self-correcting measures to repair possible corruption. First of all, whenever a value is set on an FSM page, the root node of the page is compared against the new value after bubbling up the change is @@ -188,6 +186,18 @@ goes through fsm_set_avail(), so that the upper nodes on those pages are immediately updated. Periodically, VACUUM calls FreeSpaceMapVacuum[Range] to propagate the new free-space info into the upper pages of the FSM tree. +As a result when we write to the FSM we treat that as a hint and thus use +MarkBufferDirtyHint() rather than MarkBufferDirty(). Every read here uses +RBM_ZERO_ON_ERROR to bypass checksum mismatches and other verification +failures. We'd operate correctly without the full page images that +MarkBufferDirtyHint() provides, but they do decrease the chance of losing slot +knowledge to RBM_ZERO_ON_ERROR. + +Relation extension is not WAL-logged. Hence, after WAL replay, an on-disk FSM +slot may indicate free space in PageIsNew() blocks that never reached disk. +We detect this case by comparing against the actual relation size, and we mark +the block as full in that case. + TODO ---- diff --git a/src/backend/storage/freespace/freespace.c b/src/backend/storage/freespace/freespace.c index d41ae37..01adf28 100644 --- a/src/backend/storage/freespace/freespace.c +++ b/src/backend/storage/freespace/freespace.c @@ -112,6 +112,7 @@ static BlockNumber fsm_search(Relation rel, uint8 min_cat); static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr, BlockNumber start, BlockNumber end, bool *eof); +static bool fsm_does_block_exist(Relation rel, BlockNumber blknumber); /******** Public API ********/ @@ -128,6 +129,9 @@ static uint8 fsm_vacuum_page(Relation rel, FSMAddress addr, * amount of free space available on that page and then try again (see * RecordAndGetPageWithFreeSpace). If InvalidBlockNumber is returned, * extend the relation. + * + * This can trigger FSM updates if any FSM entry is found to point to a block + * past the end of the relation. */ BlockNumber GetPageWithFreeSpace(Relation rel, Size spaceNeeded) @@ -166,9 +170,17 @@ RecordAndGetPageWithFreeSpace(Relation rel, BlockNumber oldPage, * Otherwise, search as usual. */ if (search_slot != -1) - return fsm_get_heap_blk(addr, search_slot); - else - return fsm_search(rel, search_cat); + { + BlockNumber blknum = fsm_get_heap_blk(addr, search_slot); + + /* + * Check that the blknum is actually in the relation. Don't try to + * update the FSM in that case, just fall back to the other case + */ + if (fsm_does_block_exist(rel, blknum)) + return blknum; + } + return fsm_search(rel, search_cat); } /* @@ -297,14 +309,25 @@ FreeSpaceMapPrepareTruncateRel(Relation rel, BlockNumber nblocks) fsm_truncate_avail(BufferGetPage(buf), first_removed_slot); /* - * Truncation of a relation is WAL-logged at a higher-level, and we - * will be called at WAL replay. But if checksums are enabled, we need - * to still write a WAL record to protect against a torn page, if the - * page is flushed to disk before the truncation WAL record. We cannot - * use MarkBufferDirtyHint here, because that will not dirty the page - * during recovery. + * This change is non-critical, because fsm_does_block_exist() would + * stop us from returning a truncated-away block. However, since this + * may remove up to SlotsPerFSMPage slots, it's nice to avoid the cost + * of that many fsm_does_block_exist() rejections. Use a full + * MarkBufferDirty(), not MarkBufferDirtyHint(). */ MarkBufferDirty(buf); + + /* + * WAL-log like MarkBufferDirtyHint() might have done, just to avoid + * differing from the rest of the file in this respect. This is + * optional; see README mention of full page images. XXX consider + * XLogSaveBufferForHint() for even closer similarity. + * + * A higher-level operation calls us at WAL replay. If we crash + * before the XLOG_SMGR_TRUNCATE flushes to disk, main fork length has + * not changed, and our fork remains valid. If we crash after that + * flush, redo will return here. + */ if (!InRecovery && RelationNeedsWAL(rel) && XLogHintBitIsNeeded()) log_newpage_buffer(buf, false); @@ -721,8 +744,15 @@ fsm_search(Relation rel, uint8 min_cat) (addr.level == FSM_BOTTOM_LEVEL), false); if (slot == -1) + { max_avail = fsm_get_max_avail(BufferGetPage(buf)); - UnlockReleaseBuffer(buf); + UnlockReleaseBuffer(buf); + } + else + { + /* Keep the pin for possible update below */ + LockBuffer(buf, BUFFER_LOCK_UNLOCK); + } } else slot = -1; @@ -734,8 +764,37 @@ fsm_search(Relation rel, uint8 min_cat) * bottom. */ if (addr.level == FSM_BOTTOM_LEVEL) - return fsm_get_heap_blk(addr, slot); - + { + BlockNumber blkno = fsm_get_heap_blk(addr, slot); + Page page; + + if (fsm_does_block_exist(rel, blkno)) + { + ReleaseBuffer(buf); + return blkno; + } + + /* + * Block is past the end of the relation. Update FSM, and + * restart from root. The usual "advancenext" behavior is + * pessimal for this rare scenario, since every later slot is + * unusable in the same way. We could zero all affected slots + * on the same FSM page, but don't bet on the benefits of that + * optimization justifying its compiled code bulk. + */ + page = BufferGetPage(buf); + LockBuffer(buf, BUFFER_LOCK_EXCLUSIVE); + fsm_set_avail(page, slot, 0); + MarkBufferDirtyHint(buf, false); + UnlockReleaseBuffer(buf); + if (restarts++ > 10000) /* same rationale as below */ + return InvalidBlockNumber; + addr = FSM_ROOT_ADDRESS; + } + else + { + ReleaseBuffer(buf); + } addr = fsm_get_child(addr, slot); } else if (addr.level == FSM_ROOT_LEVEL) @@ -903,3 +962,26 @@ fsm_vacuum_page(Relation rel, FSMAddress addr, return max_avail; } + + +/* + * Check whether a block number is past the end of the relation. This can + * happen after WAL replay, if the FSM reached disk but newly-extended pages + * it refers to did not. + */ +static bool +fsm_does_block_exist(Relation rel, BlockNumber blknumber) +{ + SMgrRelation smgr = RelationGetSmgr(rel); + + /* + * If below the cached nblocks, the block surely exists. Otherwise, we + * face a trade-off. We opt to compare to a fresh nblocks, incurring + * lseek() overhead. The alternative would be to assume the block does + * not exist, but that would cause FSM to set zero space available for + * blocks that main fork extension just recorded. + */ + return ((BlockNumberIsValid(smgr->smgr_cached_nblocks[MAIN_FORKNUM]) && + blknumber < smgr->smgr_cached_nblocks[MAIN_FORKNUM]) || + blknumber < RelationGetNumberOfBlocks(rel)); +} diff --git a/src/backend/storage/ipc/dsm_impl.c b/src/backend/storage/ipc/dsm_impl.c index 340048a..77a195b 100644 --- a/src/backend/storage/ipc/dsm_impl.c +++ b/src/backend/storage/ipc/dsm_impl.c @@ -880,7 +880,7 @@ dsm_impl_mmap(dsm_op op, dsm_handle handle, Size request_size, * transferring data to the kernel. */ char *zbuffer = (char *) palloc0(ZBUFFER_SIZE); - uint32 remaining = request_size; + Size remaining = request_size; bool success = true; /* diff --git a/src/backend/storage/ipc/latch.c b/src/backend/storage/ipc/latch.c index 8bdb549..c865281 100644 --- a/src/backend/storage/ipc/latch.c +++ b/src/backend/storage/ipc/latch.c @@ -529,48 +529,54 @@ WaitLatchOrSocket(Latch *latch, int wakeEvents, pgsocket sock, WaitEvent event; WaitEventSet *set = CreateWaitEventSet(CurrentMemoryContext, 3); - if (wakeEvents & WL_TIMEOUT) - Assert(timeout >= 0); - else - timeout = -1; + PG_TRY(); + { + if (wakeEvents & WL_TIMEOUT) + Assert(timeout >= 0); + else + timeout = -1; - if (wakeEvents & WL_LATCH_SET) - AddWaitEventToSet(set, WL_LATCH_SET, PGINVALID_SOCKET, - latch, NULL); + if (wakeEvents & WL_LATCH_SET) + AddWaitEventToSet(set, WL_LATCH_SET, PGINVALID_SOCKET, + latch, NULL); - /* Postmaster-managed callers must handle postmaster death somehow. */ - Assert(!IsUnderPostmaster || - (wakeEvents & WL_EXIT_ON_PM_DEATH) || - (wakeEvents & WL_POSTMASTER_DEATH)); + /* Postmaster-managed callers must handle postmaster death somehow. */ + Assert(!IsUnderPostmaster || + (wakeEvents & WL_EXIT_ON_PM_DEATH) || + (wakeEvents & WL_POSTMASTER_DEATH)); - if ((wakeEvents & WL_POSTMASTER_DEATH) && IsUnderPostmaster) - AddWaitEventToSet(set, WL_POSTMASTER_DEATH, PGINVALID_SOCKET, - NULL, NULL); + if ((wakeEvents & WL_POSTMASTER_DEATH) && IsUnderPostmaster) + AddWaitEventToSet(set, WL_POSTMASTER_DEATH, PGINVALID_SOCKET, + NULL, NULL); - if ((wakeEvents & WL_EXIT_ON_PM_DEATH) && IsUnderPostmaster) - AddWaitEventToSet(set, WL_EXIT_ON_PM_DEATH, PGINVALID_SOCKET, - NULL, NULL); + if ((wakeEvents & WL_EXIT_ON_PM_DEATH) && IsUnderPostmaster) + AddWaitEventToSet(set, WL_EXIT_ON_PM_DEATH, PGINVALID_SOCKET, + NULL, NULL); - if (wakeEvents & WL_SOCKET_MASK) - { - int ev; + if (wakeEvents & WL_SOCKET_MASK) + { + int ev; - ev = wakeEvents & WL_SOCKET_MASK; - AddWaitEventToSet(set, ev, sock, NULL, NULL); - } + ev = wakeEvents & WL_SOCKET_MASK; + AddWaitEventToSet(set, ev, sock, NULL, NULL); + } - rc = WaitEventSetWait(set, timeout, &event, 1, wait_event_info); + rc = WaitEventSetWait(set, timeout, &event, 1, wait_event_info); - if (rc == 0) - ret |= WL_TIMEOUT; - else + if (rc == 0) + ret |= WL_TIMEOUT; + else + { + ret |= event.events & (WL_LATCH_SET | + WL_POSTMASTER_DEATH | + WL_SOCKET_MASK); + } + } + PG_FINALLY(); { - ret |= event.events & (WL_LATCH_SET | - WL_POSTMASTER_DEATH | - WL_SOCKET_MASK); + FreeWaitEventSet(set); } - - FreeWaitEventSet(set); + PG_END_TRY(); return ret; } diff --git a/src/backend/storage/lmgr/lmgr.c b/src/backend/storage/lmgr/lmgr.c index 1543da6..2acba39 100644 --- a/src/backend/storage/lmgr/lmgr.c +++ b/src/backend/storage/lmgr/lmgr.c @@ -1020,6 +1020,44 @@ LockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, } /* + * ConditionalLockDatabaseObject + * + * As above, but only lock if we can get the lock without blocking. + * Returns true iff the lock was acquired. + */ +bool +ConditionalLockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, + LOCKMODE lockmode) +{ + LOCKTAG tag; + LOCALLOCK *locallock; + LockAcquireResult res; + + SET_LOCKTAG_OBJECT(tag, + MyDatabaseId, + classid, + objid, + objsubid); + + res = LockAcquireExtended(&tag, lockmode, false, true, true, &locallock); + + if (res == LOCKACQUIRE_NOT_AVAIL) + return false; + + /* + * Now that we have the lock, check for invalidation messages; see notes + * in LockRelationOid. + */ + if (res != LOCKACQUIRE_ALREADY_CLEAR) + { + AcceptInvalidationMessages(); + MarkLockClear(locallock); + } + + return true; +} + +/* * UnlockDatabaseObject */ void diff --git a/src/backend/storage/smgr/smgr.c b/src/backend/storage/smgr/smgr.c index 631733b..8ded269 100644 --- a/src/backend/storage/smgr/smgr.c +++ b/src/backend/storage/smgr/smgr.c @@ -604,8 +604,9 @@ BlockNumber smgrnblocks_cached(SMgrRelation reln, ForkNumber forknum) { /* - * For now, we only use cached values in recovery due to lack of a shared - * invalidation mechanism for changes in file size. + * For now, this function uses cached values only in recovery due to lack + * of a shared invalidation mechanism for changes in file size. Code + * elsewhere reads smgr_cached_nblocks and copes with stale data. */ if (InRecovery && reln->smgr_cached_nblocks[forknum] != InvalidBlockNumber) return reln->smgr_cached_nblocks[forknum]; diff --git a/src/backend/utils/adt/int8.c b/src/backend/utils/adt/int8.c index 98d4323..464b64b 100644 --- a/src/backend/utils/adt/int8.c +++ b/src/backend/utils/adt/int8.c @@ -833,6 +833,21 @@ int8inc_support(PG_FUNCTION_ARGS) SupportRequestWFuncMonotonic *req = (SupportRequestWFuncMonotonic *) rawreq; MonotonicFunction monotonic = MONOTONICFUNC_NONE; int frameOptions = req->window_clause->frameOptions; + WindowFunc *wfunc = req->window_func; + + if (list_length(wfunc->args) == 1) + { + Node *expr = eval_const_expressions(NULL, linitial(wfunc->args)); + + /* + * Due to the Node representation of WindowClause runConditions in + * version prior to v17, we need to insist that the count arg is + * Const to allow safe application of the runCondition + * optimization. + */ + if (!IsA(expr, Const)) + PG_RETURN_POINTER(NULL); + } /* No ORDER BY clause then all rows are peers */ if (req->window_clause->orderClause == NIL) diff --git a/src/backend/utils/adt/jsonpath_exec.c b/src/backend/utils/adt/jsonpath_exec.c index c8368ea..f7edfb3 100644 --- a/src/backend/utils/adt/jsonpath_exec.c +++ b/src/backend/utils/adt/jsonpath_exec.c @@ -1231,6 +1231,9 @@ executeBoolItem(JsonPathExecContext *cxt, JsonPathItem *jsp, JsonPathBool res; JsonPathBool res2; + /* since this function recurses, it could be driven to stack overflow */ + check_stack_depth(); + if (!canHaveNext && jspHasNext(jsp)) elog(ERROR, "boolean jsonpath item cannot have next item"); diff --git a/src/backend/utils/adt/ruleutils.c b/src/backend/utils/adt/ruleutils.c index a1c1831..a427771 100644 --- a/src/backend/utils/adt/ruleutils.c +++ b/src/backend/utils/adt/ruleutils.c @@ -352,8 +352,7 @@ static char *pg_get_partkeydef_worker(Oid relid, int prettyFlags, bool attrsOnly, bool missing_ok); static char *pg_get_constraintdef_worker(Oid constraintId, bool fullCommand, int prettyFlags, bool missing_ok); -static text *pg_get_expr_worker(text *expr, Oid relid, const char *relname, - int prettyFlags); +static text *pg_get_expr_worker(text *expr, Oid relid, int prettyFlags); static int print_function_arguments(StringInfo buf, HeapTuple proctup, bool print_table_args, bool print_defaults); static void print_function_rettype(StringInfo buf, HeapTuple proctup); @@ -2630,6 +2629,11 @@ decompile_column_index_array(Datum column_index_array, Oid relId, * partial indexes, column default expressions, etc. We also support * Var-free expressions, for which the OID can be InvalidOid. * + * If the OID is nonzero but not actually valid, don't throw an error, + * just return NULL. This is a bit questionable, but it's what we've + * done historically, and it can help avoid unwanted failures when + * examining catalog entries for just-deleted relations. + * * We expect this function to work, or throw a reasonably clean error, * for any node tree that can appear in a catalog pg_node_tree column. * Query trees, such as those appearing in pg_rewrite.ev_action, are @@ -2642,29 +2646,16 @@ pg_get_expr(PG_FUNCTION_ARGS) { text *expr = PG_GETARG_TEXT_PP(0); Oid relid = PG_GETARG_OID(1); + text *result; int prettyFlags; - char *relname; prettyFlags = PRETTYFLAG_INDENT; - if (OidIsValid(relid)) - { - /* Get the name for the relation */ - relname = get_rel_name(relid); - - /* - * If the OID isn't actually valid, don't throw an error, just return - * NULL. This is a bit questionable, but it's what we've done - * historically, and it can help avoid unwanted failures when - * examining catalog entries for just-deleted relations. - */ - if (relname == NULL) - PG_RETURN_NULL(); - } + result = pg_get_expr_worker(expr, relid, prettyFlags); + if (result) + PG_RETURN_TEXT_P(result); else - relname = NULL; - - PG_RETURN_TEXT_P(pg_get_expr_worker(expr, relid, relname, prettyFlags)); + PG_RETURN_NULL(); } Datum @@ -2673,33 +2664,27 @@ pg_get_expr_ext(PG_FUNCTION_ARGS) text *expr = PG_GETARG_TEXT_PP(0); Oid relid = PG_GETARG_OID(1); bool pretty = PG_GETARG_BOOL(2); + text *result; int prettyFlags; - char *relname; prettyFlags = GET_PRETTY_FLAGS(pretty); - if (OidIsValid(relid)) - { - /* Get the name for the relation */ - relname = get_rel_name(relid); - /* See notes above */ - if (relname == NULL) - PG_RETURN_NULL(); - } + result = pg_get_expr_worker(expr, relid, prettyFlags); + if (result) + PG_RETURN_TEXT_P(result); else - relname = NULL; - - PG_RETURN_TEXT_P(pg_get_expr_worker(expr, relid, relname, prettyFlags)); + PG_RETURN_NULL(); } static text * -pg_get_expr_worker(text *expr, Oid relid, const char *relname, int prettyFlags) +pg_get_expr_worker(text *expr, Oid relid, int prettyFlags) { Node *node; Node *tst; Relids relids; List *context; char *exprstr; + Relation rel = NULL; char *str; /* Convert input pg_node_tree (really TEXT) object to C string */ @@ -2744,9 +2729,19 @@ pg_get_expr_worker(text *expr, Oid relid, const char *relname, int prettyFlags) errmsg("expression contains variables"))); } - /* Prepare deparse context if needed */ + /* + * Prepare deparse context if needed. If we are deparsing with a relid, + * we need to transiently open and lock the rel, to make sure it won't go + * away underneath us. (set_relation_column_names would lock it anyway, + * so this isn't really introducing any new behavior.) + */ if (OidIsValid(relid)) - context = deparse_context_for(relname, relid); + { + rel = try_relation_open(relid, AccessShareLock); + if (rel == NULL) + return NULL; + context = deparse_context_for(RelationGetRelationName(rel), relid); + } else context = NIL; @@ -2754,6 +2749,9 @@ pg_get_expr_worker(text *expr, Oid relid, const char *relname, int prettyFlags) str = deparse_expression_pretty(node, context, false, false, prettyFlags, 0); + if (rel != NULL) + relation_close(rel, AccessShareLock); + return string_to_text(str); } @@ -5015,8 +5013,11 @@ set_deparse_plan(deparse_namespace *dpns, Plan *plan) * For a WorkTableScan, locate the parent RecursiveUnion plan node and use * that as INNER referent. * - * For MERGE, make the inner tlist point to the merge source tlist, which - * is same as the targetlist that the ModifyTable's source plan provides. + * For MERGE, pretend the ModifyTable's source plan (its outer plan) is + * INNER referent. This is the join from the target relation to the data + * source, and all INNER_VAR Vars in other parts of the query refer to its + * targetlist. + * * For ON CONFLICT .. UPDATE we just need the inner tlist to point to the * excluded expression's tlist. (Similar to the SubqueryScan we don't want * to reuse OUTER, it's used for RETURNING in some modify table cases, @@ -5031,17 +5032,17 @@ set_deparse_plan(deparse_namespace *dpns, Plan *plan) dpns->inner_plan = find_recursive_union(dpns, (WorkTableScan *) plan); else if (IsA(plan, ModifyTable)) - dpns->inner_plan = plan; - else - dpns->inner_plan = innerPlan(plan); - - if (IsA(plan, ModifyTable)) { if (((ModifyTable *) plan)->operation == CMD_MERGE) - dpns->inner_tlist = dpns->outer_tlist; + dpns->inner_plan = outerPlan(plan); else - dpns->inner_tlist = ((ModifyTable *) plan)->exclRelTlist; + dpns->inner_plan = plan; } + else + dpns->inner_plan = innerPlan(plan); + + if (IsA(plan, ModifyTable) && ((ModifyTable *) plan)->operation == CMD_INSERT) + dpns->inner_tlist = ((ModifyTable *) plan)->exclRelTlist; else if (dpns->inner_plan) dpns->inner_tlist = dpns->inner_plan->targetlist; else diff --git a/src/backend/utils/adt/timestamp.c b/src/backend/utils/adt/timestamp.c index 27073cb..1544d54 100644 --- a/src/backend/utils/adt/timestamp.c +++ b/src/backend/utils/adt/timestamp.c @@ -2915,7 +2915,10 @@ timestamp_pl_interval(PG_FUNCTION_ARGS) (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), errmsg("timestamp out of range"))); - tm->tm_mon += span->month; + if (pg_add_s32_overflow(tm->tm_mon, span->month, &tm->tm_mon)) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("timestamp out of range"))); if (tm->tm_mon > MONTHS_PER_YEAR) { tm->tm_year += (tm->tm_mon - 1) / MONTHS_PER_YEAR; @@ -2967,7 +2970,10 @@ timestamp_pl_interval(PG_FUNCTION_ARGS) errmsg("timestamp out of range"))); } - timestamp += span->time; + if (pg_add_s64_overflow(timestamp, span->time, ×tamp)) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("timestamp out of range"))); if (!IS_VALID_TIMESTAMP(timestamp)) ereport(ERROR, @@ -3029,7 +3035,10 @@ timestamptz_pl_interval(PG_FUNCTION_ARGS) (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), errmsg("timestamp out of range"))); - tm->tm_mon += span->month; + if (pg_add_s32_overflow(tm->tm_mon, span->month, &tm->tm_mon)) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("timestamp out of range"))); if (tm->tm_mon > MONTHS_PER_YEAR) { tm->tm_year += (tm->tm_mon - 1) / MONTHS_PER_YEAR; @@ -3088,7 +3097,10 @@ timestamptz_pl_interval(PG_FUNCTION_ARGS) errmsg("timestamp out of range"))); } - timestamp += span->time; + if (pg_add_s64_overflow(timestamp, span->time, ×tamp)) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("timestamp out of range"))); if (!IS_VALID_TIMESTAMP(timestamp)) ereport(ERROR, @@ -3924,8 +3936,9 @@ timestamp_bin(PG_FUNCTION_ARGS) Timestamp timestamp = PG_GETARG_TIMESTAMP(1); Timestamp origin = PG_GETARG_TIMESTAMP(2); Timestamp result, - tm_diff, stride_usecs, + tm_diff, + tm_modulo, tm_delta; if (TIMESTAMP_NOT_FINITE(timestamp)) @@ -3941,24 +3954,40 @@ timestamp_bin(PG_FUNCTION_ARGS) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("timestamps cannot be binned into intervals containing months or years"))); - stride_usecs = stride->day * USECS_PER_DAY + stride->time; + if (unlikely(pg_mul_s64_overflow(stride->day, USECS_PER_DAY, &stride_usecs)) || + unlikely(pg_add_s64_overflow(stride_usecs, stride->time, &stride_usecs))) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("interval out of range"))); if (stride_usecs <= 0) ereport(ERROR, (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), errmsg("stride must be greater than zero"))); - tm_diff = timestamp - origin; - tm_delta = tm_diff - tm_diff % stride_usecs; + if (unlikely(pg_sub_s64_overflow(timestamp, origin, &tm_diff))) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("interval out of range"))); + + /* These calculations cannot overflow */ + tm_modulo = tm_diff % stride_usecs; + tm_delta = tm_diff - tm_modulo; + result = origin + tm_delta; /* - * Make sure the returned timestamp is at the start of the bin, even if - * the origin is in the future. + * We want to round towards -infinity, not 0, when tm_diff is negative and + * not a multiple of stride_usecs. This adjustment *can* cause overflow, + * since the result might now be out of the range origin .. timestamp. */ - if (origin > timestamp && stride_usecs > 1) - tm_delta -= stride_usecs; - - result = origin + tm_delta; + if (tm_modulo < 0) + { + if (unlikely(pg_sub_s64_overflow(result, stride_usecs, &result)) || + !IS_VALID_TIMESTAMP(result)) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("timestamp out of range"))); + } PG_RETURN_TIMESTAMP(result); } @@ -4109,6 +4138,7 @@ timestamptz_bin(PG_FUNCTION_ARGS) TimestampTz result, stride_usecs, tm_diff, + tm_modulo, tm_delta; if (TIMESTAMP_NOT_FINITE(timestamp)) @@ -4124,24 +4154,40 @@ timestamptz_bin(PG_FUNCTION_ARGS) (errcode(ERRCODE_FEATURE_NOT_SUPPORTED), errmsg("timestamps cannot be binned into intervals containing months or years"))); - stride_usecs = stride->day * USECS_PER_DAY + stride->time; + if (unlikely(pg_mul_s64_overflow(stride->day, USECS_PER_DAY, &stride_usecs)) || + unlikely(pg_add_s64_overflow(stride_usecs, stride->time, &stride_usecs))) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("interval out of range"))); if (stride_usecs <= 0) ereport(ERROR, (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), errmsg("stride must be greater than zero"))); - tm_diff = timestamp - origin; - tm_delta = tm_diff - tm_diff % stride_usecs; + if (unlikely(pg_sub_s64_overflow(timestamp, origin, &tm_diff))) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("interval out of range"))); + + /* These calculations cannot overflow */ + tm_modulo = tm_diff % stride_usecs; + tm_delta = tm_diff - tm_modulo; + result = origin + tm_delta; /* - * Make sure the returned timestamp is at the start of the bin, even if - * the origin is in the future. + * We want to round towards -infinity, not 0, when tm_diff is negative and + * not a multiple of stride_usecs. This adjustment *can* cause overflow, + * since the result might now be out of the range origin .. timestamp. */ - if (origin > timestamp && stride_usecs > 1) - tm_delta -= stride_usecs; - - result = origin + tm_delta; + if (tm_modulo < 0) + { + if (unlikely(pg_sub_s64_overflow(result, stride_usecs, &result)) || + !IS_VALID_TIMESTAMP(result)) + ereport(ERROR, + (errcode(ERRCODE_DATETIME_VALUE_OUT_OF_RANGE), + errmsg("timestamp out of range"))); + } PG_RETURN_TIMESTAMPTZ(result); } diff --git a/src/backend/utils/adt/windowfuncs.c b/src/backend/utils/adt/windowfuncs.c index 596564f..871119e 100644 --- a/src/backend/utils/adt/windowfuncs.c +++ b/src/backend/utils/adt/windowfuncs.c @@ -14,6 +14,7 @@ #include "postgres.h" #include "nodes/supportnodes.h" +#include "optimizer/optimizer.h" #include "utils/builtins.h" #include "windowapi.h" diff --git a/src/backend/utils/adt/xid8funcs.c b/src/backend/utils/adt/xid8funcs.c index d8e40b3..3af9eba 100644 --- a/src/backend/utils/adt/xid8funcs.c +++ b/src/backend/utils/adt/xid8funcs.c @@ -90,11 +90,12 @@ typedef struct static bool TransactionIdInRecentPast(FullTransactionId fxid, TransactionId *extracted_xid) { - uint32 xid_epoch = EpochFromFullTransactionId(fxid); TransactionId xid = XidFromFullTransactionId(fxid); uint32 now_epoch; TransactionId now_epoch_next_xid; FullTransactionId now_fullxid; + TransactionId oldest_xid; + FullTransactionId oldest_fxid; now_fullxid = ReadNextFullTransactionId(); now_epoch_next_xid = XidFromFullTransactionId(now_fullxid); @@ -127,17 +128,24 @@ TransactionIdInRecentPast(FullTransactionId fxid, TransactionId *extracted_xid) Assert(LWLockHeldByMe(XactTruncationLock)); /* - * If the transaction ID has wrapped around, it's definitely too old to - * determine the commit status. Otherwise, we can compare it to - * ShmemVariableCache->oldestClogXid to determine whether the relevant - * CLOG entry is guaranteed to still exist. + * If fxid is not older than ShmemVariableCache->oldestClogXid, the + * relevant CLOG entry is guaranteed to still exist. Convert + * ShmemVariableCache->oldestClogXid into a FullTransactionId to compare + * it with fxid. Determine the right epoch knowing that oldest_fxid + * shouldn't be more than 2^31 older than now_fullxid. */ - if (xid_epoch + 1 < now_epoch - || (xid_epoch + 1 == now_epoch && xid < now_epoch_next_xid) - || TransactionIdPrecedes(xid, ShmemVariableCache->oldestClogXid)) - return false; - - return true; + oldest_xid = ShmemVariableCache->oldestClogXid; + Assert(TransactionIdPrecedesOrEquals(oldest_xid, now_epoch_next_xid)); + if (oldest_xid <= now_epoch_next_xid) + { + oldest_fxid = FullTransactionIdFromEpochAndXid(now_epoch, oldest_xid); + } + else + { + Assert(now_epoch > 0); + oldest_fxid = FullTransactionIdFromEpochAndXid(now_epoch - 1, oldest_xid); + } + return !FullTransactionIdPrecedes(fxid, oldest_fxid); } /* diff --git a/src/backend/utils/fmgr/funcapi.c b/src/backend/utils/fmgr/funcapi.c index 31f6662..89c7ed9 100644 --- a/src/backend/utils/fmgr/funcapi.c +++ b/src/backend/utils/fmgr/funcapi.c @@ -296,6 +296,13 @@ get_call_result_type(FunctionCallInfo fcinfo, /* * get_expr_result_type * As above, but work from a calling expression node tree + * + * Beware of using this on the funcexpr of a RTE that has a coldeflist. + * The correct conclusion in such cases is always that the function returns + * RECORD with the columns defined by the coldeflist fields (funccolnames etc). + * If it does not, it's the executor's responsibility to catch the discrepancy + * at runtime; but code processing the query in advance of that point might + * come to inconsistent conclusions if it checks the actual expression. */ TypeFuncClass get_expr_result_type(Node *expr, @@ -546,7 +553,8 @@ internal_get_result_type(Oid funcid, * if noError is true, else throws error. * * This is a simpler version of get_expr_result_type() for use when the caller - * is only interested in determinate rowtype results. + * is only interested in determinate rowtype results. As with that function, + * beware of using this on the funcexpr of a RTE that has a coldeflist. */ TupleDesc get_expr_result_tupdesc(Node *expr, bool noError) diff --git a/src/backend/utils/misc/postgresql.conf.sample b/src/backend/utils/misc/postgresql.conf.sample index f92ff4c..7bf891a 100644 --- a/src/backend/utils/misc/postgresql.conf.sample +++ b/src/backend/utils/misc/postgresql.conf.sample @@ -187,9 +187,9 @@ #effective_io_concurrency = 1 # 1-1000; 0 disables prefetching #maintenance_io_concurrency = 10 # 1-1000; 0 disables prefetching #max_worker_processes = 8 # (change requires restart) -#max_parallel_workers_per_gather = 2 # taken from max_parallel_workers -#max_parallel_maintenance_workers = 2 # taken from max_parallel_workers -#max_parallel_workers = 8 # maximum number of max_worker_processes that +#max_parallel_workers_per_gather = 2 # limited by max_parallel_workers +#max_parallel_maintenance_workers = 2 # limited by max_parallel_workers +#max_parallel_workers = 8 # number of max_worker_processes that # can be used in parallel operations #parallel_leader_participation = on #old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate diff --git a/src/backend/utils/misc/ps_status.c b/src/backend/utils/misc/ps_status.c index ec314c0..d98993b 100644 --- a/src/backend/utils/misc/ps_status.c +++ b/src/backend/utils/misc/ps_status.c @@ -122,7 +122,8 @@ static char **save_argv; * (The original argv[] will not be overwritten by this routine, but may be * overwritten during init_ps_display. Also, the physical location of the * environment strings may be moved, so this should be called before any code - * that might try to hang onto a getenv() result.) + * that might try to hang onto a getenv() result. But see hack for musl + * within.) * * Note that in case of failure this cannot call elog() as that is not * initialized yet. We rely on write_stderr() instead. @@ -137,7 +138,7 @@ save_ps_display_args(int argc, char **argv) /* * If we're going to overwrite the argv area, count the available space. - * Also move the environment to make additional room. + * Also move the environment strings to make additional room. */ { char *end_of_area = NULL; @@ -166,7 +167,33 @@ save_ps_display_args(int argc, char **argv) for (i = 0; environ[i] != NULL; i++) { if (end_of_area + 1 == environ[i]) - end_of_area = environ[i] + strlen(environ[i]); + { + /* + * The musl dynamic linker keeps a static pointer to the + * initial value of LD_LIBRARY_PATH, if that is defined in the + * process's environment. Therefore, we must not overwrite the + * value of that setting and thus cannot advance end_of_area + * beyond it. Musl does not define any identifying compiler + * symbol, so we have to do this unless we see a symbol + * identifying a Linux libc we know is safe. + */ +#if defined(__linux__) && (!defined(__GLIBC__) && !defined(__UCLIBC__)) + if (strncmp(environ[i], "LD_LIBRARY_PATH=", 16) == 0) + { + /* + * We can overwrite the name, but stop at the equals sign. + * Future loop iterations will not find any more + * contiguous space, but we don't break early because we + * need to count the total number of environ[] entries. + */ + end_of_area = environ[i] + 15; + } + else +#endif + { + end_of_area = environ[i] + strlen(environ[i]); + } + } } ps_buffer = argv[0]; @@ -201,7 +228,7 @@ save_ps_display_args(int argc, char **argv) * If we're going to change the original argv[] then make a copy for * argument parsing purposes. * - * (NB: do NOT think to remove the copying of argv[], even though + * NB: do NOT think to remove the copying of argv[], even though * postmaster.c finishes looking at argv[] long before we ever consider * changing the ps display. On some platforms, getopt() keeps pointers * into the argv array, and will get horribly confused when it is diff --git a/src/backend/utils/mmgr/dsa.c b/src/backend/utils/mmgr/dsa.c index 7d0686b..c3c69bd 100644 --- a/src/backend/utils/mmgr/dsa.c +++ b/src/backend/utils/mmgr/dsa.c @@ -1093,9 +1093,13 @@ dsa_dump(dsa_area *area) { dsa_segment_index segment_index; - fprintf(stderr, - " segment bin %zu (at least %d contiguous pages free):\n", - i, 1 << (i - 1)); + if (i == 0) + fprintf(stderr, + " segment bin %zu (no contiguous free pages):\n", i); + else + fprintf(stderr, + " segment bin %zu (at least %d contiguous pages free):\n", + i, 1 << (i - 1)); segment_index = area->control->segment_bins[i]; while (segment_index != DSA_SEGMENT_INDEX_NONE) { diff --git a/src/backend/utils/sort/logtape.c b/src/backend/utils/sort/logtape.c index 31db75d..fb0d395 100644 --- a/src/backend/utils/sort/logtape.c +++ b/src/backend/utils/sort/logtape.c @@ -1181,10 +1181,8 @@ LogicalTapeTell(LogicalTape *lt, long *blocknum, int *offset) } /* - * Obtain total disk space currently used by a LogicalTapeSet, in blocks. - * - * This should not be called while there are open write buffers; otherwise it - * may not account for buffered data. + * Obtain total disk space currently used by a LogicalTapeSet, in blocks. Does + * not account for open write buffer, if any. */ long LogicalTapeSetBlocks(LogicalTapeSet *lts) diff --git a/src/bin/pg_basebackup/t/010_pg_basebackup.pl b/src/bin/pg_basebackup/t/010_pg_basebackup.pl index ec72282..e0f34e1 100644 --- a/src/bin/pg_basebackup/t/010_pg_basebackup.pl +++ b/src/bin/pg_basebackup/t/010_pg_basebackup.pl @@ -3,6 +3,7 @@ use strict; use warnings; +use Config; use File::Basename qw(basename dirname); use File::Path qw(rmtree); use PostgreSQL::Test::Cluster; @@ -173,6 +174,16 @@ foreach my $filename ( close $file; } +# Test that macOS system files are skipped. Only test on non-macOS systems +# however since creating incorrect .DS_Store files on a macOS system may have +# unintended side effects. +if ($Config{osname} ne 'darwin') +{ + open my $file, '>>', "$pgdata/.DS_Store"; + print $file "DONOTCOPY"; + close $file; +} + # Connect to a database to create global/pg_internal.init. If this is removed # the test to ensure global/pg_internal.init is not copied will return a false # positive. @@ -242,6 +253,12 @@ foreach my $filename ( ok(!-f "$tempdir/backup/$filename", "$filename not copied"); } +# We only test .DS_Store files being skipped on non-macOS systems +if ($Config{osname} ne 'darwin') +{ + ok(!-f "$tempdir/backup/.DS_Store", ".DS_Store not copied"); +} + # Unlogged relation forks other than init should not be copied ok(-f "$tempdir/backup/${baseUnloggedPath}_init", 'unlogged init fork in backup'); diff --git a/src/bin/pg_checksums/pg_checksums.c b/src/bin/pg_checksums/pg_checksums.c index 21dfe1b..1af65cd 100644 --- a/src/bin/pg_checksums/pg_checksums.c +++ b/src/bin/pg_checksums/pg_checksums.c @@ -337,6 +337,10 @@ scan_directory(const char *basedir, const char *subdir, bool sizeonly) strlen(PG_TEMP_FILES_DIR)) == 0) continue; + /* Skip macOS system files */ + if (strcmp(de->d_name, ".DS_Store") == 0) + continue; + snprintf(fn, sizeof(fn), "%s/%s", path, de->d_name); if (lstat(fn, &st) < 0) pg_fatal("could not stat file \"%s\": %m", fn); diff --git a/src/bin/pg_checksums/po/ru.po b/src/bin/pg_checksums/po/ru.po index df62e9d..04ee374 100644 --- a/src/bin/pg_checksums/po/ru.po +++ b/src/bin/pg_checksums/po/ru.po @@ -3,7 +3,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_verify_checksums (PostgreSQL) 11\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2022-08-27 14:52+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2022-09-05 13:34+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -213,52 +213,52 @@ msgstr "контрольные Ñуммы в файле \"%s\" включены" msgid "could not open directory \"%s\": %m" msgstr "не удалоÑÑŒ открыть каталог \"%s\": %m" -#: pg_checksums.c:342 pg_checksums.c:415 +#: pg_checksums.c:346 pg_checksums.c:419 #, c-format msgid "could not stat file \"%s\": %m" msgstr "не удалоÑÑŒ получить информацию о файле \"%s\": %m" -#: pg_checksums.c:366 +#: pg_checksums.c:370 #, c-format msgid "invalid segment number %d in file name \"%s\"" msgstr "неверный номер Ñегмента %d в имени файла \"%s\"" -#: pg_checksums.c:512 pg_checksums.c:528 pg_checksums.c:538 pg_checksums.c:546 +#: pg_checksums.c:516 pg_checksums.c:532 pg_checksums.c:542 pg_checksums.c:550 #, c-format msgid "Try \"%s --help\" for more information." msgstr "Ð”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации попробуйте \"%s --help\"." -#: pg_checksums.c:527 +#: pg_checksums.c:531 #, c-format msgid "no data directory specified" msgstr "каталог данных не указан" -#: pg_checksums.c:536 +#: pg_checksums.c:540 #, c-format msgid "too many command-line arguments (first is \"%s\")" msgstr "Ñлишком много аргументов командной Ñтроки (первый: \"%s\")" -#: pg_checksums.c:545 +#: pg_checksums.c:549 #, c-format msgid "option -f/--filenode can only be used with --check" msgstr "параметр -f/--filenode можно иÑпользовать только Ñ --check" -#: pg_checksums.c:553 +#: pg_checksums.c:557 #, c-format msgid "pg_control CRC value is incorrect" msgstr "ошибка контрольного Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð² pg_control" -#: pg_checksums.c:556 +#: pg_checksums.c:560 #, c-format msgid "cluster is not compatible with this version of pg_checksums" msgstr "клаÑтер неÑовмеÑтим Ñ Ñтой верÑией pg_checksums" -#: pg_checksums.c:560 +#: pg_checksums.c:564 #, c-format msgid "database cluster is not compatible" msgstr "неÑовмеÑтимый клаÑтер баз данных" -#: pg_checksums.c:561 +#: pg_checksums.c:565 #, c-format msgid "" "The database cluster was initialized with block size %u, but pg_checksums " @@ -267,77 +267,77 @@ msgstr "" "КлаÑтер баз данных был инициализирован Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð¾Ð¼ блока %u, а утилита " "pg_checksums Ñкомпилирована Ð´Ð»Ñ Ñ€Ð°Ð·Ð¼ÐµÑ€Ð° блока %u." -#: pg_checksums.c:573 +#: pg_checksums.c:577 #, c-format msgid "cluster must be shut down" msgstr "клаÑтер должен быть отключён" -#: pg_checksums.c:577 +#: pg_checksums.c:581 #, c-format msgid "data checksums are not enabled in cluster" msgstr "контрольные Ñуммы в клаÑтере не включены" -#: pg_checksums.c:581 +#: pg_checksums.c:585 #, c-format msgid "data checksums are already disabled in cluster" msgstr "контрольные Ñуммы в клаÑтере уже отключены" -#: pg_checksums.c:585 +#: pg_checksums.c:589 #, c-format msgid "data checksums are already enabled in cluster" msgstr "контрольные Ñуммы в клаÑтере уже включены" -#: pg_checksums.c:609 +#: pg_checksums.c:613 #, c-format msgid "Checksum operation completed\n" msgstr "Обработка контрольных Ñумм завершена\n" -#: pg_checksums.c:610 +#: pg_checksums.c:614 #, c-format msgid "Files scanned: %lld\n" msgstr "ПроÑканировано файлов: %lld\n" -#: pg_checksums.c:611 +#: pg_checksums.c:615 #, c-format msgid "Blocks scanned: %lld\n" msgstr "ПроÑканировано блоков: %lld\n" -#: pg_checksums.c:614 +#: pg_checksums.c:618 #, c-format msgid "Bad checksums: %lld\n" msgstr "Ðеверные контрольные Ñуммы: %lld\n" -#: pg_checksums.c:615 pg_checksums.c:647 +#: pg_checksums.c:619 pg_checksums.c:651 #, c-format msgid "Data checksum version: %u\n" msgstr "ВерÑÐ¸Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ñ‹Ñ… Ñумм данных: %u\n" -#: pg_checksums.c:622 +#: pg_checksums.c:626 #, c-format msgid "Files written: %lld\n" msgstr "ЗапиÑано файлов: %lld\n" -#: pg_checksums.c:623 +#: pg_checksums.c:627 #, c-format msgid "Blocks written: %lld\n" msgstr "ЗапиÑано блоков: %lld\n" -#: pg_checksums.c:639 +#: pg_checksums.c:643 #, c-format msgid "syncing data directory" msgstr "ÑÐ¸Ð½Ñ…Ñ€Ð¾Ð½Ð¸Ð·Ð°Ñ†Ð¸Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ð° данных" -#: pg_checksums.c:643 +#: pg_checksums.c:647 #, c-format msgid "updating control file" msgstr "Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ ÑƒÐ¿Ñ€Ð°Ð²Ð»Ñющего файла" -#: pg_checksums.c:649 +#: pg_checksums.c:653 #, c-format msgid "Checksums enabled in cluster\n" msgstr "Контрольные Ñуммы в клаÑтере включены\n" -#: pg_checksums.c:651 +#: pg_checksums.c:655 #, c-format msgid "Checksums disabled in cluster\n" msgstr "Контрольные Ñуммы в клаÑтере отключены\n" diff --git a/src/bin/pg_checksums/t/002_actions.pl b/src/bin/pg_checksums/t/002_actions.pl index 0309cbb..792ac48 100644 --- a/src/bin/pg_checksums/t/002_actions.pl +++ b/src/bin/pg_checksums/t/002_actions.pl @@ -6,6 +6,7 @@ use strict; use warnings; +use Config; use PostgreSQL::Test::Cluster; use PostgreSQL::Test::Utils; @@ -114,6 +115,12 @@ append_to_file "$pgdata/global/pgsql_tmp/1.1", "foo"; append_to_file "$pgdata/global/pg_internal.init", "foo"; append_to_file "$pgdata/global/pg_internal.init.123", "foo"; +# These are non-postgres macOS files, which should be ignored by the scan. +# Only perform this test on non-macOS systems though as creating incorrect +# system files may have side effects on macOS. +append_to_file "$pgdata/global/.DS_Store", "foo" + unless ($Config{osname} eq 'darwin'); + # Enable checksums. command_ok([ 'pg_checksums', '--enable', '--no-sync', '-D', $pgdata ], "checksums successfully enabled in cluster"); diff --git a/src/bin/pg_dump/pg_dumpall.c b/src/bin/pg_dump/pg_dumpall.c index 7e639f9..950bc41 100644 --- a/src/bin/pg_dump/pg_dumpall.c +++ b/src/bin/pg_dump/pg_dumpall.c @@ -736,28 +736,31 @@ dumpRoles(PGconn *conn) i_is_current_user; int i; - /* note: rolconfig is dumped later */ + /* + * Notes: rolconfig is dumped later, and pg_authid must be used for + * extracting rolcomment regardless of role_catalog. + */ if (server_version >= 90600) printfPQExpBuffer(buf, "SELECT oid, rolname, rolsuper, rolinherit, " "rolcreaterole, rolcreatedb, " "rolcanlogin, rolconnlimit, rolpassword, " "rolvaliduntil, rolreplication, rolbypassrls, " - "pg_catalog.shobj_description(oid, '%s') as rolcomment, " + "pg_catalog.shobj_description(oid, 'pg_authid') as rolcomment, " "rolname = current_user AS is_current_user " "FROM %s " "WHERE rolname !~ '^pg_' " - "ORDER BY 2", role_catalog, role_catalog); + "ORDER BY 2", role_catalog); else if (server_version >= 90500) printfPQExpBuffer(buf, "SELECT oid, rolname, rolsuper, rolinherit, " "rolcreaterole, rolcreatedb, " "rolcanlogin, rolconnlimit, rolpassword, " "rolvaliduntil, rolreplication, rolbypassrls, " - "pg_catalog.shobj_description(oid, '%s') as rolcomment, " + "pg_catalog.shobj_description(oid, 'pg_authid') as rolcomment, " "rolname = current_user AS is_current_user " "FROM %s " - "ORDER BY 2", role_catalog, role_catalog); + "ORDER BY 2", role_catalog); else printfPQExpBuffer(buf, "SELECT oid, rolname, rolsuper, rolinherit, " @@ -765,10 +768,10 @@ dumpRoles(PGconn *conn) "rolcanlogin, rolconnlimit, rolpassword, " "rolvaliduntil, rolreplication, " "false as rolbypassrls, " - "pg_catalog.shobj_description(oid, '%s') as rolcomment, " + "pg_catalog.shobj_description(oid, 'pg_authid') as rolcomment, " "rolname = current_user AS is_current_user " "FROM %s " - "ORDER BY 2", role_catalog, role_catalog); + "ORDER BY 2", role_catalog); res = executeQuery(conn, buf->data); diff --git a/src/bin/pg_dump/po/es.po b/src/bin/pg_dump/po/es.po index 237b44f..035d9d9 100644 --- a/src/bin/pg_dump/po/es.po +++ b/src/bin/pg_dump/po/es.po @@ -1589,7 +1589,7 @@ msgstr " --no-subscriptions no volcar las suscripciones\n" #: pg_dump.c:1041 pg_dumpall.c:640 #, c-format msgid " --no-table-access-method do not dump table access methods\n" -msgstr " --no-tablespaces no volcar métodos de acceso de tablas\n" +msgstr " --no-table-access-method no volcar métodos de acceso de tablas\n" #: pg_dump.c:1042 pg_dumpall.c:641 #, c-format diff --git a/src/bin/pg_dump/po/ru.po b/src/bin/pg_dump/po/ru.po index c0dd159..7b0c0a9 100644 --- a/src/bin/pg_dump/po/ru.po +++ b/src/bin/pg_dump/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_dump (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-02 18:11+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2023-08-30 14:18+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -1035,12 +1035,12 @@ msgstr "Ñжатие активно" msgid "could not get server_version from libpq" msgstr "не удалоÑÑŒ получить верÑию Ñервера из libpq" -#: pg_backup_db.c:53 pg_dumpall.c:1646 +#: pg_backup_db.c:53 pg_dumpall.c:1649 #, c-format msgid "aborting because of server version mismatch" msgstr "продолжение работы Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ верÑией Ñервера невозможно" -#: pg_backup_db.c:54 pg_dumpall.c:1647 +#: pg_backup_db.c:54 pg_dumpall.c:1650 #, c-format msgid "server version: %s; %s version: %s" msgstr "верÑÐ¸Ñ Ñервера: %s; верÑÐ¸Ñ %s: %s" @@ -1050,7 +1050,7 @@ msgstr "верÑÐ¸Ñ Ñервера: %s; верÑÐ¸Ñ %s: %s" msgid "already connected to a database" msgstr "подключение к базе данных уже уÑтановлено" -#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1490 pg_dumpall.c:1595 +#: pg_backup_db.c:128 pg_backup_db.c:178 pg_dumpall.c:1493 pg_dumpall.c:1598 msgid "Password: " msgstr "Пароль: " @@ -1065,17 +1065,17 @@ msgid "reconnection failed: %s" msgstr "переподключитьÑÑ Ð½Ðµ удалоÑÑŒ: %s" #: pg_backup_db.c:190 pg_backup_db.c:265 pg_dump_sort.c:1280 -#: pg_dump_sort.c:1300 pg_dumpall.c:1520 pg_dumpall.c:1604 +#: pg_dump_sort.c:1300 pg_dumpall.c:1523 pg_dumpall.c:1607 #, c-format msgid "%s" msgstr "%s" -#: pg_backup_db.c:272 pg_dumpall.c:1709 pg_dumpall.c:1732 +#: pg_backup_db.c:272 pg_dumpall.c:1712 pg_dumpall.c:1735 #, c-format msgid "query failed: %s" msgstr "ошибка при выполнении запроÑа: %s" -#: pg_backup_db.c:274 pg_dumpall.c:1710 pg_dumpall.c:1733 +#: pg_backup_db.c:274 pg_dumpall.c:1713 pg_dumpall.c:1736 #, c-format msgid "Query was: %s" msgstr "ВыполнÑлÑÑ Ð·Ð°Ð¿Ñ€Ð¾Ñ: %s" @@ -1878,7 +1878,7 @@ msgstr "" msgid "invalid output format \"%s\" specified" msgstr "указан неверный формат вывода: \"%s\"" -#: pg_dump.c:1332 pg_dump.c:1388 pg_dump.c:1441 pg_dumpall.c:1282 +#: pg_dump.c:1332 pg_dump.c:1388 pg_dump.c:1441 pg_dumpall.c:1285 #, c-format msgid "improper qualified name (too many dotted names): %s" msgstr "неверное полное Ð¸Ð¼Ñ (Ñлишком много компонентов): %s" @@ -2441,7 +2441,7 @@ msgid "" "options -r/--roles-only and -t/--tablespaces-only cannot be used together" msgstr "параметры -r/--roles-only и -t/--tablespaces-only иÑключают друг друга" -#: pg_dumpall.c:444 pg_dumpall.c:1587 +#: pg_dumpall.c:444 pg_dumpall.c:1590 #, c-format msgid "could not connect to database \"%s\"" msgstr "не удалоÑÑŒ подключитьÑÑ Ðº базе данных: \"%s\"" @@ -2552,59 +2552,59 @@ msgstr "" "вывод.\n" "\n" -#: pg_dumpall.c:803 +#: pg_dumpall.c:806 #, c-format msgid "role name starting with \"pg_\" skipped (%s)" msgstr "Ð¸Ð¼Ñ Ñ€Ð¾Ð»Ð¸, начинающееÑÑ Ñ \"pg_\", пропущено (%s)" -#: pg_dumpall.c:1018 +#: pg_dumpall.c:1021 #, c-format msgid "could not parse ACL list (%s) for parameter \"%s\"" msgstr "не удалоÑÑŒ разобрать ÑпиÑок ACL (%s) Ð´Ð»Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð° \"%s\"" -#: pg_dumpall.c:1136 +#: pg_dumpall.c:1139 #, c-format msgid "could not parse ACL list (%s) for tablespace \"%s\"" msgstr "" "не удалоÑÑŒ разобрать ÑпиÑок ÑƒÐ¿Ñ€Ð°Ð²Ð»ÐµÐ½Ð¸Ñ Ð´Ð¾Ñтупом (%s) Ð´Ð»Ñ Ñ‚Ð°Ð±Ð». проÑтранÑтва " "\"%s\"" -#: pg_dumpall.c:1343 +#: pg_dumpall.c:1346 #, c-format msgid "excluding database \"%s\"" msgstr "база данных \"%s\" иÑключаетÑÑ" -#: pg_dumpall.c:1347 +#: pg_dumpall.c:1350 #, c-format msgid "dumping database \"%s\"" msgstr "выгрузка базы данных \"%s\"" -#: pg_dumpall.c:1378 +#: pg_dumpall.c:1381 #, c-format msgid "pg_dump failed on database \"%s\", exiting" msgstr "ошибка при обработке базы \"%s\", pg_dump завершаетÑÑ" -#: pg_dumpall.c:1384 +#: pg_dumpall.c:1387 #, c-format msgid "could not re-open the output file \"%s\": %m" msgstr "не удалоÑÑŒ повторно открыть выходной файл \"%s\": %m" -#: pg_dumpall.c:1425 +#: pg_dumpall.c:1428 #, c-format msgid "running \"%s\"" msgstr "выполнÑетÑÑ \"%s\"" -#: pg_dumpall.c:1630 +#: pg_dumpall.c:1633 #, c-format msgid "could not get server version" msgstr "не удалоÑÑŒ узнать верÑию Ñервера" -#: pg_dumpall.c:1633 +#: pg_dumpall.c:1636 #, c-format msgid "could not parse server version \"%s\"" msgstr "не удалоÑÑŒ разобрать Ñтроку верÑии Ñервера \"%s\"" -#: pg_dumpall.c:1703 pg_dumpall.c:1726 +#: pg_dumpall.c:1706 pg_dumpall.c:1729 #, c-format msgid "executing %s" msgstr "выполнÑетÑÑ %s" diff --git a/src/bin/pg_rewind/filemap.c b/src/bin/pg_rewind/filemap.c index 6252931..24f508c 100644 --- a/src/bin/pg_rewind/filemap.c +++ b/src/bin/pg_rewind/filemap.c @@ -647,6 +647,10 @@ decide_file_action(file_entry_t *entry) if (strcmp(path, "global/pg_control") == 0) return FILE_ACTION_NONE; + /* Skip macOS system files */ + if (strstr(path, ".DS_Store") != NULL) + return FILE_ACTION_NONE; + /* * Remove all files matching the exclusion filters in the target. */ diff --git a/src/bin/pg_rewind/po/ru.po b/src/bin/pg_rewind/po/ru.po index 4c95c7c..30e0b1d 100644 --- a/src/bin/pg_rewind/po/ru.po +++ b/src/bin/pg_rewind/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: pg_rewind (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-02 18:11+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2023-08-30 15:22+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -269,17 +269,17 @@ msgstr "повторный иÑходный файл \"%s\"" msgid "unexpected page modification for non-regular file \"%s\"" msgstr "Ð½ÐµÐ¾Ð¶Ð¸Ð´Ð°Ð½Ð½Ð°Ñ Ð¼Ð¾Ð´Ð¸Ñ„Ð¸ÐºÐ°Ñ†Ð¸Ñ Ñтраницы Ð´Ð»Ñ Ñ„Ð°Ð¹Ð»Ð° оÑобого вида \"%s\"" -#: filemap.c:679 filemap.c:773 +#: filemap.c:683 filemap.c:777 #, c-format msgid "unknown file type for \"%s\"" msgstr "неизвеÑтный тип файла \"%s\"" -#: filemap.c:706 +#: filemap.c:710 #, c-format msgid "file \"%s\" is of different type in source and target" msgstr "файл \"%s\" имеет разный тип в иÑходном и целевом клаÑтере" -#: filemap.c:778 +#: filemap.c:782 #, c-format msgid "could not decide what to do with file \"%s\"" msgstr "не удалоÑÑŒ определить, что делать Ñ Ñ„Ð°Ð¹Ð»Ð¾Ð¼ \"%s\"" diff --git a/src/bin/pg_rewind/t/003_extrafiles.pl b/src/bin/pg_rewind/t/003_extrafiles.pl index 100c212..54bb63c 100644 --- a/src/bin/pg_rewind/t/003_extrafiles.pl +++ b/src/bin/pg_rewind/t/003_extrafiles.pl @@ -5,6 +5,7 @@ use strict; use warnings; +use Config; use PostgreSQL::Test::Utils; use Test::More; @@ -53,6 +54,10 @@ sub run_test append_to_file "$test_standby_datadir/tst_standby_dir/standby_subdir/standby_file4", "in standby4"; + # Skip testing .DS_Store files on macOS to avoid risk of side effects + append_to_file + "$test_standby_datadir/tst_standby_dir/.DS_Store", + "macOS system file" unless ($Config{osname} eq 'darwin'); mkdir "$test_primary_datadir/tst_primary_dir"; append_to_file "$test_primary_datadir/tst_primary_dir/primary_file1", diff --git a/src/bin/psql/common.c b/src/bin/psql/common.c index f5909f9..9d9d04b 100644 --- a/src/bin/psql/common.c +++ b/src/bin/psql/common.c @@ -1625,6 +1625,8 @@ ExecQueryAndProcessResults(const char *query, if (cancel_pressed) { + /* drop this next result, as well as any others not yet read */ + ClearOrSaveResult(result); ClearOrSaveAllResults(); break; } diff --git a/src/bin/psql/po/de.po b/src/bin/psql/po/de.po index 912297d..3058722 100644 --- a/src/bin/psql/po/de.po +++ b/src/bin/psql/po/de.po @@ -162,7 +162,7 @@ msgstr "Kann keinen weiteren Spaltenkopf zur Tabelle hinzufügen: Spaltenzahl %d #: ../../fe_utils/print.c:3213 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "Cann keine weitere Zelle zur Tabelle hinzufügen: Zellengesamtzahl %d überschritten.\n" +msgstr "Kann keine weitere Zelle zur Tabelle hinzufügen: Zellengesamtzahl %d überschritten.\n" #: ../../fe_utils/print.c:3471 #, c-format diff --git a/src/bin/psql/po/es.po b/src/bin/psql/po/es.po index e3b001e..e3c9f02 100644 --- a/src/bin/psql/po/es.po +++ b/src/bin/psql/po/es.po @@ -1250,7 +1250,7 @@ msgstr "vista" #: describe.c:1033 describe.c:3884 msgid "materialized view" -msgstr "vistas materializadas" +msgstr "vista materializada" #: describe.c:1034 describe.c:1186 describe.c:3886 msgid "sequence" diff --git a/src/bin/psql/po/ru.po b/src/bin/psql/po/ru.po index b8153a8..ad52fbe 100644 --- a/src/bin/psql/po/ru.po +++ b/src/bin/psql/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: psql (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-02 18:11+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2023-02-03 15:12+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -4260,2383 +4260,2385 @@ msgstr "%s: нехватка памÑти" #: sql_help.c:35 sql_help.c:38 sql_help.c:41 sql_help.c:65 sql_help.c:66 #: sql_help.c:68 sql_help.c:70 sql_help.c:81 sql_help.c:83 sql_help.c:85 #: sql_help.c:113 sql_help.c:119 sql_help.c:121 sql_help.c:123 sql_help.c:125 -#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:238 -#: sql_help.c:240 sql_help.c:241 sql_help.c:243 sql_help.c:245 sql_help.c:248 -#: sql_help.c:250 sql_help.c:252 sql_help.c:254 sql_help.c:266 sql_help.c:267 -#: sql_help.c:268 sql_help.c:270 sql_help.c:319 sql_help.c:321 sql_help.c:323 -#: sql_help.c:325 sql_help.c:394 sql_help.c:399 sql_help.c:401 sql_help.c:443 -#: sql_help.c:445 sql_help.c:448 sql_help.c:450 sql_help.c:519 sql_help.c:524 -#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:593 sql_help.c:595 -#: sql_help.c:597 sql_help.c:599 sql_help.c:601 sql_help.c:604 sql_help.c:606 -#: sql_help.c:609 sql_help.c:620 sql_help.c:622 sql_help.c:666 sql_help.c:668 -#: sql_help.c:670 sql_help.c:673 sql_help.c:675 sql_help.c:677 sql_help.c:714 -#: sql_help.c:718 sql_help.c:722 sql_help.c:741 sql_help.c:744 sql_help.c:747 -#: sql_help.c:776 sql_help.c:788 sql_help.c:796 sql_help.c:799 sql_help.c:802 -#: sql_help.c:817 sql_help.c:820 sql_help.c:849 sql_help.c:854 sql_help.c:859 -#: sql_help.c:864 sql_help.c:869 sql_help.c:896 sql_help.c:898 sql_help.c:900 -#: sql_help.c:902 sql_help.c:905 sql_help.c:907 sql_help.c:954 sql_help.c:999 -#: sql_help.c:1004 sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 -#: sql_help.c:1038 sql_help.c:1049 sql_help.c:1051 sql_help.c:1071 -#: sql_help.c:1081 sql_help.c:1082 sql_help.c:1084 sql_help.c:1086 -#: sql_help.c:1098 sql_help.c:1102 sql_help.c:1104 sql_help.c:1116 -#: sql_help.c:1118 sql_help.c:1120 sql_help.c:1122 sql_help.c:1141 -#: sql_help.c:1143 sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 -#: sql_help.c:1158 sql_help.c:1159 sql_help.c:1160 sql_help.c:1163 -#: sql_help.c:1166 sql_help.c:1168 sql_help.c:1307 sql_help.c:1309 -#: sql_help.c:1312 sql_help.c:1315 sql_help.c:1317 sql_help.c:1319 -#: sql_help.c:1322 sql_help.c:1325 sql_help.c:1442 sql_help.c:1444 -#: sql_help.c:1446 sql_help.c:1449 sql_help.c:1470 sql_help.c:1473 -#: sql_help.c:1476 sql_help.c:1479 sql_help.c:1483 sql_help.c:1485 -#: sql_help.c:1487 sql_help.c:1489 sql_help.c:1503 sql_help.c:1506 -#: sql_help.c:1508 sql_help.c:1510 sql_help.c:1520 sql_help.c:1522 -#: sql_help.c:1532 sql_help.c:1534 sql_help.c:1544 sql_help.c:1547 -#: sql_help.c:1570 sql_help.c:1572 sql_help.c:1574 sql_help.c:1576 -#: sql_help.c:1579 sql_help.c:1581 sql_help.c:1584 sql_help.c:1587 -#: sql_help.c:1638 sql_help.c:1681 sql_help.c:1684 sql_help.c:1686 -#: sql_help.c:1688 sql_help.c:1691 sql_help.c:1693 sql_help.c:1695 -#: sql_help.c:1698 sql_help.c:1748 sql_help.c:1764 sql_help.c:1995 -#: sql_help.c:2064 sql_help.c:2083 sql_help.c:2096 sql_help.c:2153 -#: sql_help.c:2160 sql_help.c:2170 sql_help.c:2196 sql_help.c:2227 -#: sql_help.c:2245 sql_help.c:2273 sql_help.c:2384 sql_help.c:2430 -#: sql_help.c:2455 sql_help.c:2478 sql_help.c:2482 sql_help.c:2516 -#: sql_help.c:2536 sql_help.c:2558 sql_help.c:2572 sql_help.c:2593 -#: sql_help.c:2622 sql_help.c:2657 sql_help.c:2682 sql_help.c:2729 -#: sql_help.c:3024 sql_help.c:3037 sql_help.c:3054 sql_help.c:3070 -#: sql_help.c:3110 sql_help.c:3164 sql_help.c:3168 sql_help.c:3170 -#: sql_help.c:3177 sql_help.c:3196 sql_help.c:3223 sql_help.c:3258 -#: sql_help.c:3270 sql_help.c:3279 sql_help.c:3323 sql_help.c:3337 -#: sql_help.c:3365 sql_help.c:3373 sql_help.c:3385 sql_help.c:3395 -#: sql_help.c:3403 sql_help.c:3411 sql_help.c:3419 sql_help.c:3427 -#: sql_help.c:3436 sql_help.c:3447 sql_help.c:3455 sql_help.c:3463 -#: sql_help.c:3471 sql_help.c:3479 sql_help.c:3489 sql_help.c:3498 -#: sql_help.c:3507 sql_help.c:3515 sql_help.c:3525 sql_help.c:3536 -#: sql_help.c:3544 sql_help.c:3553 sql_help.c:3564 sql_help.c:3573 -#: sql_help.c:3581 sql_help.c:3589 sql_help.c:3597 sql_help.c:3605 -#: sql_help.c:3613 sql_help.c:3621 sql_help.c:3629 sql_help.c:3637 -#: sql_help.c:3645 sql_help.c:3653 sql_help.c:3670 sql_help.c:3679 -#: sql_help.c:3687 sql_help.c:3704 sql_help.c:3719 sql_help.c:4029 -#: sql_help.c:4139 sql_help.c:4168 sql_help.c:4183 sql_help.c:4686 -#: sql_help.c:4734 sql_help.c:4892 +#: sql_help.c:126 sql_help.c:129 sql_help.c:131 sql_help.c:133 sql_help.c:240 +#: sql_help.c:242 sql_help.c:243 sql_help.c:245 sql_help.c:247 sql_help.c:250 +#: sql_help.c:252 sql_help.c:254 sql_help.c:256 sql_help.c:268 sql_help.c:269 +#: sql_help.c:270 sql_help.c:272 sql_help.c:321 sql_help.c:323 sql_help.c:325 +#: sql_help.c:327 sql_help.c:396 sql_help.c:401 sql_help.c:403 sql_help.c:445 +#: sql_help.c:447 sql_help.c:450 sql_help.c:452 sql_help.c:521 sql_help.c:526 +#: sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:595 sql_help.c:597 +#: sql_help.c:599 sql_help.c:601 sql_help.c:603 sql_help.c:606 sql_help.c:608 +#: sql_help.c:611 sql_help.c:622 sql_help.c:624 sql_help.c:668 sql_help.c:670 +#: sql_help.c:672 sql_help.c:675 sql_help.c:677 sql_help.c:679 sql_help.c:716 +#: sql_help.c:720 sql_help.c:724 sql_help.c:743 sql_help.c:746 sql_help.c:749 +#: sql_help.c:778 sql_help.c:790 sql_help.c:798 sql_help.c:801 sql_help.c:804 +#: sql_help.c:819 sql_help.c:822 sql_help.c:851 sql_help.c:856 sql_help.c:861 +#: sql_help.c:866 sql_help.c:871 sql_help.c:898 sql_help.c:900 sql_help.c:902 +#: sql_help.c:904 sql_help.c:907 sql_help.c:909 sql_help.c:956 sql_help.c:1001 +#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 +#: sql_help.c:1040 sql_help.c:1051 sql_help.c:1053 sql_help.c:1073 +#: sql_help.c:1083 sql_help.c:1084 sql_help.c:1086 sql_help.c:1088 +#: sql_help.c:1100 sql_help.c:1104 sql_help.c:1106 sql_help.c:1118 +#: sql_help.c:1120 sql_help.c:1122 sql_help.c:1124 sql_help.c:1143 +#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 sql_help.c:1157 +#: sql_help.c:1160 sql_help.c:1161 sql_help.c:1162 sql_help.c:1165 +#: sql_help.c:1168 sql_help.c:1170 sql_help.c:1309 sql_help.c:1311 +#: sql_help.c:1314 sql_help.c:1317 sql_help.c:1319 sql_help.c:1321 +#: sql_help.c:1324 sql_help.c:1327 sql_help.c:1447 sql_help.c:1449 +#: sql_help.c:1451 sql_help.c:1454 sql_help.c:1475 sql_help.c:1478 +#: sql_help.c:1481 sql_help.c:1484 sql_help.c:1488 sql_help.c:1490 +#: sql_help.c:1492 sql_help.c:1494 sql_help.c:1508 sql_help.c:1511 +#: sql_help.c:1513 sql_help.c:1515 sql_help.c:1525 sql_help.c:1527 +#: sql_help.c:1537 sql_help.c:1539 sql_help.c:1549 sql_help.c:1552 +#: sql_help.c:1575 sql_help.c:1577 sql_help.c:1579 sql_help.c:1581 +#: sql_help.c:1584 sql_help.c:1586 sql_help.c:1589 sql_help.c:1592 +#: sql_help.c:1643 sql_help.c:1686 sql_help.c:1689 sql_help.c:1691 +#: sql_help.c:1693 sql_help.c:1696 sql_help.c:1698 sql_help.c:1700 +#: sql_help.c:1703 sql_help.c:1753 sql_help.c:1769 sql_help.c:2000 +#: sql_help.c:2069 sql_help.c:2088 sql_help.c:2101 sql_help.c:2158 +#: sql_help.c:2165 sql_help.c:2175 sql_help.c:2201 sql_help.c:2232 +#: sql_help.c:2250 sql_help.c:2278 sql_help.c:2389 sql_help.c:2435 +#: sql_help.c:2460 sql_help.c:2483 sql_help.c:2487 sql_help.c:2521 +#: sql_help.c:2541 sql_help.c:2563 sql_help.c:2577 sql_help.c:2598 +#: sql_help.c:2627 sql_help.c:2662 sql_help.c:2687 sql_help.c:2734 +#: sql_help.c:3032 sql_help.c:3045 sql_help.c:3062 sql_help.c:3078 +#: sql_help.c:3118 sql_help.c:3172 sql_help.c:3176 sql_help.c:3178 +#: sql_help.c:3185 sql_help.c:3204 sql_help.c:3231 sql_help.c:3266 +#: sql_help.c:3278 sql_help.c:3287 sql_help.c:3331 sql_help.c:3345 +#: sql_help.c:3373 sql_help.c:3381 sql_help.c:3393 sql_help.c:3403 +#: sql_help.c:3411 sql_help.c:3419 sql_help.c:3427 sql_help.c:3435 +#: sql_help.c:3444 sql_help.c:3455 sql_help.c:3463 sql_help.c:3471 +#: sql_help.c:3479 sql_help.c:3487 sql_help.c:3497 sql_help.c:3506 +#: sql_help.c:3515 sql_help.c:3523 sql_help.c:3533 sql_help.c:3544 +#: sql_help.c:3552 sql_help.c:3561 sql_help.c:3572 sql_help.c:3581 +#: sql_help.c:3589 sql_help.c:3597 sql_help.c:3605 sql_help.c:3613 +#: sql_help.c:3621 sql_help.c:3629 sql_help.c:3637 sql_help.c:3645 +#: sql_help.c:3653 sql_help.c:3661 sql_help.c:3678 sql_help.c:3687 +#: sql_help.c:3695 sql_help.c:3712 sql_help.c:3727 sql_help.c:4037 +#: sql_help.c:4151 sql_help.c:4180 sql_help.c:4195 sql_help.c:4698 +#: sql_help.c:4746 sql_help.c:4904 msgid "name" msgstr "имÑ" -#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:330 sql_help.c:1845 -#: sql_help.c:3338 sql_help.c:4454 +#: sql_help.c:36 sql_help.c:39 sql_help.c:42 sql_help.c:332 sql_help.c:1850 +#: sql_help.c:3346 sql_help.c:4466 msgid "aggregate_signature" msgstr "Ñигнатура_агр_функции" -#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:253 -#: sql_help.c:271 sql_help.c:402 sql_help.c:449 sql_help.c:528 sql_help.c:576 -#: sql_help.c:594 sql_help.c:621 sql_help.c:674 sql_help.c:743 sql_help.c:798 -#: sql_help.c:819 sql_help.c:858 sql_help.c:908 sql_help.c:955 sql_help.c:1008 -#: sql_help.c:1040 sql_help.c:1050 sql_help.c:1085 sql_help.c:1105 -#: sql_help.c:1119 sql_help.c:1169 sql_help.c:1316 sql_help.c:1443 -#: sql_help.c:1486 sql_help.c:1507 sql_help.c:1521 sql_help.c:1533 -#: sql_help.c:1546 sql_help.c:1573 sql_help.c:1639 sql_help.c:1692 +#: sql_help.c:37 sql_help.c:67 sql_help.c:82 sql_help.c:120 sql_help.c:255 +#: sql_help.c:273 sql_help.c:404 sql_help.c:451 sql_help.c:530 sql_help.c:578 +#: sql_help.c:596 sql_help.c:623 sql_help.c:676 sql_help.c:745 sql_help.c:800 +#: sql_help.c:821 sql_help.c:860 sql_help.c:910 sql_help.c:957 sql_help.c:1010 +#: sql_help.c:1042 sql_help.c:1052 sql_help.c:1087 sql_help.c:1107 +#: sql_help.c:1121 sql_help.c:1171 sql_help.c:1318 sql_help.c:1448 +#: sql_help.c:1491 sql_help.c:1512 sql_help.c:1526 sql_help.c:1538 +#: sql_help.c:1551 sql_help.c:1578 sql_help.c:1644 sql_help.c:1697 msgid "new_name" msgstr "новое_имÑ" -#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:251 -#: sql_help.c:269 sql_help.c:400 sql_help.c:485 sql_help.c:533 sql_help.c:623 -#: sql_help.c:632 sql_help.c:697 sql_help.c:717 sql_help.c:746 sql_help.c:801 -#: sql_help.c:863 sql_help.c:906 sql_help.c:1013 sql_help.c:1052 -#: sql_help.c:1083 sql_help.c:1103 sql_help.c:1117 sql_help.c:1167 -#: sql_help.c:1380 sql_help.c:1445 sql_help.c:1488 sql_help.c:1509 -#: sql_help.c:1571 sql_help.c:1687 sql_help.c:3010 +#: sql_help.c:40 sql_help.c:69 sql_help.c:84 sql_help.c:122 sql_help.c:253 +#: sql_help.c:271 sql_help.c:402 sql_help.c:487 sql_help.c:535 sql_help.c:625 +#: sql_help.c:634 sql_help.c:699 sql_help.c:719 sql_help.c:748 sql_help.c:803 +#: sql_help.c:865 sql_help.c:908 sql_help.c:1015 sql_help.c:1054 +#: sql_help.c:1085 sql_help.c:1105 sql_help.c:1119 sql_help.c:1169 +#: sql_help.c:1382 sql_help.c:1450 sql_help.c:1493 sql_help.c:1514 +#: sql_help.c:1576 sql_help.c:1692 sql_help.c:3018 msgid "new_owner" msgstr "новый_владелец" -#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:255 sql_help.c:322 -#: sql_help.c:451 sql_help.c:538 sql_help.c:676 sql_help.c:721 sql_help.c:749 -#: sql_help.c:804 sql_help.c:868 sql_help.c:1018 sql_help.c:1087 -#: sql_help.c:1121 sql_help.c:1318 sql_help.c:1490 sql_help.c:1511 -#: sql_help.c:1523 sql_help.c:1535 sql_help.c:1575 sql_help.c:1694 +#: sql_help.c:43 sql_help.c:71 sql_help.c:86 sql_help.c:257 sql_help.c:324 +#: sql_help.c:453 sql_help.c:540 sql_help.c:678 sql_help.c:723 sql_help.c:751 +#: sql_help.c:806 sql_help.c:870 sql_help.c:1020 sql_help.c:1089 +#: sql_help.c:1123 sql_help.c:1320 sql_help.c:1495 sql_help.c:1516 +#: sql_help.c:1528 sql_help.c:1540 sql_help.c:1580 sql_help.c:1699 msgid "new_schema" msgstr "новаÑ_Ñхема" -#: sql_help.c:44 sql_help.c:1909 sql_help.c:3339 sql_help.c:4483 +#: sql_help.c:44 sql_help.c:1914 sql_help.c:3347 sql_help.c:4495 msgid "where aggregate_signature is:" msgstr "где Ñигнатура_агр_функции:" -#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:340 sql_help.c:353 -#: sql_help.c:357 sql_help.c:373 sql_help.c:376 sql_help.c:379 sql_help.c:520 -#: sql_help.c:525 sql_help.c:530 sql_help.c:535 sql_help.c:540 sql_help.c:850 -#: sql_help.c:855 sql_help.c:860 sql_help.c:865 sql_help.c:870 sql_help.c:1000 -#: sql_help.c:1005 sql_help.c:1010 sql_help.c:1015 sql_help.c:1020 -#: sql_help.c:1863 sql_help.c:1880 sql_help.c:1886 sql_help.c:1910 -#: sql_help.c:1913 sql_help.c:1916 sql_help.c:2065 sql_help.c:2084 -#: sql_help.c:2087 sql_help.c:2385 sql_help.c:2594 sql_help.c:3340 -#: sql_help.c:3343 sql_help.c:3346 sql_help.c:3437 sql_help.c:3526 -#: sql_help.c:3554 sql_help.c:3904 sql_help.c:4353 sql_help.c:4460 -#: sql_help.c:4467 sql_help.c:4473 sql_help.c:4484 sql_help.c:4487 -#: sql_help.c:4490 +#: sql_help.c:45 sql_help.c:48 sql_help.c:51 sql_help.c:342 sql_help.c:355 +#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 +#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 +#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 +#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 +#: sql_help.c:1868 sql_help.c:1885 sql_help.c:1891 sql_help.c:1915 +#: sql_help.c:1918 sql_help.c:1921 sql_help.c:2070 sql_help.c:2089 +#: sql_help.c:2092 sql_help.c:2390 sql_help.c:2599 sql_help.c:3348 +#: sql_help.c:3351 sql_help.c:3354 sql_help.c:3445 sql_help.c:3534 +#: sql_help.c:3562 sql_help.c:3912 sql_help.c:4365 sql_help.c:4472 +#: sql_help.c:4479 sql_help.c:4485 sql_help.c:4496 sql_help.c:4499 +#: sql_help.c:4502 msgid "argmode" msgstr "режим_аргумента" -#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:341 sql_help.c:354 -#: sql_help.c:358 sql_help.c:374 sql_help.c:377 sql_help.c:380 sql_help.c:521 -#: sql_help.c:526 sql_help.c:531 sql_help.c:536 sql_help.c:541 sql_help.c:851 -#: sql_help.c:856 sql_help.c:861 sql_help.c:866 sql_help.c:871 sql_help.c:1001 -#: sql_help.c:1006 sql_help.c:1011 sql_help.c:1016 sql_help.c:1021 -#: sql_help.c:1864 sql_help.c:1881 sql_help.c:1887 sql_help.c:1911 -#: sql_help.c:1914 sql_help.c:1917 sql_help.c:2066 sql_help.c:2085 -#: sql_help.c:2088 sql_help.c:2386 sql_help.c:2595 sql_help.c:3341 -#: sql_help.c:3344 sql_help.c:3347 sql_help.c:3438 sql_help.c:3527 -#: sql_help.c:3555 sql_help.c:4461 sql_help.c:4468 sql_help.c:4474 -#: sql_help.c:4485 sql_help.c:4488 sql_help.c:4491 +#: sql_help.c:46 sql_help.c:49 sql_help.c:52 sql_help.c:343 sql_help.c:356 +#: sql_help.c:360 sql_help.c:376 sql_help.c:379 sql_help.c:382 sql_help.c:523 +#: sql_help.c:528 sql_help.c:533 sql_help.c:538 sql_help.c:543 sql_help.c:853 +#: sql_help.c:858 sql_help.c:863 sql_help.c:868 sql_help.c:873 sql_help.c:1003 +#: sql_help.c:1008 sql_help.c:1013 sql_help.c:1018 sql_help.c:1023 +#: sql_help.c:1869 sql_help.c:1886 sql_help.c:1892 sql_help.c:1916 +#: sql_help.c:1919 sql_help.c:1922 sql_help.c:2071 sql_help.c:2090 +#: sql_help.c:2093 sql_help.c:2391 sql_help.c:2600 sql_help.c:3349 +#: sql_help.c:3352 sql_help.c:3355 sql_help.c:3446 sql_help.c:3535 +#: sql_help.c:3563 sql_help.c:4473 sql_help.c:4480 sql_help.c:4486 +#: sql_help.c:4497 sql_help.c:4500 sql_help.c:4503 msgid "argname" msgstr "имÑ_аргумента" -#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:342 sql_help.c:355 -#: sql_help.c:359 sql_help.c:375 sql_help.c:378 sql_help.c:381 sql_help.c:522 -#: sql_help.c:527 sql_help.c:532 sql_help.c:537 sql_help.c:542 sql_help.c:852 -#: sql_help.c:857 sql_help.c:862 sql_help.c:867 sql_help.c:872 sql_help.c:1002 -#: sql_help.c:1007 sql_help.c:1012 sql_help.c:1017 sql_help.c:1022 -#: sql_help.c:1865 sql_help.c:1882 sql_help.c:1888 sql_help.c:1912 -#: sql_help.c:1915 sql_help.c:1918 sql_help.c:2387 sql_help.c:2596 -#: sql_help.c:3342 sql_help.c:3345 sql_help.c:3348 sql_help.c:3439 -#: sql_help.c:3528 sql_help.c:3556 sql_help.c:4462 sql_help.c:4469 -#: sql_help.c:4475 sql_help.c:4486 sql_help.c:4489 sql_help.c:4492 +#: sql_help.c:47 sql_help.c:50 sql_help.c:53 sql_help.c:344 sql_help.c:357 +#: sql_help.c:361 sql_help.c:377 sql_help.c:380 sql_help.c:383 sql_help.c:524 +#: sql_help.c:529 sql_help.c:534 sql_help.c:539 sql_help.c:544 sql_help.c:854 +#: sql_help.c:859 sql_help.c:864 sql_help.c:869 sql_help.c:874 sql_help.c:1004 +#: sql_help.c:1009 sql_help.c:1014 sql_help.c:1019 sql_help.c:1024 +#: sql_help.c:1870 sql_help.c:1887 sql_help.c:1893 sql_help.c:1917 +#: sql_help.c:1920 sql_help.c:1923 sql_help.c:2392 sql_help.c:2601 +#: sql_help.c:3350 sql_help.c:3353 sql_help.c:3356 sql_help.c:3447 +#: sql_help.c:3536 sql_help.c:3564 sql_help.c:4474 sql_help.c:4481 +#: sql_help.c:4487 sql_help.c:4498 sql_help.c:4501 sql_help.c:4504 msgid "argtype" msgstr "тип_аргумента" -#: sql_help.c:114 sql_help.c:397 sql_help.c:474 sql_help.c:486 sql_help.c:949 -#: sql_help.c:1100 sql_help.c:1504 sql_help.c:1633 sql_help.c:1665 -#: sql_help.c:1717 sql_help.c:1780 sql_help.c:1966 sql_help.c:1973 -#: sql_help.c:2276 sql_help.c:2326 sql_help.c:2333 sql_help.c:2342 -#: sql_help.c:2431 sql_help.c:2658 sql_help.c:2751 sql_help.c:3039 -#: sql_help.c:3224 sql_help.c:3246 sql_help.c:3386 sql_help.c:3741 -#: sql_help.c:3948 sql_help.c:4182 sql_help.c:4955 +#: sql_help.c:114 sql_help.c:399 sql_help.c:476 sql_help.c:488 sql_help.c:951 +#: sql_help.c:1102 sql_help.c:1509 sql_help.c:1638 sql_help.c:1670 +#: sql_help.c:1722 sql_help.c:1785 sql_help.c:1971 sql_help.c:1978 +#: sql_help.c:2281 sql_help.c:2331 sql_help.c:2338 sql_help.c:2347 +#: sql_help.c:2436 sql_help.c:2663 sql_help.c:2756 sql_help.c:3047 +#: sql_help.c:3232 sql_help.c:3254 sql_help.c:3394 sql_help.c:3749 +#: sql_help.c:3956 sql_help.c:4194 sql_help.c:4967 msgid "option" msgstr "параметр" -#: sql_help.c:115 sql_help.c:950 sql_help.c:1634 sql_help.c:2432 -#: sql_help.c:2659 sql_help.c:3225 sql_help.c:3387 +#: sql_help.c:115 sql_help.c:952 sql_help.c:1639 sql_help.c:2437 +#: sql_help.c:2664 sql_help.c:3233 sql_help.c:3395 msgid "where option can be:" msgstr "где допуÑтимые параметры:" -#: sql_help.c:116 sql_help.c:2208 +#: sql_help.c:116 sql_help.c:2213 msgid "allowconn" msgstr "разр_подключениÑ" -#: sql_help.c:117 sql_help.c:951 sql_help.c:1635 sql_help.c:2209 -#: sql_help.c:2433 sql_help.c:2660 sql_help.c:3226 +#: sql_help.c:117 sql_help.c:953 sql_help.c:1640 sql_help.c:2214 +#: sql_help.c:2438 sql_help.c:2665 sql_help.c:3234 msgid "connlimit" msgstr "предел_подключений" -#: sql_help.c:118 sql_help.c:2210 +#: sql_help.c:118 sql_help.c:2215 msgid "istemplate" msgstr "Ñто_шаблон" -#: sql_help.c:124 sql_help.c:611 sql_help.c:679 sql_help.c:693 sql_help.c:1321 -#: sql_help.c:1373 sql_help.c:4186 +#: sql_help.c:124 sql_help.c:613 sql_help.c:681 sql_help.c:695 sql_help.c:1323 +#: sql_help.c:1375 sql_help.c:4198 msgid "new_tablespace" msgstr "новое_табл_проÑтранÑтво" -#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:548 sql_help.c:550 -#: sql_help.c:551 sql_help.c:875 sql_help.c:877 sql_help.c:878 sql_help.c:958 -#: sql_help.c:962 sql_help.c:965 sql_help.c:1027 sql_help.c:1029 -#: sql_help.c:1030 sql_help.c:1180 sql_help.c:1182 sql_help.c:1642 -#: sql_help.c:1646 sql_help.c:1649 sql_help.c:2397 sql_help.c:2600 -#: sql_help.c:3916 sql_help.c:4204 sql_help.c:4365 sql_help.c:4674 +#: sql_help.c:127 sql_help.c:130 sql_help.c:132 sql_help.c:550 sql_help.c:552 +#: sql_help.c:553 sql_help.c:877 sql_help.c:879 sql_help.c:880 sql_help.c:960 +#: sql_help.c:964 sql_help.c:967 sql_help.c:1029 sql_help.c:1031 +#: sql_help.c:1032 sql_help.c:1182 sql_help.c:1184 sql_help.c:1647 +#: sql_help.c:1651 sql_help.c:1654 sql_help.c:2402 sql_help.c:2605 +#: sql_help.c:3924 sql_help.c:4216 sql_help.c:4377 sql_help.c:4686 msgid "configuration_parameter" msgstr "параметр_конфигурации" -#: sql_help.c:128 sql_help.c:398 sql_help.c:469 sql_help.c:475 sql_help.c:487 -#: sql_help.c:549 sql_help.c:603 sql_help.c:685 sql_help.c:695 sql_help.c:876 -#: sql_help.c:904 sql_help.c:959 sql_help.c:1028 sql_help.c:1101 -#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:1157 -#: sql_help.c:1162 sql_help.c:1165 sql_help.c:1181 sql_help.c:1352 -#: sql_help.c:1375 sql_help.c:1423 sql_help.c:1448 sql_help.c:1505 -#: sql_help.c:1589 sql_help.c:1643 sql_help.c:1666 sql_help.c:2277 -#: sql_help.c:2327 sql_help.c:2334 sql_help.c:2343 sql_help.c:2398 -#: sql_help.c:2399 sql_help.c:2463 sql_help.c:2466 sql_help.c:2500 -#: sql_help.c:2601 sql_help.c:2602 sql_help.c:2625 sql_help.c:2752 -#: sql_help.c:2791 sql_help.c:2901 sql_help.c:2914 sql_help.c:2928 -#: sql_help.c:2969 sql_help.c:2996 sql_help.c:3013 sql_help.c:3040 -#: sql_help.c:3247 sql_help.c:3949 sql_help.c:4675 sql_help.c:4676 -#: sql_help.c:4677 sql_help.c:4678 +#: sql_help.c:128 sql_help.c:400 sql_help.c:471 sql_help.c:477 sql_help.c:489 +#: sql_help.c:551 sql_help.c:605 sql_help.c:687 sql_help.c:697 sql_help.c:878 +#: sql_help.c:906 sql_help.c:961 sql_help.c:1030 sql_help.c:1103 +#: sql_help.c:1148 sql_help.c:1152 sql_help.c:1156 sql_help.c:1159 +#: sql_help.c:1164 sql_help.c:1167 sql_help.c:1183 sql_help.c:1354 +#: sql_help.c:1377 sql_help.c:1425 sql_help.c:1433 sql_help.c:1453 +#: sql_help.c:1510 sql_help.c:1594 sql_help.c:1648 sql_help.c:1671 +#: sql_help.c:2282 sql_help.c:2332 sql_help.c:2339 sql_help.c:2348 +#: sql_help.c:2403 sql_help.c:2404 sql_help.c:2468 sql_help.c:2471 +#: sql_help.c:2505 sql_help.c:2606 sql_help.c:2607 sql_help.c:2630 +#: sql_help.c:2757 sql_help.c:2796 sql_help.c:2906 sql_help.c:2919 +#: sql_help.c:2933 sql_help.c:2974 sql_help.c:2982 sql_help.c:3004 +#: sql_help.c:3021 sql_help.c:3048 sql_help.c:3255 sql_help.c:3957 +#: sql_help.c:4687 sql_help.c:4688 sql_help.c:4689 sql_help.c:4690 msgid "value" msgstr "значение" -#: sql_help.c:200 +#: sql_help.c:202 msgid "target_role" msgstr "целеваÑ_роль" -#: sql_help.c:201 sql_help.c:913 sql_help.c:2261 sql_help.c:2630 -#: sql_help.c:2707 sql_help.c:2712 sql_help.c:3879 sql_help.c:3888 -#: sql_help.c:3907 sql_help.c:3919 sql_help.c:4328 sql_help.c:4337 -#: sql_help.c:4356 sql_help.c:4368 +#: sql_help.c:203 sql_help.c:915 sql_help.c:2266 sql_help.c:2635 +#: sql_help.c:2712 sql_help.c:2717 sql_help.c:3887 sql_help.c:3896 +#: sql_help.c:3915 sql_help.c:3927 sql_help.c:4340 sql_help.c:4349 +#: sql_help.c:4368 sql_help.c:4380 msgid "schema_name" msgstr "имÑ_Ñхемы" -#: sql_help.c:202 +#: sql_help.c:204 msgid "abbreviated_grant_or_revoke" msgstr "предложение_GRANT_или_REVOKE" -#: sql_help.c:203 +#: sql_help.c:205 msgid "where abbreviated_grant_or_revoke is one of:" msgstr "где допуÑтимое предложение_GRANT_или_REVOKE:" -#: sql_help.c:204 sql_help.c:205 sql_help.c:206 sql_help.c:207 sql_help.c:208 -#: sql_help.c:209 sql_help.c:210 sql_help.c:211 sql_help.c:212 sql_help.c:213 -#: sql_help.c:574 sql_help.c:610 sql_help.c:678 sql_help.c:822 sql_help.c:969 -#: sql_help.c:1320 sql_help.c:1653 sql_help.c:2436 sql_help.c:2437 -#: sql_help.c:2438 sql_help.c:2439 sql_help.c:2440 sql_help.c:2574 -#: sql_help.c:2663 sql_help.c:2664 sql_help.c:2665 sql_help.c:2666 -#: sql_help.c:2667 sql_help.c:3229 sql_help.c:3230 sql_help.c:3231 -#: sql_help.c:3232 sql_help.c:3233 sql_help.c:3928 sql_help.c:3932 -#: sql_help.c:4377 sql_help.c:4381 sql_help.c:4696 +#: sql_help.c:206 sql_help.c:207 sql_help.c:208 sql_help.c:209 sql_help.c:210 +#: sql_help.c:211 sql_help.c:212 sql_help.c:213 sql_help.c:214 sql_help.c:215 +#: sql_help.c:576 sql_help.c:612 sql_help.c:680 sql_help.c:824 sql_help.c:971 +#: sql_help.c:1322 sql_help.c:1658 sql_help.c:2441 sql_help.c:2442 +#: sql_help.c:2443 sql_help.c:2444 sql_help.c:2445 sql_help.c:2579 +#: sql_help.c:2668 sql_help.c:2669 sql_help.c:2670 sql_help.c:2671 +#: sql_help.c:2672 sql_help.c:3237 sql_help.c:3238 sql_help.c:3239 +#: sql_help.c:3240 sql_help.c:3241 sql_help.c:3936 sql_help.c:3940 +#: sql_help.c:4389 sql_help.c:4393 sql_help.c:4708 msgid "role_name" msgstr "имÑ_роли" -#: sql_help.c:239 sql_help.c:462 sql_help.c:912 sql_help.c:1336 sql_help.c:1338 -#: sql_help.c:1390 sql_help.c:1402 sql_help.c:1427 sql_help.c:1683 -#: sql_help.c:2230 sql_help.c:2234 sql_help.c:2346 sql_help.c:2351 -#: sql_help.c:2459 sql_help.c:2629 sql_help.c:2768 sql_help.c:2773 -#: sql_help.c:2775 sql_help.c:2896 sql_help.c:2909 sql_help.c:2923 -#: sql_help.c:2932 sql_help.c:2944 sql_help.c:2973 sql_help.c:3980 -#: sql_help.c:3995 sql_help.c:3997 sql_help.c:4084 sql_help.c:4087 -#: sql_help.c:4089 sql_help.c:4547 sql_help.c:4548 sql_help.c:4557 -#: sql_help.c:4604 sql_help.c:4605 sql_help.c:4606 sql_help.c:4607 -#: sql_help.c:4608 sql_help.c:4609 sql_help.c:4649 sql_help.c:4650 -#: sql_help.c:4655 sql_help.c:4660 sql_help.c:4804 sql_help.c:4805 -#: sql_help.c:4814 sql_help.c:4861 sql_help.c:4862 sql_help.c:4863 -#: sql_help.c:4864 sql_help.c:4865 sql_help.c:4866 sql_help.c:4920 -#: sql_help.c:4922 sql_help.c:4982 sql_help.c:5042 sql_help.c:5043 -#: sql_help.c:5052 sql_help.c:5099 sql_help.c:5100 sql_help.c:5101 -#: sql_help.c:5102 sql_help.c:5103 sql_help.c:5104 +#: sql_help.c:241 sql_help.c:464 sql_help.c:914 sql_help.c:1338 sql_help.c:1340 +#: sql_help.c:1392 sql_help.c:1404 sql_help.c:1429 sql_help.c:1688 +#: sql_help.c:2235 sql_help.c:2239 sql_help.c:2351 sql_help.c:2356 +#: sql_help.c:2464 sql_help.c:2634 sql_help.c:2773 sql_help.c:2778 +#: sql_help.c:2780 sql_help.c:2901 sql_help.c:2914 sql_help.c:2928 +#: sql_help.c:2937 sql_help.c:2949 sql_help.c:2978 sql_help.c:3988 +#: sql_help.c:4003 sql_help.c:4005 sql_help.c:4094 sql_help.c:4097 +#: sql_help.c:4099 sql_help.c:4559 sql_help.c:4560 sql_help.c:4569 +#: sql_help.c:4616 sql_help.c:4617 sql_help.c:4618 sql_help.c:4619 +#: sql_help.c:4620 sql_help.c:4621 sql_help.c:4661 sql_help.c:4662 +#: sql_help.c:4667 sql_help.c:4672 sql_help.c:4816 sql_help.c:4817 +#: sql_help.c:4826 sql_help.c:4873 sql_help.c:4874 sql_help.c:4875 +#: sql_help.c:4876 sql_help.c:4877 sql_help.c:4878 sql_help.c:4932 +#: sql_help.c:4934 sql_help.c:4994 sql_help.c:5054 sql_help.c:5055 +#: sql_help.c:5064 sql_help.c:5111 sql_help.c:5112 sql_help.c:5113 +#: sql_help.c:5114 sql_help.c:5115 sql_help.c:5116 msgid "expression" msgstr "выражение" -#: sql_help.c:242 +#: sql_help.c:244 msgid "domain_constraint" msgstr "ограничение_домена" -#: sql_help.c:244 sql_help.c:246 sql_help.c:249 sql_help.c:477 sql_help.c:478 -#: sql_help.c:1313 sql_help.c:1360 sql_help.c:1361 sql_help.c:1362 -#: sql_help.c:1389 sql_help.c:1401 sql_help.c:1418 sql_help.c:1851 -#: sql_help.c:1853 sql_help.c:2233 sql_help.c:2345 sql_help.c:2350 -#: sql_help.c:2931 sql_help.c:2943 sql_help.c:3992 +#: sql_help.c:246 sql_help.c:248 sql_help.c:251 sql_help.c:479 sql_help.c:480 +#: sql_help.c:1315 sql_help.c:1362 sql_help.c:1363 sql_help.c:1364 +#: sql_help.c:1391 sql_help.c:1403 sql_help.c:1420 sql_help.c:1856 +#: sql_help.c:1858 sql_help.c:2238 sql_help.c:2350 sql_help.c:2355 +#: sql_help.c:2936 sql_help.c:2948 sql_help.c:4000 msgid "constraint_name" msgstr "имÑ_ограничениÑ" -#: sql_help.c:247 sql_help.c:1314 +#: sql_help.c:249 sql_help.c:1316 msgid "new_constraint_name" msgstr "имÑ_нового_ограничениÑ" -#: sql_help.c:320 sql_help.c:1099 +#: sql_help.c:322 sql_help.c:1101 msgid "new_version" msgstr "новаÑ_верÑиÑ" -#: sql_help.c:324 sql_help.c:326 +#: sql_help.c:326 sql_help.c:328 msgid "member_object" msgstr "Ñлемент_объект" -#: sql_help.c:327 +#: sql_help.c:329 msgid "where member_object is:" msgstr "где Ñлемент_объект:" -#: sql_help.c:328 sql_help.c:333 sql_help.c:334 sql_help.c:335 sql_help.c:336 -#: sql_help.c:337 sql_help.c:338 sql_help.c:343 sql_help.c:347 sql_help.c:349 -#: sql_help.c:351 sql_help.c:360 sql_help.c:361 sql_help.c:362 sql_help.c:363 -#: sql_help.c:364 sql_help.c:365 sql_help.c:366 sql_help.c:367 sql_help.c:370 -#: sql_help.c:371 sql_help.c:1843 sql_help.c:1848 sql_help.c:1855 -#: sql_help.c:1856 sql_help.c:1857 sql_help.c:1858 sql_help.c:1859 -#: sql_help.c:1860 sql_help.c:1861 sql_help.c:1866 sql_help.c:1868 -#: sql_help.c:1872 sql_help.c:1874 sql_help.c:1878 sql_help.c:1883 -#: sql_help.c:1884 sql_help.c:1891 sql_help.c:1892 sql_help.c:1893 -#: sql_help.c:1894 sql_help.c:1895 sql_help.c:1896 sql_help.c:1897 -#: sql_help.c:1898 sql_help.c:1899 sql_help.c:1900 sql_help.c:1901 -#: sql_help.c:1906 sql_help.c:1907 sql_help.c:4450 sql_help.c:4455 -#: sql_help.c:4456 sql_help.c:4457 sql_help.c:4458 sql_help.c:4464 -#: sql_help.c:4465 sql_help.c:4470 sql_help.c:4471 sql_help.c:4476 -#: sql_help.c:4477 sql_help.c:4478 sql_help.c:4479 sql_help.c:4480 -#: sql_help.c:4481 +#: sql_help.c:330 sql_help.c:335 sql_help.c:336 sql_help.c:337 sql_help.c:338 +#: sql_help.c:339 sql_help.c:340 sql_help.c:345 sql_help.c:349 sql_help.c:351 +#: sql_help.c:353 sql_help.c:362 sql_help.c:363 sql_help.c:364 sql_help.c:365 +#: sql_help.c:366 sql_help.c:367 sql_help.c:368 sql_help.c:369 sql_help.c:372 +#: sql_help.c:373 sql_help.c:1848 sql_help.c:1853 sql_help.c:1860 +#: sql_help.c:1861 sql_help.c:1862 sql_help.c:1863 sql_help.c:1864 +#: sql_help.c:1865 sql_help.c:1866 sql_help.c:1871 sql_help.c:1873 +#: sql_help.c:1877 sql_help.c:1879 sql_help.c:1883 sql_help.c:1888 +#: sql_help.c:1889 sql_help.c:1896 sql_help.c:1897 sql_help.c:1898 +#: sql_help.c:1899 sql_help.c:1900 sql_help.c:1901 sql_help.c:1902 +#: sql_help.c:1903 sql_help.c:1904 sql_help.c:1905 sql_help.c:1906 +#: sql_help.c:1911 sql_help.c:1912 sql_help.c:4462 sql_help.c:4467 +#: sql_help.c:4468 sql_help.c:4469 sql_help.c:4470 sql_help.c:4476 +#: sql_help.c:4477 sql_help.c:4482 sql_help.c:4483 sql_help.c:4488 +#: sql_help.c:4489 sql_help.c:4490 sql_help.c:4491 sql_help.c:4492 +#: sql_help.c:4493 msgid "object_name" msgstr "имÑ_объекта" # well-spelled: агр -#: sql_help.c:329 sql_help.c:1844 sql_help.c:4453 +#: sql_help.c:331 sql_help.c:1849 sql_help.c:4465 msgid "aggregate_name" msgstr "имÑ_агр_функции" -#: sql_help.c:331 sql_help.c:1846 sql_help.c:2130 sql_help.c:2134 -#: sql_help.c:2136 sql_help.c:3356 +#: sql_help.c:333 sql_help.c:1851 sql_help.c:2135 sql_help.c:2139 +#: sql_help.c:2141 sql_help.c:3364 msgid "source_type" msgstr "иÑходный_тип" -#: sql_help.c:332 sql_help.c:1847 sql_help.c:2131 sql_help.c:2135 -#: sql_help.c:2137 sql_help.c:3357 +#: sql_help.c:334 sql_help.c:1852 sql_help.c:2136 sql_help.c:2140 +#: sql_help.c:2142 sql_help.c:3365 msgid "target_type" msgstr "целевой_тип" -#: sql_help.c:339 sql_help.c:786 sql_help.c:1862 sql_help.c:2132 -#: sql_help.c:2173 sql_help.c:2249 sql_help.c:2517 sql_help.c:2548 -#: sql_help.c:3116 sql_help.c:4352 sql_help.c:4459 sql_help.c:4576 -#: sql_help.c:4580 sql_help.c:4584 sql_help.c:4587 sql_help.c:4833 -#: sql_help.c:4837 sql_help.c:4841 sql_help.c:4844 sql_help.c:5071 -#: sql_help.c:5075 sql_help.c:5079 sql_help.c:5082 +#: sql_help.c:341 sql_help.c:788 sql_help.c:1867 sql_help.c:2137 +#: sql_help.c:2178 sql_help.c:2254 sql_help.c:2522 sql_help.c:2553 +#: sql_help.c:3124 sql_help.c:4364 sql_help.c:4471 sql_help.c:4588 +#: sql_help.c:4592 sql_help.c:4596 sql_help.c:4599 sql_help.c:4845 +#: sql_help.c:4849 sql_help.c:4853 sql_help.c:4856 sql_help.c:5083 +#: sql_help.c:5087 sql_help.c:5091 sql_help.c:5094 msgid "function_name" msgstr "имÑ_функции" -#: sql_help.c:344 sql_help.c:779 sql_help.c:1869 sql_help.c:2541 +#: sql_help.c:346 sql_help.c:781 sql_help.c:1874 sql_help.c:2546 msgid "operator_name" msgstr "имÑ_оператора" -#: sql_help.c:345 sql_help.c:715 sql_help.c:719 sql_help.c:723 sql_help.c:1870 -#: sql_help.c:2518 sql_help.c:3480 +#: sql_help.c:347 sql_help.c:717 sql_help.c:721 sql_help.c:725 sql_help.c:1875 +#: sql_help.c:2523 sql_help.c:3488 msgid "left_type" msgstr "тип_Ñлева" -#: sql_help.c:346 sql_help.c:716 sql_help.c:720 sql_help.c:724 sql_help.c:1871 -#: sql_help.c:2519 sql_help.c:3481 +#: sql_help.c:348 sql_help.c:718 sql_help.c:722 sql_help.c:726 sql_help.c:1876 +#: sql_help.c:2524 sql_help.c:3489 msgid "right_type" msgstr "тип_Ñправа" -#: sql_help.c:348 sql_help.c:350 sql_help.c:742 sql_help.c:745 sql_help.c:748 -#: sql_help.c:777 sql_help.c:789 sql_help.c:797 sql_help.c:800 sql_help.c:803 -#: sql_help.c:1407 sql_help.c:1873 sql_help.c:1875 sql_help.c:2538 -#: sql_help.c:2559 sql_help.c:2949 sql_help.c:3490 sql_help.c:3499 +#: sql_help.c:350 sql_help.c:352 sql_help.c:744 sql_help.c:747 sql_help.c:750 +#: sql_help.c:779 sql_help.c:791 sql_help.c:799 sql_help.c:802 sql_help.c:805 +#: sql_help.c:1409 sql_help.c:1878 sql_help.c:1880 sql_help.c:2543 +#: sql_help.c:2564 sql_help.c:2954 sql_help.c:3498 sql_help.c:3507 msgid "index_method" msgstr "метод_индекÑа" -#: sql_help.c:352 sql_help.c:1879 sql_help.c:4466 +#: sql_help.c:354 sql_help.c:1884 sql_help.c:4478 msgid "procedure_name" msgstr "имÑ_процедуры" -#: sql_help.c:356 sql_help.c:1885 sql_help.c:3903 sql_help.c:4472 +#: sql_help.c:358 sql_help.c:1890 sql_help.c:3911 sql_help.c:4484 msgid "routine_name" msgstr "имÑ_подпрограммы" -#: sql_help.c:368 sql_help.c:1379 sql_help.c:1902 sql_help.c:2393 -#: sql_help.c:2599 sql_help.c:2904 sql_help.c:3083 sql_help.c:3661 -#: sql_help.c:3925 sql_help.c:4374 +#: sql_help.c:370 sql_help.c:1381 sql_help.c:1907 sql_help.c:2398 +#: sql_help.c:2604 sql_help.c:2909 sql_help.c:3091 sql_help.c:3669 +#: sql_help.c:3933 sql_help.c:4386 msgid "type_name" msgstr "имÑ_типа" -#: sql_help.c:369 sql_help.c:1903 sql_help.c:2392 sql_help.c:2598 -#: sql_help.c:3084 sql_help.c:3314 sql_help.c:3662 sql_help.c:3910 -#: sql_help.c:4359 +#: sql_help.c:371 sql_help.c:1908 sql_help.c:2397 sql_help.c:2603 +#: sql_help.c:3092 sql_help.c:3322 sql_help.c:3670 sql_help.c:3918 +#: sql_help.c:4371 msgid "lang_name" msgstr "имÑ_Ñзыка" -#: sql_help.c:372 +#: sql_help.c:374 msgid "and aggregate_signature is:" msgstr "и Ñигнатура_агр_функции:" -#: sql_help.c:395 sql_help.c:1997 sql_help.c:2274 +#: sql_help.c:397 sql_help.c:2002 sql_help.c:2279 msgid "handler_function" msgstr "функциÑ_обработчик" -#: sql_help.c:396 sql_help.c:2275 +#: sql_help.c:398 sql_help.c:2280 msgid "validator_function" msgstr "функциÑ_проверки" -#: sql_help.c:444 sql_help.c:523 sql_help.c:667 sql_help.c:853 sql_help.c:1003 -#: sql_help.c:1308 sql_help.c:1580 +#: sql_help.c:446 sql_help.c:525 sql_help.c:669 sql_help.c:855 sql_help.c:1005 +#: sql_help.c:1310 sql_help.c:1585 msgid "action" msgstr "дейÑтвие" -#: sql_help.c:446 sql_help.c:453 sql_help.c:457 sql_help.c:458 sql_help.c:461 -#: sql_help.c:463 sql_help.c:464 sql_help.c:465 sql_help.c:467 sql_help.c:470 -#: sql_help.c:472 sql_help.c:473 sql_help.c:671 sql_help.c:681 sql_help.c:683 -#: sql_help.c:686 sql_help.c:688 sql_help.c:689 sql_help.c:911 sql_help.c:1080 -#: sql_help.c:1310 sql_help.c:1328 sql_help.c:1332 sql_help.c:1333 -#: sql_help.c:1337 sql_help.c:1339 sql_help.c:1340 sql_help.c:1341 -#: sql_help.c:1342 sql_help.c:1344 sql_help.c:1347 sql_help.c:1348 -#: sql_help.c:1350 sql_help.c:1353 sql_help.c:1355 sql_help.c:1356 -#: sql_help.c:1403 sql_help.c:1405 sql_help.c:1412 sql_help.c:1421 -#: sql_help.c:1426 sql_help.c:1430 sql_help.c:1431 sql_help.c:1682 -#: sql_help.c:1685 sql_help.c:1689 sql_help.c:1725 sql_help.c:1850 -#: sql_help.c:1963 sql_help.c:1969 sql_help.c:1982 sql_help.c:1983 -#: sql_help.c:1984 sql_help.c:2324 sql_help.c:2337 sql_help.c:2390 -#: sql_help.c:2458 sql_help.c:2464 sql_help.c:2497 sql_help.c:2628 -#: sql_help.c:2737 sql_help.c:2772 sql_help.c:2774 sql_help.c:2886 -#: sql_help.c:2895 sql_help.c:2905 sql_help.c:2908 sql_help.c:2918 -#: sql_help.c:2922 sql_help.c:2945 sql_help.c:2947 sql_help.c:2954 -#: sql_help.c:2967 sql_help.c:2972 sql_help.c:2976 sql_help.c:2977 -#: sql_help.c:2993 sql_help.c:3119 sql_help.c:3259 sql_help.c:3882 -#: sql_help.c:3883 sql_help.c:3979 sql_help.c:3994 sql_help.c:3996 -#: sql_help.c:3998 sql_help.c:4083 sql_help.c:4086 sql_help.c:4088 -#: sql_help.c:4331 sql_help.c:4332 sql_help.c:4452 sql_help.c:4613 -#: sql_help.c:4619 sql_help.c:4621 sql_help.c:4870 sql_help.c:4876 -#: sql_help.c:4878 sql_help.c:4919 sql_help.c:4921 sql_help.c:4923 -#: sql_help.c:4970 sql_help.c:5108 sql_help.c:5114 sql_help.c:5116 +#: sql_help.c:448 sql_help.c:455 sql_help.c:459 sql_help.c:460 sql_help.c:463 +#: sql_help.c:465 sql_help.c:466 sql_help.c:467 sql_help.c:469 sql_help.c:472 +#: sql_help.c:474 sql_help.c:475 sql_help.c:673 sql_help.c:683 sql_help.c:685 +#: sql_help.c:688 sql_help.c:690 sql_help.c:691 sql_help.c:913 sql_help.c:1082 +#: sql_help.c:1312 sql_help.c:1330 sql_help.c:1334 sql_help.c:1335 +#: sql_help.c:1339 sql_help.c:1341 sql_help.c:1342 sql_help.c:1343 +#: sql_help.c:1344 sql_help.c:1346 sql_help.c:1349 sql_help.c:1350 +#: sql_help.c:1352 sql_help.c:1355 sql_help.c:1357 sql_help.c:1358 +#: sql_help.c:1405 sql_help.c:1407 sql_help.c:1414 sql_help.c:1423 +#: sql_help.c:1428 sql_help.c:1435 sql_help.c:1436 sql_help.c:1687 +#: sql_help.c:1690 sql_help.c:1694 sql_help.c:1730 sql_help.c:1855 +#: sql_help.c:1968 sql_help.c:1974 sql_help.c:1987 sql_help.c:1988 +#: sql_help.c:1989 sql_help.c:2329 sql_help.c:2342 sql_help.c:2395 +#: sql_help.c:2463 sql_help.c:2469 sql_help.c:2502 sql_help.c:2633 +#: sql_help.c:2742 sql_help.c:2777 sql_help.c:2779 sql_help.c:2891 +#: sql_help.c:2900 sql_help.c:2910 sql_help.c:2913 sql_help.c:2923 +#: sql_help.c:2927 sql_help.c:2950 sql_help.c:2952 sql_help.c:2959 +#: sql_help.c:2972 sql_help.c:2977 sql_help.c:2984 sql_help.c:2985 +#: sql_help.c:3001 sql_help.c:3127 sql_help.c:3267 sql_help.c:3890 +#: sql_help.c:3891 sql_help.c:3987 sql_help.c:4002 sql_help.c:4004 +#: sql_help.c:4006 sql_help.c:4093 sql_help.c:4096 sql_help.c:4098 +#: sql_help.c:4100 sql_help.c:4343 sql_help.c:4344 sql_help.c:4464 +#: sql_help.c:4625 sql_help.c:4631 sql_help.c:4633 sql_help.c:4882 +#: sql_help.c:4888 sql_help.c:4890 sql_help.c:4931 sql_help.c:4933 +#: sql_help.c:4935 sql_help.c:4982 sql_help.c:5120 sql_help.c:5126 +#: sql_help.c:5128 msgid "column_name" msgstr "имÑ_Ñтолбца" -#: sql_help.c:447 sql_help.c:672 sql_help.c:1311 sql_help.c:1690 +#: sql_help.c:449 sql_help.c:674 sql_help.c:1313 sql_help.c:1695 msgid "new_column_name" msgstr "новое_имÑ_Ñтолбца" -#: sql_help.c:452 sql_help.c:544 sql_help.c:680 sql_help.c:874 sql_help.c:1024 -#: sql_help.c:1327 sql_help.c:1590 +#: sql_help.c:454 sql_help.c:546 sql_help.c:682 sql_help.c:876 sql_help.c:1026 +#: sql_help.c:1329 sql_help.c:1595 msgid "where action is one of:" msgstr "где допуÑтимое дейÑтвие:" -#: sql_help.c:454 sql_help.c:459 sql_help.c:1072 sql_help.c:1329 -#: sql_help.c:1334 sql_help.c:1592 sql_help.c:1596 sql_help.c:2228 -#: sql_help.c:2325 sql_help.c:2537 sql_help.c:2730 sql_help.c:2887 -#: sql_help.c:3166 sql_help.c:4140 +#: sql_help.c:456 sql_help.c:461 sql_help.c:1074 sql_help.c:1331 +#: sql_help.c:1336 sql_help.c:1597 sql_help.c:1601 sql_help.c:2233 +#: sql_help.c:2330 sql_help.c:2542 sql_help.c:2735 sql_help.c:2892 +#: sql_help.c:3174 sql_help.c:4152 msgid "data_type" msgstr "тип_данных" -#: sql_help.c:455 sql_help.c:460 sql_help.c:1330 sql_help.c:1335 -#: sql_help.c:1593 sql_help.c:1597 sql_help.c:2229 sql_help.c:2328 -#: sql_help.c:2460 sql_help.c:2889 sql_help.c:2897 sql_help.c:2910 -#: sql_help.c:2924 sql_help.c:3167 sql_help.c:3173 sql_help.c:3989 +#: sql_help.c:457 sql_help.c:462 sql_help.c:1332 sql_help.c:1337 +#: sql_help.c:1430 sql_help.c:1598 sql_help.c:1602 sql_help.c:2234 +#: sql_help.c:2333 sql_help.c:2465 sql_help.c:2894 sql_help.c:2902 +#: sql_help.c:2915 sql_help.c:2929 sql_help.c:2979 sql_help.c:3175 +#: sql_help.c:3181 sql_help.c:3997 msgid "collation" msgstr "правило_Ñортировки" -#: sql_help.c:456 sql_help.c:1331 sql_help.c:2329 sql_help.c:2338 -#: sql_help.c:2890 sql_help.c:2906 sql_help.c:2919 +#: sql_help.c:458 sql_help.c:1333 sql_help.c:2334 sql_help.c:2343 +#: sql_help.c:2895 sql_help.c:2911 sql_help.c:2924 msgid "column_constraint" msgstr "ограничение_Ñтолбца" -#: sql_help.c:466 sql_help.c:608 sql_help.c:682 sql_help.c:1349 sql_help.c:4967 +#: sql_help.c:468 sql_help.c:610 sql_help.c:684 sql_help.c:1351 sql_help.c:4979 msgid "integer" msgstr "целое" -#: sql_help.c:468 sql_help.c:471 sql_help.c:684 sql_help.c:687 sql_help.c:1351 -#: sql_help.c:1354 +#: sql_help.c:470 sql_help.c:473 sql_help.c:686 sql_help.c:689 sql_help.c:1353 +#: sql_help.c:1356 msgid "attribute_option" msgstr "атрибут" -#: sql_help.c:476 sql_help.c:1358 sql_help.c:2330 sql_help.c:2339 -#: sql_help.c:2891 sql_help.c:2907 sql_help.c:2920 +#: sql_help.c:478 sql_help.c:1360 sql_help.c:2335 sql_help.c:2344 +#: sql_help.c:2896 sql_help.c:2912 sql_help.c:2925 msgid "table_constraint" msgstr "ограничение_таблицы" -#: sql_help.c:479 sql_help.c:480 sql_help.c:481 sql_help.c:482 sql_help.c:1363 -#: sql_help.c:1364 sql_help.c:1365 sql_help.c:1366 sql_help.c:1904 +#: sql_help.c:481 sql_help.c:482 sql_help.c:483 sql_help.c:484 sql_help.c:1365 +#: sql_help.c:1366 sql_help.c:1367 sql_help.c:1368 sql_help.c:1909 msgid "trigger_name" msgstr "имÑ_триггера" -#: sql_help.c:483 sql_help.c:484 sql_help.c:1377 sql_help.c:1378 -#: sql_help.c:2331 sql_help.c:2336 sql_help.c:2894 sql_help.c:2917 +#: sql_help.c:485 sql_help.c:486 sql_help.c:1379 sql_help.c:1380 +#: sql_help.c:2336 sql_help.c:2341 sql_help.c:2899 sql_help.c:2922 msgid "parent_table" msgstr "таблица_родитель" -#: sql_help.c:543 sql_help.c:600 sql_help.c:669 sql_help.c:873 sql_help.c:1023 -#: sql_help.c:1549 sql_help.c:2260 +#: sql_help.c:545 sql_help.c:602 sql_help.c:671 sql_help.c:875 sql_help.c:1025 +#: sql_help.c:1554 sql_help.c:2265 msgid "extension_name" msgstr "имÑ_раÑширениÑ" -#: sql_help.c:545 sql_help.c:1025 sql_help.c:2394 +#: sql_help.c:547 sql_help.c:1027 sql_help.c:2399 msgid "execution_cost" msgstr "ÑтоимоÑÑ‚ÑŒ_выполнениÑ" -#: sql_help.c:546 sql_help.c:1026 sql_help.c:2395 +#: sql_help.c:548 sql_help.c:1028 sql_help.c:2400 msgid "result_rows" msgstr "Ñтрок_в_результате" -#: sql_help.c:547 sql_help.c:2396 +#: sql_help.c:549 sql_help.c:2401 msgid "support_function" msgstr "вÑпомогательнаÑ_функциÑ" -#: sql_help.c:569 sql_help.c:571 sql_help.c:948 sql_help.c:956 sql_help.c:960 -#: sql_help.c:963 sql_help.c:966 sql_help.c:1632 sql_help.c:1640 -#: sql_help.c:1644 sql_help.c:1647 sql_help.c:1650 sql_help.c:2708 -#: sql_help.c:2710 sql_help.c:2713 sql_help.c:2714 sql_help.c:3880 -#: sql_help.c:3881 sql_help.c:3885 sql_help.c:3886 sql_help.c:3889 -#: sql_help.c:3890 sql_help.c:3892 sql_help.c:3893 sql_help.c:3895 -#: sql_help.c:3896 sql_help.c:3898 sql_help.c:3899 sql_help.c:3901 -#: sql_help.c:3902 sql_help.c:3908 sql_help.c:3909 sql_help.c:3911 -#: sql_help.c:3912 sql_help.c:3914 sql_help.c:3915 sql_help.c:3917 -#: sql_help.c:3918 sql_help.c:3920 sql_help.c:3921 sql_help.c:3923 -#: sql_help.c:3924 sql_help.c:3926 sql_help.c:3927 sql_help.c:3929 -#: sql_help.c:3930 sql_help.c:4329 sql_help.c:4330 sql_help.c:4334 -#: sql_help.c:4335 sql_help.c:4338 sql_help.c:4339 sql_help.c:4341 -#: sql_help.c:4342 sql_help.c:4344 sql_help.c:4345 sql_help.c:4347 -#: sql_help.c:4348 sql_help.c:4350 sql_help.c:4351 sql_help.c:4357 -#: sql_help.c:4358 sql_help.c:4360 sql_help.c:4361 sql_help.c:4363 -#: sql_help.c:4364 sql_help.c:4366 sql_help.c:4367 sql_help.c:4369 +#: sql_help.c:571 sql_help.c:573 sql_help.c:950 sql_help.c:958 sql_help.c:962 +#: sql_help.c:965 sql_help.c:968 sql_help.c:1637 sql_help.c:1645 +#: sql_help.c:1649 sql_help.c:1652 sql_help.c:1655 sql_help.c:2713 +#: sql_help.c:2715 sql_help.c:2718 sql_help.c:2719 sql_help.c:3888 +#: sql_help.c:3889 sql_help.c:3893 sql_help.c:3894 sql_help.c:3897 +#: sql_help.c:3898 sql_help.c:3900 sql_help.c:3901 sql_help.c:3903 +#: sql_help.c:3904 sql_help.c:3906 sql_help.c:3907 sql_help.c:3909 +#: sql_help.c:3910 sql_help.c:3916 sql_help.c:3917 sql_help.c:3919 +#: sql_help.c:3920 sql_help.c:3922 sql_help.c:3923 sql_help.c:3925 +#: sql_help.c:3926 sql_help.c:3928 sql_help.c:3929 sql_help.c:3931 +#: sql_help.c:3932 sql_help.c:3934 sql_help.c:3935 sql_help.c:3937 +#: sql_help.c:3938 sql_help.c:4341 sql_help.c:4342 sql_help.c:4346 +#: sql_help.c:4347 sql_help.c:4350 sql_help.c:4351 sql_help.c:4353 +#: sql_help.c:4354 sql_help.c:4356 sql_help.c:4357 sql_help.c:4359 +#: sql_help.c:4360 sql_help.c:4362 sql_help.c:4363 sql_help.c:4369 #: sql_help.c:4370 sql_help.c:4372 sql_help.c:4373 sql_help.c:4375 -#: sql_help.c:4376 sql_help.c:4378 sql_help.c:4379 +#: sql_help.c:4376 sql_help.c:4378 sql_help.c:4379 sql_help.c:4381 +#: sql_help.c:4382 sql_help.c:4384 sql_help.c:4385 sql_help.c:4387 +#: sql_help.c:4388 sql_help.c:4390 sql_help.c:4391 msgid "role_specification" msgstr "указание_роли" -#: sql_help.c:570 sql_help.c:572 sql_help.c:1663 sql_help.c:2197 -#: sql_help.c:2716 sql_help.c:3244 sql_help.c:3695 sql_help.c:4706 +#: sql_help.c:572 sql_help.c:574 sql_help.c:1668 sql_help.c:2202 +#: sql_help.c:2721 sql_help.c:3252 sql_help.c:3703 sql_help.c:4718 msgid "user_name" msgstr "имÑ_пользователÑ" -#: sql_help.c:573 sql_help.c:968 sql_help.c:1652 sql_help.c:2715 -#: sql_help.c:3931 sql_help.c:4380 +#: sql_help.c:575 sql_help.c:970 sql_help.c:1657 sql_help.c:2720 +#: sql_help.c:3939 sql_help.c:4392 msgid "where role_specification can be:" msgstr "где допуÑтимое указание_роли:" -#: sql_help.c:575 +#: sql_help.c:577 msgid "group_name" msgstr "имÑ_группы" -#: sql_help.c:596 sql_help.c:1424 sql_help.c:2207 sql_help.c:2467 -#: sql_help.c:2501 sql_help.c:2902 sql_help.c:2915 sql_help.c:2929 -#: sql_help.c:2970 sql_help.c:2997 sql_help.c:3009 sql_help.c:3922 -#: sql_help.c:4371 +#: sql_help.c:598 sql_help.c:1426 sql_help.c:2212 sql_help.c:2472 +#: sql_help.c:2506 sql_help.c:2907 sql_help.c:2920 sql_help.c:2934 +#: sql_help.c:2975 sql_help.c:3005 sql_help.c:3017 sql_help.c:3930 +#: sql_help.c:4383 msgid "tablespace_name" msgstr "табл_проÑтранÑтво" -#: sql_help.c:598 sql_help.c:691 sql_help.c:1371 sql_help.c:1381 -#: sql_help.c:1419 sql_help.c:1779 sql_help.c:1782 +#: sql_help.c:600 sql_help.c:693 sql_help.c:1373 sql_help.c:1383 +#: sql_help.c:1421 sql_help.c:1784 sql_help.c:1787 msgid "index_name" msgstr "имÑ_индекÑа" -#: sql_help.c:602 sql_help.c:605 sql_help.c:694 sql_help.c:696 sql_help.c:1374 -#: sql_help.c:1376 sql_help.c:1422 sql_help.c:2465 sql_help.c:2499 -#: sql_help.c:2900 sql_help.c:2913 sql_help.c:2927 sql_help.c:2968 -#: sql_help.c:2995 +#: sql_help.c:604 sql_help.c:607 sql_help.c:696 sql_help.c:698 sql_help.c:1376 +#: sql_help.c:1378 sql_help.c:1424 sql_help.c:2470 sql_help.c:2504 +#: sql_help.c:2905 sql_help.c:2918 sql_help.c:2932 sql_help.c:2973 +#: sql_help.c:3003 msgid "storage_parameter" msgstr "параметр_хранениÑ" -#: sql_help.c:607 +#: sql_help.c:609 msgid "column_number" msgstr "номер_Ñтолбца" -#: sql_help.c:631 sql_help.c:1867 sql_help.c:4463 +#: sql_help.c:633 sql_help.c:1872 sql_help.c:4475 msgid "large_object_oid" msgstr "oid_большого_объекта" -#: sql_help.c:690 sql_help.c:1357 sql_help.c:2888 +#: sql_help.c:692 sql_help.c:1359 sql_help.c:2893 msgid "compression_method" msgstr "метод_ÑжатиÑ" -#: sql_help.c:692 sql_help.c:1372 +#: sql_help.c:694 sql_help.c:1374 msgid "new_access_method" msgstr "новый_метод_доÑтупа" -#: sql_help.c:725 sql_help.c:2522 +#: sql_help.c:727 sql_help.c:2527 msgid "res_proc" msgstr "процедура_ограничениÑ" -#: sql_help.c:726 sql_help.c:2523 +#: sql_help.c:728 sql_help.c:2528 msgid "join_proc" msgstr "процедура_ÑоединениÑ" -#: sql_help.c:778 sql_help.c:790 sql_help.c:2540 +#: sql_help.c:780 sql_help.c:792 sql_help.c:2545 msgid "strategy_number" msgstr "номер_Ñтратегии" -#: sql_help.c:780 sql_help.c:781 sql_help.c:784 sql_help.c:785 sql_help.c:791 -#: sql_help.c:792 sql_help.c:794 sql_help.c:795 sql_help.c:2542 sql_help.c:2543 -#: sql_help.c:2546 sql_help.c:2547 +#: sql_help.c:782 sql_help.c:783 sql_help.c:786 sql_help.c:787 sql_help.c:793 +#: sql_help.c:794 sql_help.c:796 sql_help.c:797 sql_help.c:2547 sql_help.c:2548 +#: sql_help.c:2551 sql_help.c:2552 msgid "op_type" msgstr "тип_операции" -#: sql_help.c:782 sql_help.c:2544 +#: sql_help.c:784 sql_help.c:2549 msgid "sort_family_name" msgstr "ÑемейÑтво_Ñортировки" -#: sql_help.c:783 sql_help.c:793 sql_help.c:2545 +#: sql_help.c:785 sql_help.c:795 sql_help.c:2550 msgid "support_number" msgstr "номер_опорной_процедуры" -#: sql_help.c:787 sql_help.c:2133 sql_help.c:2549 sql_help.c:3086 -#: sql_help.c:3088 +#: sql_help.c:789 sql_help.c:2138 sql_help.c:2554 sql_help.c:3094 +#: sql_help.c:3096 msgid "argument_type" msgstr "тип_аргумента" -#: sql_help.c:818 sql_help.c:821 sql_help.c:910 sql_help.c:1039 sql_help.c:1079 -#: sql_help.c:1545 sql_help.c:1548 sql_help.c:1724 sql_help.c:1778 -#: sql_help.c:1781 sql_help.c:1852 sql_help.c:1877 sql_help.c:1890 -#: sql_help.c:1905 sql_help.c:1962 sql_help.c:1968 sql_help.c:2323 -#: sql_help.c:2335 sql_help.c:2456 sql_help.c:2496 sql_help.c:2573 -#: sql_help.c:2627 sql_help.c:2684 sql_help.c:2736 sql_help.c:2769 -#: sql_help.c:2776 sql_help.c:2885 sql_help.c:2903 sql_help.c:2916 -#: sql_help.c:2992 sql_help.c:3112 sql_help.c:3293 sql_help.c:3516 -#: sql_help.c:3565 sql_help.c:3671 sql_help.c:3878 sql_help.c:3884 -#: sql_help.c:3945 sql_help.c:3977 sql_help.c:4327 sql_help.c:4333 -#: sql_help.c:4451 sql_help.c:4562 sql_help.c:4564 sql_help.c:4626 -#: sql_help.c:4665 sql_help.c:4819 sql_help.c:4821 sql_help.c:4883 -#: sql_help.c:4917 sql_help.c:4969 sql_help.c:5057 sql_help.c:5059 -#: sql_help.c:5121 +#: sql_help.c:820 sql_help.c:823 sql_help.c:912 sql_help.c:1041 sql_help.c:1081 +#: sql_help.c:1550 sql_help.c:1553 sql_help.c:1729 sql_help.c:1783 +#: sql_help.c:1786 sql_help.c:1857 sql_help.c:1882 sql_help.c:1895 +#: sql_help.c:1910 sql_help.c:1967 sql_help.c:1973 sql_help.c:2328 +#: sql_help.c:2340 sql_help.c:2461 sql_help.c:2501 sql_help.c:2578 +#: sql_help.c:2632 sql_help.c:2689 sql_help.c:2741 sql_help.c:2774 +#: sql_help.c:2781 sql_help.c:2890 sql_help.c:2908 sql_help.c:2921 +#: sql_help.c:3000 sql_help.c:3120 sql_help.c:3301 sql_help.c:3524 +#: sql_help.c:3573 sql_help.c:3679 sql_help.c:3886 sql_help.c:3892 +#: sql_help.c:3953 sql_help.c:3985 sql_help.c:4339 sql_help.c:4345 +#: sql_help.c:4463 sql_help.c:4574 sql_help.c:4576 sql_help.c:4638 +#: sql_help.c:4677 sql_help.c:4831 sql_help.c:4833 sql_help.c:4895 +#: sql_help.c:4929 sql_help.c:4981 sql_help.c:5069 sql_help.c:5071 +#: sql_help.c:5133 msgid "table_name" msgstr "имÑ_таблицы" -#: sql_help.c:823 sql_help.c:2575 +#: sql_help.c:825 sql_help.c:2580 msgid "using_expression" msgstr "выражение_иÑпользованиÑ" -#: sql_help.c:824 sql_help.c:2576 +#: sql_help.c:826 sql_help.c:2581 msgid "check_expression" msgstr "выражение_проверки" -#: sql_help.c:897 sql_help.c:899 sql_help.c:901 sql_help.c:2623 +#: sql_help.c:899 sql_help.c:901 sql_help.c:903 sql_help.c:2628 msgid "publication_object" msgstr "объект_публикации" -#: sql_help.c:903 sql_help.c:2624 +#: sql_help.c:905 sql_help.c:2629 msgid "publication_parameter" msgstr "параметр_публикации" -#: sql_help.c:909 sql_help.c:2626 +#: sql_help.c:911 sql_help.c:2631 msgid "where publication_object is one of:" msgstr "где объект_публикации:" -#: sql_help.c:952 sql_help.c:1636 sql_help.c:2434 sql_help.c:2661 -#: sql_help.c:3227 +#: sql_help.c:954 sql_help.c:1641 sql_help.c:2439 sql_help.c:2666 +#: sql_help.c:3235 msgid "password" msgstr "пароль" -#: sql_help.c:953 sql_help.c:1637 sql_help.c:2435 sql_help.c:2662 -#: sql_help.c:3228 +#: sql_help.c:955 sql_help.c:1642 sql_help.c:2440 sql_help.c:2667 +#: sql_help.c:3236 msgid "timestamp" msgstr "timestamp" -#: sql_help.c:957 sql_help.c:961 sql_help.c:964 sql_help.c:967 sql_help.c:1641 -#: sql_help.c:1645 sql_help.c:1648 sql_help.c:1651 sql_help.c:3891 -#: sql_help.c:4340 +#: sql_help.c:959 sql_help.c:963 sql_help.c:966 sql_help.c:969 sql_help.c:1646 +#: sql_help.c:1650 sql_help.c:1653 sql_help.c:1656 sql_help.c:3899 +#: sql_help.c:4352 msgid "database_name" msgstr "имÑ_БД" -#: sql_help.c:1073 sql_help.c:2731 +#: sql_help.c:1075 sql_help.c:2736 msgid "increment" msgstr "шаг" -#: sql_help.c:1074 sql_help.c:2732 +#: sql_help.c:1076 sql_help.c:2737 msgid "minvalue" msgstr "мин_значение" -#: sql_help.c:1075 sql_help.c:2733 +#: sql_help.c:1077 sql_help.c:2738 msgid "maxvalue" msgstr "макÑ_значение" -#: sql_help.c:1076 sql_help.c:2734 sql_help.c:4560 sql_help.c:4663 -#: sql_help.c:4817 sql_help.c:4986 sql_help.c:5055 +#: sql_help.c:1078 sql_help.c:2739 sql_help.c:4572 sql_help.c:4675 +#: sql_help.c:4829 sql_help.c:4998 sql_help.c:5067 msgid "start" msgstr "начальное_значение" -#: sql_help.c:1077 sql_help.c:1346 +#: sql_help.c:1079 sql_help.c:1348 msgid "restart" msgstr "значение_перезапуÑка" -#: sql_help.c:1078 sql_help.c:2735 +#: sql_help.c:1080 sql_help.c:2740 msgid "cache" msgstr "кеш" -#: sql_help.c:1123 +#: sql_help.c:1125 msgid "new_target" msgstr "новое_имÑ" -#: sql_help.c:1142 sql_help.c:2788 +#: sql_help.c:1144 sql_help.c:2793 msgid "conninfo" msgstr "Ñтрока_подключениÑ" -#: sql_help.c:1144 sql_help.c:1148 sql_help.c:1152 sql_help.c:2789 +#: sql_help.c:1146 sql_help.c:1150 sql_help.c:1154 sql_help.c:2794 msgid "publication_name" msgstr "имÑ_публикации" -#: sql_help.c:1145 sql_help.c:1149 sql_help.c:1153 +#: sql_help.c:1147 sql_help.c:1151 sql_help.c:1155 msgid "publication_option" msgstr "параметр_публикации" -#: sql_help.c:1156 +#: sql_help.c:1158 msgid "refresh_option" msgstr "параметр_обновлениÑ" -#: sql_help.c:1161 sql_help.c:2790 +#: sql_help.c:1163 sql_help.c:2795 msgid "subscription_parameter" msgstr "параметр_подпиÑки" -#: sql_help.c:1164 +#: sql_help.c:1166 msgid "skip_option" msgstr "параметр_пропуÑка" -#: sql_help.c:1323 sql_help.c:1326 +#: sql_help.c:1325 sql_help.c:1328 msgid "partition_name" msgstr "имÑ_Ñекции" -#: sql_help.c:1324 sql_help.c:2340 sql_help.c:2921 +#: sql_help.c:1326 sql_help.c:2345 sql_help.c:2926 msgid "partition_bound_spec" msgstr "указание_границ_Ñекции" -#: sql_help.c:1343 sql_help.c:1393 sql_help.c:2935 +#: sql_help.c:1345 sql_help.c:1395 sql_help.c:2940 msgid "sequence_options" msgstr "параметры_поÑледовательноÑти" -#: sql_help.c:1345 +#: sql_help.c:1347 msgid "sequence_option" msgstr "параметр_поÑледовательноÑти" -#: sql_help.c:1359 +#: sql_help.c:1361 msgid "table_constraint_using_index" msgstr "ограничение_таблицы_Ñ_индекÑом" -#: sql_help.c:1367 sql_help.c:1368 sql_help.c:1369 sql_help.c:1370 +#: sql_help.c:1369 sql_help.c:1370 sql_help.c:1371 sql_help.c:1372 msgid "rewrite_rule_name" msgstr "имÑ_правила_перезапиÑи" -#: sql_help.c:1382 sql_help.c:2352 sql_help.c:2960 +#: sql_help.c:1384 sql_help.c:2357 sql_help.c:2965 msgid "and partition_bound_spec is:" msgstr "и указание_границ_Ñекции:" -#: sql_help.c:1383 sql_help.c:1384 sql_help.c:1385 sql_help.c:2353 -#: sql_help.c:2354 sql_help.c:2355 sql_help.c:2961 sql_help.c:2962 -#: sql_help.c:2963 +#: sql_help.c:1385 sql_help.c:1386 sql_help.c:1387 sql_help.c:2358 +#: sql_help.c:2359 sql_help.c:2360 sql_help.c:2966 sql_help.c:2967 +#: sql_help.c:2968 msgid "partition_bound_expr" msgstr "выражение_границ_Ñекции" -#: sql_help.c:1386 sql_help.c:1387 sql_help.c:2356 sql_help.c:2357 -#: sql_help.c:2964 sql_help.c:2965 +#: sql_help.c:1388 sql_help.c:1389 sql_help.c:2361 sql_help.c:2362 +#: sql_help.c:2969 sql_help.c:2970 msgid "numeric_literal" msgstr "чиÑловаÑ_конÑтанта" -#: sql_help.c:1388 +#: sql_help.c:1390 msgid "and column_constraint is:" msgstr "и ограничение_Ñтолбца:" -#: sql_help.c:1391 sql_help.c:2347 sql_help.c:2388 sql_help.c:2597 -#: sql_help.c:2933 +#: sql_help.c:1393 sql_help.c:2352 sql_help.c:2393 sql_help.c:2602 +#: sql_help.c:2938 msgid "default_expr" msgstr "выражение_по_умолчанию" -#: sql_help.c:1392 sql_help.c:2348 sql_help.c:2934 +#: sql_help.c:1394 sql_help.c:2353 sql_help.c:2939 msgid "generation_expr" msgstr "генерирующее_выражение" -#: sql_help.c:1394 sql_help.c:1395 sql_help.c:1404 sql_help.c:1406 -#: sql_help.c:1410 sql_help.c:2936 sql_help.c:2937 sql_help.c:2946 -#: sql_help.c:2948 sql_help.c:2952 +#: sql_help.c:1396 sql_help.c:1397 sql_help.c:1406 sql_help.c:1408 +#: sql_help.c:1412 sql_help.c:2941 sql_help.c:2942 sql_help.c:2951 +#: sql_help.c:2953 sql_help.c:2957 msgid "index_parameters" msgstr "параметры_индекÑа" -#: sql_help.c:1396 sql_help.c:1413 sql_help.c:2938 sql_help.c:2955 +#: sql_help.c:1398 sql_help.c:1415 sql_help.c:2943 sql_help.c:2960 msgid "reftable" msgstr "целеваÑ_таблица" -#: sql_help.c:1397 sql_help.c:1414 sql_help.c:2939 sql_help.c:2956 +#: sql_help.c:1399 sql_help.c:1416 sql_help.c:2944 sql_help.c:2961 msgid "refcolumn" msgstr "целевой_Ñтолбец" -#: sql_help.c:1398 sql_help.c:1399 sql_help.c:1415 sql_help.c:1416 -#: sql_help.c:2940 sql_help.c:2941 sql_help.c:2957 sql_help.c:2958 +#: sql_help.c:1400 sql_help.c:1401 sql_help.c:1417 sql_help.c:1418 +#: sql_help.c:2945 sql_help.c:2946 sql_help.c:2962 sql_help.c:2963 msgid "referential_action" msgstr "ÑÑылочное_дейÑтвие" -#: sql_help.c:1400 sql_help.c:2349 sql_help.c:2942 +#: sql_help.c:1402 sql_help.c:2354 sql_help.c:2947 msgid "and table_constraint is:" msgstr "и ограничение_таблицы:" -#: sql_help.c:1408 sql_help.c:2950 +#: sql_help.c:1410 sql_help.c:2955 msgid "exclude_element" msgstr "объект_иÑключениÑ" -#: sql_help.c:1409 sql_help.c:2951 sql_help.c:4558 sql_help.c:4661 -#: sql_help.c:4815 sql_help.c:4984 sql_help.c:5053 +#: sql_help.c:1411 sql_help.c:2956 sql_help.c:4570 sql_help.c:4673 +#: sql_help.c:4827 sql_help.c:4996 sql_help.c:5065 msgid "operator" msgstr "оператор" -#: sql_help.c:1411 sql_help.c:2468 sql_help.c:2953 +#: sql_help.c:1413 sql_help.c:2473 sql_help.c:2958 msgid "predicate" msgstr "предикат" -#: sql_help.c:1417 +#: sql_help.c:1419 msgid "and table_constraint_using_index is:" msgstr "и ограничение_таблицы_Ñ_индекÑом:" -#: sql_help.c:1420 sql_help.c:2966 +#: sql_help.c:1422 sql_help.c:2971 msgid "index_parameters in UNIQUE, PRIMARY KEY, and EXCLUDE constraints are:" msgstr "параметры_индекÑа в ограничениÑÑ… UNIQUE, PRIMARY KEY и EXCLUDE:" -#: sql_help.c:1425 sql_help.c:2971 +#: sql_help.c:1427 sql_help.c:2976 msgid "exclude_element in an EXCLUDE constraint is:" msgstr "объект_иÑÐºÐ»ÑŽÑ‡ÐµÐ½Ð¸Ñ Ð² ограничении EXCLUDE:" -#: sql_help.c:1428 sql_help.c:2461 sql_help.c:2898 sql_help.c:2911 -#: sql_help.c:2925 sql_help.c:2974 sql_help.c:3990 +#: sql_help.c:1431 sql_help.c:2466 sql_help.c:2903 sql_help.c:2916 +#: sql_help.c:2930 sql_help.c:2980 sql_help.c:3998 msgid "opclass" msgstr "клаÑÑ_оператора" -#: sql_help.c:1429 sql_help.c:2975 +#: sql_help.c:1432 sql_help.c:2467 sql_help.c:2981 +msgid "opclass_parameter" +msgstr "параметр_клаÑÑа_оп" + +#: sql_help.c:1434 sql_help.c:2983 msgid "referential_action in a FOREIGN KEY/REFERENCES constraint is:" msgstr "ÑÑылочное дейÑтвие в ограничении FOREIGN KEY/REFERENCES:" -#: sql_help.c:1447 sql_help.c:1450 sql_help.c:3012 +#: sql_help.c:1452 sql_help.c:1455 sql_help.c:3020 msgid "tablespace_option" msgstr "параметр_табл_проÑтранÑтва" -#: sql_help.c:1471 sql_help.c:1474 sql_help.c:1480 sql_help.c:1484 +#: sql_help.c:1476 sql_help.c:1479 sql_help.c:1485 sql_help.c:1489 msgid "token_type" msgstr "тип_фрагмента" -#: sql_help.c:1472 sql_help.c:1475 +#: sql_help.c:1477 sql_help.c:1480 msgid "dictionary_name" msgstr "имÑ_ÑловарÑ" -#: sql_help.c:1477 sql_help.c:1481 +#: sql_help.c:1482 sql_help.c:1486 msgid "old_dictionary" msgstr "Ñтарый_Ñловарь" -#: sql_help.c:1478 sql_help.c:1482 +#: sql_help.c:1483 sql_help.c:1487 msgid "new_dictionary" msgstr "новый_Ñловарь" -#: sql_help.c:1577 sql_help.c:1591 sql_help.c:1594 sql_help.c:1595 -#: sql_help.c:3165 +#: sql_help.c:1582 sql_help.c:1596 sql_help.c:1599 sql_help.c:1600 +#: sql_help.c:3173 msgid "attribute_name" msgstr "имÑ_атрибута" -#: sql_help.c:1578 +#: sql_help.c:1583 msgid "new_attribute_name" msgstr "новое_имÑ_атрибута" -#: sql_help.c:1582 sql_help.c:1586 +#: sql_help.c:1587 sql_help.c:1591 msgid "new_enum_value" msgstr "новое_значение_перечиÑлениÑ" -#: sql_help.c:1583 +#: sql_help.c:1588 msgid "neighbor_enum_value" msgstr "ÑоÑеднее_значение_перечиÑлениÑ" -#: sql_help.c:1585 +#: sql_help.c:1590 msgid "existing_enum_value" msgstr "ÑущеÑтвующее_значение_перечиÑлениÑ" -#: sql_help.c:1588 +#: sql_help.c:1593 msgid "property" msgstr "ÑвойÑтво" -#: sql_help.c:1664 sql_help.c:2332 sql_help.c:2341 sql_help.c:2747 -#: sql_help.c:3245 sql_help.c:3696 sql_help.c:3900 sql_help.c:3946 -#: sql_help.c:4349 +#: sql_help.c:1669 sql_help.c:2337 sql_help.c:2346 sql_help.c:2752 +#: sql_help.c:3253 sql_help.c:3704 sql_help.c:3908 sql_help.c:3954 +#: sql_help.c:4361 msgid "server_name" msgstr "имÑ_Ñервера" -#: sql_help.c:1696 sql_help.c:1699 sql_help.c:3260 +#: sql_help.c:1701 sql_help.c:1704 sql_help.c:3268 msgid "view_option_name" msgstr "имÑ_параметра_предÑтавлениÑ" -#: sql_help.c:1697 sql_help.c:3261 +#: sql_help.c:1702 sql_help.c:3269 msgid "view_option_value" msgstr "значение_параметра_предÑтавлениÑ" -#: sql_help.c:1718 sql_help.c:1719 sql_help.c:4956 sql_help.c:4957 +#: sql_help.c:1723 sql_help.c:1724 sql_help.c:4968 sql_help.c:4969 msgid "table_and_columns" msgstr "таблица_и_Ñтолбцы" -#: sql_help.c:1720 sql_help.c:1783 sql_help.c:1974 sql_help.c:3744 -#: sql_help.c:4184 sql_help.c:4958 +#: sql_help.c:1725 sql_help.c:1788 sql_help.c:1979 sql_help.c:3752 +#: sql_help.c:4196 sql_help.c:4970 msgid "where option can be one of:" msgstr "где допуÑтимый параметр:" -#: sql_help.c:1721 sql_help.c:1722 sql_help.c:1784 sql_help.c:1976 -#: sql_help.c:1979 sql_help.c:2158 sql_help.c:3745 sql_help.c:3746 -#: sql_help.c:3747 sql_help.c:3748 sql_help.c:3749 sql_help.c:3750 -#: sql_help.c:3751 sql_help.c:3752 sql_help.c:4185 sql_help.c:4187 -#: sql_help.c:4959 sql_help.c:4960 sql_help.c:4961 sql_help.c:4962 -#: sql_help.c:4963 sql_help.c:4964 sql_help.c:4965 sql_help.c:4966 +#: sql_help.c:1726 sql_help.c:1727 sql_help.c:1789 sql_help.c:1981 +#: sql_help.c:1984 sql_help.c:2163 sql_help.c:3753 sql_help.c:3754 +#: sql_help.c:3755 sql_help.c:3756 sql_help.c:3757 sql_help.c:3758 +#: sql_help.c:3759 sql_help.c:3760 sql_help.c:4197 sql_help.c:4199 +#: sql_help.c:4971 sql_help.c:4972 sql_help.c:4973 sql_help.c:4974 +#: sql_help.c:4975 sql_help.c:4976 sql_help.c:4977 sql_help.c:4978 msgid "boolean" msgstr "логичеÑкое_значение" -#: sql_help.c:1723 sql_help.c:4968 +#: sql_help.c:1728 sql_help.c:4980 msgid "and table_and_columns is:" msgstr "и таблица_и_Ñтолбцы:" -#: sql_help.c:1739 sql_help.c:4722 sql_help.c:4724 sql_help.c:4748 +#: sql_help.c:1744 sql_help.c:4734 sql_help.c:4736 sql_help.c:4760 msgid "transaction_mode" msgstr "режим_транзакции" -#: sql_help.c:1740 sql_help.c:4725 sql_help.c:4749 +#: sql_help.c:1745 sql_help.c:4737 sql_help.c:4761 msgid "where transaction_mode is one of:" msgstr "где допуÑтимый режим_транзакции:" -#: sql_help.c:1749 sql_help.c:4568 sql_help.c:4577 sql_help.c:4581 -#: sql_help.c:4585 sql_help.c:4588 sql_help.c:4825 sql_help.c:4834 -#: sql_help.c:4838 sql_help.c:4842 sql_help.c:4845 sql_help.c:5063 -#: sql_help.c:5072 sql_help.c:5076 sql_help.c:5080 sql_help.c:5083 +#: sql_help.c:1754 sql_help.c:4580 sql_help.c:4589 sql_help.c:4593 +#: sql_help.c:4597 sql_help.c:4600 sql_help.c:4837 sql_help.c:4846 +#: sql_help.c:4850 sql_help.c:4854 sql_help.c:4857 sql_help.c:5075 +#: sql_help.c:5084 sql_help.c:5088 sql_help.c:5092 sql_help.c:5095 msgid "argument" msgstr "аргумент" -#: sql_help.c:1849 +#: sql_help.c:1854 msgid "relation_name" msgstr "имÑ_отношениÑ" -#: sql_help.c:1854 sql_help.c:3894 sql_help.c:4343 +#: sql_help.c:1859 sql_help.c:3902 sql_help.c:4355 msgid "domain_name" msgstr "имÑ_домена" -#: sql_help.c:1876 +#: sql_help.c:1881 msgid "policy_name" msgstr "имÑ_политики" -#: sql_help.c:1889 +#: sql_help.c:1894 msgid "rule_name" msgstr "имÑ_правила" -#: sql_help.c:1908 sql_help.c:4482 +#: sql_help.c:1913 sql_help.c:4494 msgid "string_literal" msgstr "ÑтроковаÑ_конÑтанта" -#: sql_help.c:1933 sql_help.c:4149 sql_help.c:4396 +#: sql_help.c:1938 sql_help.c:4161 sql_help.c:4408 msgid "transaction_id" msgstr "код_транзакции" -#: sql_help.c:1964 sql_help.c:1971 sql_help.c:4016 +#: sql_help.c:1969 sql_help.c:1976 sql_help.c:4024 msgid "filename" msgstr "имÑ_файла" -#: sql_help.c:1965 sql_help.c:1972 sql_help.c:2686 sql_help.c:2687 -#: sql_help.c:2688 +#: sql_help.c:1970 sql_help.c:1977 sql_help.c:2691 sql_help.c:2692 +#: sql_help.c:2693 msgid "command" msgstr "команда" -#: sql_help.c:1967 sql_help.c:2685 sql_help.c:3115 sql_help.c:3296 -#: sql_help.c:4000 sql_help.c:4077 sql_help.c:4080 sql_help.c:4551 -#: sql_help.c:4553 sql_help.c:4654 sql_help.c:4656 sql_help.c:4808 -#: sql_help.c:4810 sql_help.c:4926 sql_help.c:5046 sql_help.c:5048 +#: sql_help.c:1972 sql_help.c:2690 sql_help.c:3123 sql_help.c:3304 +#: sql_help.c:4008 sql_help.c:4087 sql_help.c:4090 sql_help.c:4563 +#: sql_help.c:4565 sql_help.c:4666 sql_help.c:4668 sql_help.c:4820 +#: sql_help.c:4822 sql_help.c:4938 sql_help.c:5058 sql_help.c:5060 msgid "condition" msgstr "уÑловие" -#: sql_help.c:1970 sql_help.c:2502 sql_help.c:2998 sql_help.c:3262 -#: sql_help.c:3280 sql_help.c:3981 +#: sql_help.c:1975 sql_help.c:2507 sql_help.c:3006 sql_help.c:3270 +#: sql_help.c:3288 sql_help.c:3989 msgid "query" msgstr "запроÑ" -#: sql_help.c:1975 +#: sql_help.c:1980 msgid "format_name" msgstr "имÑ_формата" -#: sql_help.c:1977 +#: sql_help.c:1982 msgid "delimiter_character" msgstr "Ñимвол_разделитель" -#: sql_help.c:1978 +#: sql_help.c:1983 msgid "null_string" msgstr "предÑтавление_NULL" -#: sql_help.c:1980 +#: sql_help.c:1985 msgid "quote_character" msgstr "Ñимвол_кавычек" -#: sql_help.c:1981 +#: sql_help.c:1986 msgid "escape_character" msgstr "ÑпецÑимвол" -#: sql_help.c:1985 +#: sql_help.c:1990 msgid "encoding_name" msgstr "имÑ_кодировки" -#: sql_help.c:1996 +#: sql_help.c:2001 msgid "access_method_type" msgstr "тип_метода_доÑтупа" -#: sql_help.c:2067 sql_help.c:2086 sql_help.c:2089 +#: sql_help.c:2072 sql_help.c:2091 sql_help.c:2094 msgid "arg_data_type" msgstr "тип_данных_аргумента" -#: sql_help.c:2068 sql_help.c:2090 sql_help.c:2098 +#: sql_help.c:2073 sql_help.c:2095 sql_help.c:2103 msgid "sfunc" msgstr "функциÑ_ÑоÑтоÑниÑ" -#: sql_help.c:2069 sql_help.c:2091 sql_help.c:2099 +#: sql_help.c:2074 sql_help.c:2096 sql_help.c:2104 msgid "state_data_type" msgstr "тип_данных_ÑоÑтоÑниÑ" -#: sql_help.c:2070 sql_help.c:2092 sql_help.c:2100 +#: sql_help.c:2075 sql_help.c:2097 sql_help.c:2105 msgid "state_data_size" msgstr "размер_данных_ÑоÑтоÑниÑ" -#: sql_help.c:2071 sql_help.c:2093 sql_help.c:2101 +#: sql_help.c:2076 sql_help.c:2098 sql_help.c:2106 msgid "ffunc" msgstr "функциÑ_завершениÑ" -#: sql_help.c:2072 sql_help.c:2102 +#: sql_help.c:2077 sql_help.c:2107 msgid "combinefunc" msgstr "комбинирующаÑ_функциÑ" -#: sql_help.c:2073 sql_help.c:2103 +#: sql_help.c:2078 sql_help.c:2108 msgid "serialfunc" msgstr "функциÑ_Ñериализации" -#: sql_help.c:2074 sql_help.c:2104 +#: sql_help.c:2079 sql_help.c:2109 msgid "deserialfunc" msgstr "функциÑ_деÑериализации" -#: sql_help.c:2075 sql_help.c:2094 sql_help.c:2105 +#: sql_help.c:2080 sql_help.c:2099 sql_help.c:2110 msgid "initial_condition" msgstr "начальное_уÑловие" -#: sql_help.c:2076 sql_help.c:2106 +#: sql_help.c:2081 sql_help.c:2111 msgid "msfunc" msgstr "функциÑ_ÑоÑтоÑниÑ_движ" -#: sql_help.c:2077 sql_help.c:2107 +#: sql_help.c:2082 sql_help.c:2112 msgid "minvfunc" msgstr "обратнаÑ_функциÑ_движ" -#: sql_help.c:2078 sql_help.c:2108 +#: sql_help.c:2083 sql_help.c:2113 msgid "mstate_data_type" msgstr "тип_данных_ÑоÑтоÑниÑ_движ" -#: sql_help.c:2079 sql_help.c:2109 +#: sql_help.c:2084 sql_help.c:2114 msgid "mstate_data_size" msgstr "размер_данных_ÑоÑтоÑниÑ_движ" -#: sql_help.c:2080 sql_help.c:2110 +#: sql_help.c:2085 sql_help.c:2115 msgid "mffunc" msgstr "функциÑ_завершениÑ_движ" -#: sql_help.c:2081 sql_help.c:2111 +#: sql_help.c:2086 sql_help.c:2116 msgid "minitial_condition" msgstr "начальное_уÑловие_движ" -#: sql_help.c:2082 sql_help.c:2112 +#: sql_help.c:2087 sql_help.c:2117 msgid "sort_operator" msgstr "оператор_Ñортировки" -#: sql_help.c:2095 +#: sql_help.c:2100 msgid "or the old syntax" msgstr "или Ñтарый ÑинтакÑиÑ" -#: sql_help.c:2097 +#: sql_help.c:2102 msgid "base_type" msgstr "базовый_тип" -#: sql_help.c:2154 sql_help.c:2201 +#: sql_help.c:2159 sql_help.c:2206 msgid "locale" msgstr "код_локали" -#: sql_help.c:2155 sql_help.c:2202 +#: sql_help.c:2160 sql_help.c:2207 msgid "lc_collate" msgstr "код_правила_Ñортировки" -#: sql_help.c:2156 sql_help.c:2203 +#: sql_help.c:2161 sql_help.c:2208 msgid "lc_ctype" msgstr "код_клаÑÑификации_Ñимволов" -#: sql_help.c:2157 sql_help.c:4449 +#: sql_help.c:2162 sql_help.c:4461 msgid "provider" msgstr "провайдер" -#: sql_help.c:2159 sql_help.c:2262 +#: sql_help.c:2164 sql_help.c:2267 msgid "version" msgstr "верÑиÑ" -#: sql_help.c:2161 +#: sql_help.c:2166 msgid "existing_collation" msgstr "ÑущеÑтвующее_правило_Ñортировки" -#: sql_help.c:2171 +#: sql_help.c:2176 msgid "source_encoding" msgstr "иÑходнаÑ_кодировка" -#: sql_help.c:2172 +#: sql_help.c:2177 msgid "dest_encoding" msgstr "целеваÑ_кодировка" -#: sql_help.c:2198 sql_help.c:3038 +#: sql_help.c:2203 sql_help.c:3046 msgid "template" msgstr "шаблон" -#: sql_help.c:2199 +#: sql_help.c:2204 msgid "encoding" msgstr "кодировка" -#: sql_help.c:2200 +#: sql_help.c:2205 msgid "strategy" msgstr "ÑтратегиÑ" -#: sql_help.c:2204 +#: sql_help.c:2209 msgid "icu_locale" msgstr "локаль_icu" -#: sql_help.c:2205 +#: sql_help.c:2210 msgid "locale_provider" msgstr "провайдер_локали" -#: sql_help.c:2206 +#: sql_help.c:2211 msgid "collation_version" msgstr "верÑиÑ_правила_Ñортировки" -#: sql_help.c:2211 +#: sql_help.c:2216 msgid "oid" msgstr "oid" -#: sql_help.c:2231 +#: sql_help.c:2236 msgid "constraint" msgstr "ограничение" -#: sql_help.c:2232 +#: sql_help.c:2237 msgid "where constraint is:" msgstr "где ограничение:" -#: sql_help.c:2246 sql_help.c:2683 sql_help.c:3111 +#: sql_help.c:2251 sql_help.c:2688 sql_help.c:3119 msgid "event" msgstr "Ñобытие" -#: sql_help.c:2247 +#: sql_help.c:2252 msgid "filter_variable" msgstr "переменнаÑ_фильтра" -#: sql_help.c:2248 +#: sql_help.c:2253 msgid "filter_value" msgstr "значение_фильтра" -#: sql_help.c:2344 sql_help.c:2930 +#: sql_help.c:2349 sql_help.c:2935 msgid "where column_constraint is:" msgstr "где ограничение_Ñтолбца:" -#: sql_help.c:2389 +#: sql_help.c:2394 msgid "rettype" msgstr "тип_возврата" -#: sql_help.c:2391 +#: sql_help.c:2396 msgid "column_type" msgstr "тип_Ñтолбца" -#: sql_help.c:2400 sql_help.c:2603 +#: sql_help.c:2405 sql_help.c:2608 msgid "definition" msgstr "определение" -#: sql_help.c:2401 sql_help.c:2604 +#: sql_help.c:2406 sql_help.c:2609 msgid "obj_file" msgstr "объектный_файл" -#: sql_help.c:2402 sql_help.c:2605 +#: sql_help.c:2407 sql_help.c:2610 msgid "link_symbol" msgstr "Ñимвол_в_ÑкÑпорте" -#: sql_help.c:2403 sql_help.c:2606 +#: sql_help.c:2408 sql_help.c:2611 msgid "sql_body" msgstr "тело_sql" -#: sql_help.c:2441 sql_help.c:2668 sql_help.c:3234 +#: sql_help.c:2446 sql_help.c:2673 sql_help.c:3242 msgid "uid" msgstr "uid" -#: sql_help.c:2457 sql_help.c:2498 sql_help.c:2899 sql_help.c:2912 -#: sql_help.c:2926 sql_help.c:2994 +#: sql_help.c:2462 sql_help.c:2503 sql_help.c:2904 sql_help.c:2917 +#: sql_help.c:2931 sql_help.c:3002 msgid "method" msgstr "метод" -#: sql_help.c:2462 -msgid "opclass_parameter" -msgstr "параметр_клаÑÑа_оп" - -#: sql_help.c:2479 +#: sql_help.c:2484 msgid "call_handler" msgstr "обработчик_вызова" -#: sql_help.c:2480 +#: sql_help.c:2485 msgid "inline_handler" msgstr "обработчик_внедрённого_кода" -#: sql_help.c:2481 +#: sql_help.c:2486 msgid "valfunction" msgstr "функциÑ_проверки" -#: sql_help.c:2520 +#: sql_help.c:2525 msgid "com_op" msgstr "коммут_оператор" -#: sql_help.c:2521 +#: sql_help.c:2526 msgid "neg_op" msgstr "обратный_оператор" -#: sql_help.c:2539 +#: sql_help.c:2544 msgid "family_name" msgstr "имÑ_ÑемейÑтва" -#: sql_help.c:2550 +#: sql_help.c:2555 msgid "storage_type" msgstr "тип_хранениÑ" -#: sql_help.c:2689 sql_help.c:3118 +#: sql_help.c:2694 sql_help.c:3126 msgid "where event can be one of:" msgstr "где допуÑтимое Ñобытие:" -#: sql_help.c:2709 sql_help.c:2711 +#: sql_help.c:2714 sql_help.c:2716 msgid "schema_element" msgstr "Ñлемент_Ñхемы" -#: sql_help.c:2748 +#: sql_help.c:2753 msgid "server_type" msgstr "тип_Ñервера" -#: sql_help.c:2749 +#: sql_help.c:2754 msgid "server_version" msgstr "верÑиÑ_Ñервера" -#: sql_help.c:2750 sql_help.c:3897 sql_help.c:4346 +#: sql_help.c:2755 sql_help.c:3905 sql_help.c:4358 msgid "fdw_name" msgstr "имÑ_обёртки_Ñторонних_данных" -#: sql_help.c:2767 sql_help.c:2770 +#: sql_help.c:2772 sql_help.c:2775 msgid "statistics_name" msgstr "имÑ_ÑтатиÑтики" -#: sql_help.c:2771 +#: sql_help.c:2776 msgid "statistics_kind" msgstr "вид_ÑтатиÑтики" -#: sql_help.c:2787 +#: sql_help.c:2792 msgid "subscription_name" msgstr "имÑ_подпиÑки" -#: sql_help.c:2892 +#: sql_help.c:2897 msgid "source_table" msgstr "иÑходнаÑ_таблица" -#: sql_help.c:2893 +#: sql_help.c:2898 msgid "like_option" msgstr "параметр_порождениÑ" -#: sql_help.c:2959 +#: sql_help.c:2964 msgid "and like_option is:" msgstr "и параметр_порождениÑ:" -#: sql_help.c:3011 +#: sql_help.c:3019 msgid "directory" msgstr "каталог" -#: sql_help.c:3025 +#: sql_help.c:3033 msgid "parser_name" msgstr "имÑ_анализатора" -#: sql_help.c:3026 +#: sql_help.c:3034 msgid "source_config" msgstr "иÑходнаÑ_конфигурациÑ" -#: sql_help.c:3055 +#: sql_help.c:3063 msgid "start_function" msgstr "функциÑ_начала" -#: sql_help.c:3056 +#: sql_help.c:3064 msgid "gettoken_function" msgstr "функциÑ_выдачи_фрагмента" -#: sql_help.c:3057 +#: sql_help.c:3065 msgid "end_function" msgstr "функциÑ_окончаниÑ" -#: sql_help.c:3058 +#: sql_help.c:3066 msgid "lextypes_function" msgstr "функциÑ_лекÑ_типов" -#: sql_help.c:3059 +#: sql_help.c:3067 msgid "headline_function" msgstr "функциÑ_ÑозданиÑ_выдержек" -#: sql_help.c:3071 +#: sql_help.c:3079 msgid "init_function" msgstr "функциÑ_инициализации" -#: sql_help.c:3072 +#: sql_help.c:3080 msgid "lexize_function" msgstr "функциÑ_выделениÑ_лекÑем" -#: sql_help.c:3085 +#: sql_help.c:3093 msgid "from_sql_function_name" msgstr "имÑ_функции_из_sql" -#: sql_help.c:3087 +#: sql_help.c:3095 msgid "to_sql_function_name" msgstr "имÑ_функции_в_sql" -#: sql_help.c:3113 +#: sql_help.c:3121 msgid "referenced_table_name" msgstr "ÑÑылающаÑÑÑ_таблица" -#: sql_help.c:3114 +#: sql_help.c:3122 msgid "transition_relation_name" msgstr "имÑ_переходного_отношениÑ" -#: sql_help.c:3117 +#: sql_help.c:3125 msgid "arguments" msgstr "аргументы" -#: sql_help.c:3169 +#: sql_help.c:3177 msgid "label" msgstr "метка" -#: sql_help.c:3171 +#: sql_help.c:3179 msgid "subtype" msgstr "подтип" -#: sql_help.c:3172 +#: sql_help.c:3180 msgid "subtype_operator_class" msgstr "клаÑÑ_оператора_подтипа" -#: sql_help.c:3174 +#: sql_help.c:3182 msgid "canonical_function" msgstr "каноничеÑкаÑ_функциÑ" -#: sql_help.c:3175 +#: sql_help.c:3183 msgid "subtype_diff_function" msgstr "функциÑ_различий_подтипа" -#: sql_help.c:3176 +#: sql_help.c:3184 msgid "multirange_type_name" msgstr "имÑ_мультидиапазонного_типа" -#: sql_help.c:3178 +#: sql_help.c:3186 msgid "input_function" msgstr "функциÑ_ввода" -#: sql_help.c:3179 +#: sql_help.c:3187 msgid "output_function" msgstr "функциÑ_вывода" -#: sql_help.c:3180 +#: sql_help.c:3188 msgid "receive_function" msgstr "функциÑ_получениÑ" -#: sql_help.c:3181 +#: sql_help.c:3189 msgid "send_function" msgstr "функциÑ_отправки" -#: sql_help.c:3182 +#: sql_help.c:3190 msgid "type_modifier_input_function" msgstr "функциÑ_ввода_модификатора_типа" -#: sql_help.c:3183 +#: sql_help.c:3191 msgid "type_modifier_output_function" msgstr "функциÑ_вывода_модификатора_типа" -#: sql_help.c:3184 +#: sql_help.c:3192 msgid "analyze_function" msgstr "функциÑ_анализа" -#: sql_help.c:3185 +#: sql_help.c:3193 msgid "subscript_function" msgstr "функциÑ_обращениÑ_по_индекÑу" -#: sql_help.c:3186 +#: sql_help.c:3194 msgid "internallength" msgstr "внутр_длина" -#: sql_help.c:3187 +#: sql_help.c:3195 msgid "alignment" msgstr "выравнивание" -#: sql_help.c:3188 +#: sql_help.c:3196 msgid "storage" msgstr "хранение" -#: sql_help.c:3189 +#: sql_help.c:3197 msgid "like_type" msgstr "тип_образец" -#: sql_help.c:3190 +#: sql_help.c:3198 msgid "category" msgstr "категориÑ" -#: sql_help.c:3191 +#: sql_help.c:3199 msgid "preferred" msgstr "предпочитаемый" -#: sql_help.c:3192 +#: sql_help.c:3200 msgid "default" msgstr "по_умолчанию" -#: sql_help.c:3193 +#: sql_help.c:3201 msgid "element" msgstr "Ñлемент" -#: sql_help.c:3194 +#: sql_help.c:3202 msgid "delimiter" msgstr "разделитель" -#: sql_help.c:3195 +#: sql_help.c:3203 msgid "collatable" msgstr "Ñортируемый" -#: sql_help.c:3292 sql_help.c:3976 sql_help.c:4066 sql_help.c:4546 -#: sql_help.c:4648 sql_help.c:4803 sql_help.c:4916 sql_help.c:5041 +#: sql_help.c:3300 sql_help.c:3984 sql_help.c:4076 sql_help.c:4558 +#: sql_help.c:4660 sql_help.c:4815 sql_help.c:4928 sql_help.c:5053 msgid "with_query" msgstr "запроÑ_WITH" -#: sql_help.c:3294 sql_help.c:3978 sql_help.c:4565 sql_help.c:4571 -#: sql_help.c:4574 sql_help.c:4578 sql_help.c:4582 sql_help.c:4590 -#: sql_help.c:4822 sql_help.c:4828 sql_help.c:4831 sql_help.c:4835 -#: sql_help.c:4839 sql_help.c:4847 sql_help.c:4918 sql_help.c:5060 -#: sql_help.c:5066 sql_help.c:5069 sql_help.c:5073 sql_help.c:5077 -#: sql_help.c:5085 +#: sql_help.c:3302 sql_help.c:3986 sql_help.c:4577 sql_help.c:4583 +#: sql_help.c:4586 sql_help.c:4590 sql_help.c:4594 sql_help.c:4602 +#: sql_help.c:4834 sql_help.c:4840 sql_help.c:4843 sql_help.c:4847 +#: sql_help.c:4851 sql_help.c:4859 sql_help.c:4930 sql_help.c:5072 +#: sql_help.c:5078 sql_help.c:5081 sql_help.c:5085 sql_help.c:5089 +#: sql_help.c:5097 msgid "alias" msgstr "пÑевдоним" -#: sql_help.c:3295 sql_help.c:4550 sql_help.c:4592 sql_help.c:4594 -#: sql_help.c:4598 sql_help.c:4600 sql_help.c:4601 sql_help.c:4602 -#: sql_help.c:4653 sql_help.c:4807 sql_help.c:4849 sql_help.c:4851 -#: sql_help.c:4855 sql_help.c:4857 sql_help.c:4858 sql_help.c:4859 -#: sql_help.c:4925 sql_help.c:5045 sql_help.c:5087 sql_help.c:5089 -#: sql_help.c:5093 sql_help.c:5095 sql_help.c:5096 sql_help.c:5097 +#: sql_help.c:3303 sql_help.c:4562 sql_help.c:4604 sql_help.c:4606 +#: sql_help.c:4610 sql_help.c:4612 sql_help.c:4613 sql_help.c:4614 +#: sql_help.c:4665 sql_help.c:4819 sql_help.c:4861 sql_help.c:4863 +#: sql_help.c:4867 sql_help.c:4869 sql_help.c:4870 sql_help.c:4871 +#: sql_help.c:4937 sql_help.c:5057 sql_help.c:5099 sql_help.c:5101 +#: sql_help.c:5105 sql_help.c:5107 sql_help.c:5108 sql_help.c:5109 msgid "from_item" msgstr "иÑточник_данных" -#: sql_help.c:3297 sql_help.c:3778 sql_help.c:4116 sql_help.c:4927 +#: sql_help.c:3305 sql_help.c:3786 sql_help.c:4128 sql_help.c:4939 msgid "cursor_name" msgstr "имÑ_курÑора" -#: sql_help.c:3298 sql_help.c:3984 sql_help.c:4928 +#: sql_help.c:3306 sql_help.c:3992 sql_help.c:4940 msgid "output_expression" msgstr "выражение_результата" -#: sql_help.c:3299 sql_help.c:3985 sql_help.c:4549 sql_help.c:4651 -#: sql_help.c:4806 sql_help.c:4929 sql_help.c:5044 +#: sql_help.c:3307 sql_help.c:3993 sql_help.c:4561 sql_help.c:4663 +#: sql_help.c:4818 sql_help.c:4941 sql_help.c:5056 msgid "output_name" msgstr "имÑ_результата" -#: sql_help.c:3315 +#: sql_help.c:3323 msgid "code" msgstr "внедрённый_код" -#: sql_help.c:3720 +#: sql_help.c:3728 msgid "parameter" msgstr "параметр" -#: sql_help.c:3742 sql_help.c:3743 sql_help.c:4141 +#: sql_help.c:3750 sql_help.c:3751 sql_help.c:4153 msgid "statement" msgstr "оператор" -#: sql_help.c:3777 sql_help.c:4115 +#: sql_help.c:3785 sql_help.c:4127 msgid "direction" msgstr "направление" -#: sql_help.c:3779 sql_help.c:4117 +#: sql_help.c:3787 sql_help.c:4129 msgid "where direction can be one of:" msgstr "где допуÑтимое направление:" -#: sql_help.c:3780 sql_help.c:3781 sql_help.c:3782 sql_help.c:3783 -#: sql_help.c:3784 sql_help.c:4118 sql_help.c:4119 sql_help.c:4120 -#: sql_help.c:4121 sql_help.c:4122 sql_help.c:4559 sql_help.c:4561 -#: sql_help.c:4662 sql_help.c:4664 sql_help.c:4816 sql_help.c:4818 -#: sql_help.c:4985 sql_help.c:4987 sql_help.c:5054 sql_help.c:5056 +#: sql_help.c:3788 sql_help.c:3789 sql_help.c:3790 sql_help.c:3791 +#: sql_help.c:3792 sql_help.c:4130 sql_help.c:4131 sql_help.c:4132 +#: sql_help.c:4133 sql_help.c:4134 sql_help.c:4571 sql_help.c:4573 +#: sql_help.c:4674 sql_help.c:4676 sql_help.c:4828 sql_help.c:4830 +#: sql_help.c:4997 sql_help.c:4999 sql_help.c:5066 sql_help.c:5068 msgid "count" msgstr "чиÑло" -#: sql_help.c:3887 sql_help.c:4336 +#: sql_help.c:3895 sql_help.c:4348 msgid "sequence_name" msgstr "имÑ_поÑледовательноÑти" -#: sql_help.c:3905 sql_help.c:4354 +#: sql_help.c:3913 sql_help.c:4366 msgid "arg_name" msgstr "имÑ_аргумента" -#: sql_help.c:3906 sql_help.c:4355 +#: sql_help.c:3914 sql_help.c:4367 msgid "arg_type" msgstr "тип_аргумента" -#: sql_help.c:3913 sql_help.c:4362 +#: sql_help.c:3921 sql_help.c:4374 msgid "loid" msgstr "код_БО" -#: sql_help.c:3944 +#: sql_help.c:3952 msgid "remote_schema" msgstr "удалённаÑ_Ñхема" -#: sql_help.c:3947 +#: sql_help.c:3955 msgid "local_schema" msgstr "локальнаÑ_Ñхема" -#: sql_help.c:3982 +#: sql_help.c:3990 msgid "conflict_target" msgstr "объект_конфликта" -#: sql_help.c:3983 +#: sql_help.c:3991 msgid "conflict_action" msgstr "дейÑтвие_при_конфликте" -#: sql_help.c:3986 +#: sql_help.c:3994 msgid "where conflict_target can be one of:" msgstr "где допуÑтимый объект_конфликта:" -#: sql_help.c:3987 +#: sql_help.c:3995 msgid "index_column_name" msgstr "имÑ_Ñтолбца_индекÑа" -#: sql_help.c:3988 +#: sql_help.c:3996 msgid "index_expression" msgstr "выражение_индекÑа" -#: sql_help.c:3991 +#: sql_help.c:3999 msgid "index_predicate" msgstr "предикат_индекÑа" -#: sql_help.c:3993 +#: sql_help.c:4001 msgid "and conflict_action is one of:" msgstr "а допуÑтимое дейÑтвие_при_конфликте:" -#: sql_help.c:3999 sql_help.c:4924 +#: sql_help.c:4007 sql_help.c:4101 sql_help.c:4936 msgid "sub-SELECT" msgstr "вложенный_SELECT" -#: sql_help.c:4008 sql_help.c:4130 sql_help.c:4900 +#: sql_help.c:4016 sql_help.c:4142 sql_help.c:4912 msgid "channel" msgstr "канал" -#: sql_help.c:4030 +#: sql_help.c:4038 msgid "lockmode" msgstr "режим_блокировки" -#: sql_help.c:4031 +#: sql_help.c:4039 msgid "where lockmode is one of:" msgstr "где допуÑтимый режим_блокировки:" -#: sql_help.c:4067 +#: sql_help.c:4077 msgid "target_table_name" msgstr "имÑ_целевой_таблицы" -#: sql_help.c:4068 +#: sql_help.c:4078 msgid "target_alias" msgstr "пÑевдоним_назначениÑ" -#: sql_help.c:4069 +#: sql_help.c:4079 msgid "data_source" msgstr "иÑточник_данных" -#: sql_help.c:4070 sql_help.c:4595 sql_help.c:4852 sql_help.c:5090 +#: sql_help.c:4080 sql_help.c:4607 sql_help.c:4864 sql_help.c:5102 msgid "join_condition" msgstr "уÑловие_ÑоединениÑ" -#: sql_help.c:4071 +#: sql_help.c:4081 msgid "when_clause" msgstr "предложение_when" -#: sql_help.c:4072 +#: sql_help.c:4082 msgid "where data_source is:" msgstr "где иÑточник_данных:" -#: sql_help.c:4073 +#: sql_help.c:4083 msgid "source_table_name" msgstr "имÑ_иÑходной_таблицы" -#: sql_help.c:4074 +#: sql_help.c:4084 msgid "source_query" msgstr "иÑходный_запроÑ" -#: sql_help.c:4075 +#: sql_help.c:4085 msgid "source_alias" msgstr "пÑевдоним_иÑточника" -#: sql_help.c:4076 +#: sql_help.c:4086 msgid "and when_clause is:" msgstr "и предложение_when:" -#: sql_help.c:4078 +#: sql_help.c:4088 msgid "merge_update" msgstr "merge_update" -#: sql_help.c:4079 +#: sql_help.c:4089 msgid "merge_delete" msgstr "merge_delete" -#: sql_help.c:4081 +#: sql_help.c:4091 msgid "merge_insert" msgstr "merge_insert" -#: sql_help.c:4082 +#: sql_help.c:4092 msgid "and merge_insert is:" msgstr "и merge_insert:" -#: sql_help.c:4085 +#: sql_help.c:4095 msgid "and merge_update is:" msgstr "и merge_update:" -#: sql_help.c:4090 +#: sql_help.c:4102 msgid "and merge_delete is:" msgstr "и merge_delete:" -#: sql_help.c:4131 +#: sql_help.c:4143 msgid "payload" msgstr "Ñообщение_нагрузка" -#: sql_help.c:4158 +#: sql_help.c:4170 msgid "old_role" msgstr "ÑтараÑ_роль" -#: sql_help.c:4159 +#: sql_help.c:4171 msgid "new_role" msgstr "новаÑ_роль" -#: sql_help.c:4195 sql_help.c:4404 sql_help.c:4412 +#: sql_help.c:4207 sql_help.c:4416 sql_help.c:4424 msgid "savepoint_name" msgstr "имÑ_точки_ÑохранениÑ" -#: sql_help.c:4552 sql_help.c:4610 sql_help.c:4809 sql_help.c:4867 -#: sql_help.c:5047 sql_help.c:5105 +#: sql_help.c:4564 sql_help.c:4622 sql_help.c:4821 sql_help.c:4879 +#: sql_help.c:5059 sql_help.c:5117 msgid "grouping_element" msgstr "Ñлемент_группированиÑ" -#: sql_help.c:4554 sql_help.c:4657 sql_help.c:4811 sql_help.c:5049 +#: sql_help.c:4566 sql_help.c:4669 sql_help.c:4823 sql_help.c:5061 msgid "window_name" msgstr "имÑ_окна" -#: sql_help.c:4555 sql_help.c:4658 sql_help.c:4812 sql_help.c:5050 +#: sql_help.c:4567 sql_help.c:4670 sql_help.c:4824 sql_help.c:5062 msgid "window_definition" msgstr "определение_окна" -#: sql_help.c:4556 sql_help.c:4570 sql_help.c:4614 sql_help.c:4659 -#: sql_help.c:4813 sql_help.c:4827 sql_help.c:4871 sql_help.c:5051 -#: sql_help.c:5065 sql_help.c:5109 +#: sql_help.c:4568 sql_help.c:4582 sql_help.c:4626 sql_help.c:4671 +#: sql_help.c:4825 sql_help.c:4839 sql_help.c:4883 sql_help.c:5063 +#: sql_help.c:5077 sql_help.c:5121 msgid "select" msgstr "select" -#: sql_help.c:4563 sql_help.c:4820 sql_help.c:5058 +#: sql_help.c:4575 sql_help.c:4832 sql_help.c:5070 msgid "where from_item can be one of:" msgstr "где допуÑтимый иÑточник_данных:" -#: sql_help.c:4566 sql_help.c:4572 sql_help.c:4575 sql_help.c:4579 -#: sql_help.c:4591 sql_help.c:4823 sql_help.c:4829 sql_help.c:4832 -#: sql_help.c:4836 sql_help.c:4848 sql_help.c:5061 sql_help.c:5067 -#: sql_help.c:5070 sql_help.c:5074 sql_help.c:5086 +#: sql_help.c:4578 sql_help.c:4584 sql_help.c:4587 sql_help.c:4591 +#: sql_help.c:4603 sql_help.c:4835 sql_help.c:4841 sql_help.c:4844 +#: sql_help.c:4848 sql_help.c:4860 sql_help.c:5073 sql_help.c:5079 +#: sql_help.c:5082 sql_help.c:5086 sql_help.c:5098 msgid "column_alias" msgstr "пÑевдоним_Ñтолбца" -#: sql_help.c:4567 sql_help.c:4824 sql_help.c:5062 +#: sql_help.c:4579 sql_help.c:4836 sql_help.c:5074 msgid "sampling_method" msgstr "метод_выборки" -#: sql_help.c:4569 sql_help.c:4826 sql_help.c:5064 +#: sql_help.c:4581 sql_help.c:4838 sql_help.c:5076 msgid "seed" msgstr "начальное_чиÑло" -#: sql_help.c:4573 sql_help.c:4612 sql_help.c:4830 sql_help.c:4869 -#: sql_help.c:5068 sql_help.c:5107 +#: sql_help.c:4585 sql_help.c:4624 sql_help.c:4842 sql_help.c:4881 +#: sql_help.c:5080 sql_help.c:5119 msgid "with_query_name" msgstr "имÑ_запроÑа_WITH" -#: sql_help.c:4583 sql_help.c:4586 sql_help.c:4589 sql_help.c:4840 -#: sql_help.c:4843 sql_help.c:4846 sql_help.c:5078 sql_help.c:5081 -#: sql_help.c:5084 +#: sql_help.c:4595 sql_help.c:4598 sql_help.c:4601 sql_help.c:4852 +#: sql_help.c:4855 sql_help.c:4858 sql_help.c:5090 sql_help.c:5093 +#: sql_help.c:5096 msgid "column_definition" msgstr "определение_Ñтолбца" -#: sql_help.c:4593 sql_help.c:4599 sql_help.c:4850 sql_help.c:4856 -#: sql_help.c:5088 sql_help.c:5094 +#: sql_help.c:4605 sql_help.c:4611 sql_help.c:4862 sql_help.c:4868 +#: sql_help.c:5100 sql_help.c:5106 msgid "join_type" msgstr "тип_ÑоединениÑ" -#: sql_help.c:4596 sql_help.c:4853 sql_help.c:5091 +#: sql_help.c:4608 sql_help.c:4865 sql_help.c:5103 msgid "join_column" msgstr "Ñтолбец_ÑоединениÑ" -#: sql_help.c:4597 sql_help.c:4854 sql_help.c:5092 +#: sql_help.c:4609 sql_help.c:4866 sql_help.c:5104 msgid "join_using_alias" msgstr "пÑевдоним_иÑпользованиÑ_ÑоединениÑ" -#: sql_help.c:4603 sql_help.c:4860 sql_help.c:5098 +#: sql_help.c:4615 sql_help.c:4872 sql_help.c:5110 msgid "and grouping_element can be one of:" msgstr "где допуÑтимый Ñлемент_группированиÑ:" -#: sql_help.c:4611 sql_help.c:4868 sql_help.c:5106 +#: sql_help.c:4623 sql_help.c:4880 sql_help.c:5118 msgid "and with_query is:" msgstr "и запроÑ_WITH:" -#: sql_help.c:4615 sql_help.c:4872 sql_help.c:5110 +#: sql_help.c:4627 sql_help.c:4884 sql_help.c:5122 msgid "values" msgstr "значениÑ" -#: sql_help.c:4616 sql_help.c:4873 sql_help.c:5111 +#: sql_help.c:4628 sql_help.c:4885 sql_help.c:5123 msgid "insert" msgstr "insert" -#: sql_help.c:4617 sql_help.c:4874 sql_help.c:5112 +#: sql_help.c:4629 sql_help.c:4886 sql_help.c:5124 msgid "update" msgstr "update" -#: sql_help.c:4618 sql_help.c:4875 sql_help.c:5113 +#: sql_help.c:4630 sql_help.c:4887 sql_help.c:5125 msgid "delete" msgstr "delete" -#: sql_help.c:4620 sql_help.c:4877 sql_help.c:5115 +#: sql_help.c:4632 sql_help.c:4889 sql_help.c:5127 msgid "search_seq_col_name" msgstr "имÑ_Ñтолбца_поÑлед_поиÑка" -#: sql_help.c:4622 sql_help.c:4879 sql_help.c:5117 +#: sql_help.c:4634 sql_help.c:4891 sql_help.c:5129 msgid "cycle_mark_col_name" msgstr "имÑ_Ñтолбца_пометки_цикла" -#: sql_help.c:4623 sql_help.c:4880 sql_help.c:5118 +#: sql_help.c:4635 sql_help.c:4892 sql_help.c:5130 msgid "cycle_mark_value" msgstr "значение_пометки_цикла" -#: sql_help.c:4624 sql_help.c:4881 sql_help.c:5119 +#: sql_help.c:4636 sql_help.c:4893 sql_help.c:5131 msgid "cycle_mark_default" msgstr "пометка_цикла_по_умолчанию" -#: sql_help.c:4625 sql_help.c:4882 sql_help.c:5120 +#: sql_help.c:4637 sql_help.c:4894 sql_help.c:5132 msgid "cycle_path_col_name" msgstr "имÑ_Ñтолбца_пути_цикла" -#: sql_help.c:4652 +#: sql_help.c:4664 msgid "new_table" msgstr "новаÑ_таблица" -#: sql_help.c:4723 +#: sql_help.c:4735 msgid "snapshot_id" msgstr "код_Ñнимка" -#: sql_help.c:4983 +#: sql_help.c:4995 msgid "sort_expression" msgstr "выражение_Ñортировки" -#: sql_help.c:5127 sql_help.c:6111 +#: sql_help.c:5139 sql_help.c:6123 msgid "abort the current transaction" msgstr "прервать текущую транзакцию" -#: sql_help.c:5133 +#: sql_help.c:5145 msgid "change the definition of an aggregate function" msgstr "изменить определение агрегатной функции" -#: sql_help.c:5139 +#: sql_help.c:5151 msgid "change the definition of a collation" msgstr "изменить определение правила Ñортировки" -#: sql_help.c:5145 +#: sql_help.c:5157 msgid "change the definition of a conversion" msgstr "изменить определение преобразованиÑ" -#: sql_help.c:5151 +#: sql_help.c:5163 msgid "change a database" msgstr "изменить атрибуты базы данных" -#: sql_help.c:5157 +#: sql_help.c:5169 msgid "define default access privileges" msgstr "определить права доÑтупа по умолчанию" -#: sql_help.c:5163 +#: sql_help.c:5175 msgid "change the definition of a domain" msgstr "изменить определение домена" -#: sql_help.c:5169 +#: sql_help.c:5181 msgid "change the definition of an event trigger" msgstr "изменить определение Ñобытийного триггера" -#: sql_help.c:5175 +#: sql_help.c:5187 msgid "change the definition of an extension" msgstr "изменить определение раÑширениÑ" -#: sql_help.c:5181 +#: sql_help.c:5193 msgid "change the definition of a foreign-data wrapper" msgstr "изменить определение обёртки Ñторонних данных" -#: sql_help.c:5187 +#: sql_help.c:5199 msgid "change the definition of a foreign table" msgstr "изменить определение Ñторонней таблицы" -#: sql_help.c:5193 +#: sql_help.c:5205 msgid "change the definition of a function" msgstr "изменить определение функции" -#: sql_help.c:5199 +#: sql_help.c:5211 msgid "change role name or membership" msgstr "изменить Ð¸Ð¼Ñ Ñ€Ð¾Ð»Ð¸ или членÑтво" -#: sql_help.c:5205 +#: sql_help.c:5217 msgid "change the definition of an index" msgstr "изменить определение индекÑа" -#: sql_help.c:5211 +#: sql_help.c:5223 msgid "change the definition of a procedural language" msgstr "изменить определение процедурного Ñзыка" -#: sql_help.c:5217 +#: sql_help.c:5229 msgid "change the definition of a large object" msgstr "изменить определение большого объекта" -#: sql_help.c:5223 +#: sql_help.c:5235 msgid "change the definition of a materialized view" msgstr "изменить определение материализованного предÑтавлениÑ" -#: sql_help.c:5229 +#: sql_help.c:5241 msgid "change the definition of an operator" msgstr "изменить определение оператора" -#: sql_help.c:5235 +#: sql_help.c:5247 msgid "change the definition of an operator class" msgstr "изменить определение клаÑÑа операторов" -#: sql_help.c:5241 +#: sql_help.c:5253 msgid "change the definition of an operator family" msgstr "изменить определение ÑемейÑтва операторов" -#: sql_help.c:5247 +#: sql_help.c:5259 msgid "change the definition of a row-level security policy" msgstr "изменить определение политики защиты на уровне Ñтрок" -#: sql_help.c:5253 +#: sql_help.c:5265 msgid "change the definition of a procedure" msgstr "изменить определение процедуры" -#: sql_help.c:5259 +#: sql_help.c:5271 msgid "change the definition of a publication" msgstr "изменить определение публикации" -#: sql_help.c:5265 sql_help.c:5367 +#: sql_help.c:5277 sql_help.c:5379 msgid "change a database role" msgstr "изменить роль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð‘Ð”" -#: sql_help.c:5271 +#: sql_help.c:5283 msgid "change the definition of a routine" msgstr "изменить определение подпрограммы" -#: sql_help.c:5277 +#: sql_help.c:5289 msgid "change the definition of a rule" msgstr "изменить определение правила" -#: sql_help.c:5283 +#: sql_help.c:5295 msgid "change the definition of a schema" msgstr "изменить определение Ñхемы" -#: sql_help.c:5289 +#: sql_help.c:5301 msgid "change the definition of a sequence generator" msgstr "изменить определение генератора поÑледовательноÑти" -#: sql_help.c:5295 +#: sql_help.c:5307 msgid "change the definition of a foreign server" msgstr "изменить определение Ñтороннего Ñервера" -#: sql_help.c:5301 +#: sql_help.c:5313 msgid "change the definition of an extended statistics object" msgstr "изменить определение объекта раÑширенной ÑтатиÑтики" -#: sql_help.c:5307 +#: sql_help.c:5319 msgid "change the definition of a subscription" msgstr "изменить определение подпиÑки" -#: sql_help.c:5313 +#: sql_help.c:5325 msgid "change a server configuration parameter" msgstr "изменить параметр конфигурации Ñервера" -#: sql_help.c:5319 +#: sql_help.c:5331 msgid "change the definition of a table" msgstr "изменить определение таблицы" -#: sql_help.c:5325 +#: sql_help.c:5337 msgid "change the definition of a tablespace" msgstr "изменить определение табличного проÑтранÑтва" -#: sql_help.c:5331 +#: sql_help.c:5343 msgid "change the definition of a text search configuration" msgstr "изменить определение конфигурации текÑтового поиÑка" -#: sql_help.c:5337 +#: sql_help.c:5349 msgid "change the definition of a text search dictionary" msgstr "изменить определение ÑÐ»Ð¾Ð²Ð°Ñ€Ñ Ñ‚ÐµÐºÑтового поиÑка" -#: sql_help.c:5343 +#: sql_help.c:5355 msgid "change the definition of a text search parser" msgstr "изменить определение анализатора текÑтового поиÑка" -#: sql_help.c:5349 +#: sql_help.c:5361 msgid "change the definition of a text search template" msgstr "изменить определение шаблона текÑтового поиÑка" -#: sql_help.c:5355 +#: sql_help.c:5367 msgid "change the definition of a trigger" msgstr "изменить определение триггера" -#: sql_help.c:5361 +#: sql_help.c:5373 msgid "change the definition of a type" msgstr "изменить определение типа" -#: sql_help.c:5373 +#: sql_help.c:5385 msgid "change the definition of a user mapping" msgstr "изменить ÑопоÑтавление пользователей" -#: sql_help.c:5379 +#: sql_help.c:5391 msgid "change the definition of a view" msgstr "изменить определение предÑтавлениÑ" -#: sql_help.c:5385 +#: sql_help.c:5397 msgid "collect statistics about a database" msgstr "Ñобрать ÑтатиÑтику о базе данных" -#: sql_help.c:5391 sql_help.c:6189 +#: sql_help.c:5403 sql_help.c:6201 msgid "start a transaction block" msgstr "начать транзакцию" -#: sql_help.c:5397 +#: sql_help.c:5409 msgid "invoke a procedure" msgstr "вызвать процедуру" -#: sql_help.c:5403 +#: sql_help.c:5415 msgid "force a write-ahead log checkpoint" msgstr "произвеÑти контрольную точку в журнале предзапиÑи" -#: sql_help.c:5409 +#: sql_help.c:5421 msgid "close a cursor" msgstr "закрыть курÑор" -#: sql_help.c:5415 +#: sql_help.c:5427 msgid "cluster a table according to an index" msgstr "перегруппировать таблицу по индекÑу" -#: sql_help.c:5421 +#: sql_help.c:5433 msgid "define or change the comment of an object" msgstr "задать или изменить комментарий объекта" -#: sql_help.c:5427 sql_help.c:5985 +#: sql_help.c:5439 sql_help.c:5997 msgid "commit the current transaction" msgstr "зафикÑировать текущую транзакцию" -#: sql_help.c:5433 +#: sql_help.c:5445 msgid "commit a transaction that was earlier prepared for two-phase commit" msgstr "зафикÑировать транзакцию, ранее подготовленную Ð´Ð»Ñ Ð´Ð²ÑƒÑ…Ñ„Ð°Ð·Ð½Ð¾Ð¹ фикÑации" -#: sql_help.c:5439 +#: sql_help.c:5451 msgid "copy data between a file and a table" msgstr "импорт/ÑкÑпорт данных в файл" -#: sql_help.c:5445 +#: sql_help.c:5457 msgid "define a new access method" msgstr "Ñоздать новый метод доÑтупа" -#: sql_help.c:5451 +#: sql_help.c:5463 msgid "define a new aggregate function" msgstr "Ñоздать агрегатную функцию" -#: sql_help.c:5457 +#: sql_help.c:5469 msgid "define a new cast" msgstr "Ñоздать приведение типов" -#: sql_help.c:5463 +#: sql_help.c:5475 msgid "define a new collation" msgstr "Ñоздать правило Ñортировки" -#: sql_help.c:5469 +#: sql_help.c:5481 msgid "define a new encoding conversion" msgstr "Ñоздать преобразование кодировки" -#: sql_help.c:5475 +#: sql_help.c:5487 msgid "create a new database" msgstr "Ñоздать базу данных" -#: sql_help.c:5481 +#: sql_help.c:5493 msgid "define a new domain" msgstr "Ñоздать домен" -#: sql_help.c:5487 +#: sql_help.c:5499 msgid "define a new event trigger" msgstr "Ñоздать Ñобытийный триггер" -#: sql_help.c:5493 +#: sql_help.c:5505 msgid "install an extension" msgstr "уÑтановить раÑширение" -#: sql_help.c:5499 +#: sql_help.c:5511 msgid "define a new foreign-data wrapper" msgstr "Ñоздать обёртку Ñторонних данных" -#: sql_help.c:5505 +#: sql_help.c:5517 msgid "define a new foreign table" msgstr "Ñоздать Ñтороннюю таблицу" -#: sql_help.c:5511 +#: sql_help.c:5523 msgid "define a new function" msgstr "Ñоздать функцию" -#: sql_help.c:5517 sql_help.c:5577 sql_help.c:5679 +#: sql_help.c:5529 sql_help.c:5589 sql_help.c:5691 msgid "define a new database role" msgstr "Ñоздать роль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð‘Ð”" -#: sql_help.c:5523 +#: sql_help.c:5535 msgid "define a new index" msgstr "Ñоздать индекÑ" -#: sql_help.c:5529 +#: sql_help.c:5541 msgid "define a new procedural language" msgstr "Ñоздать процедурный Ñзык" -#: sql_help.c:5535 +#: sql_help.c:5547 msgid "define a new materialized view" msgstr "Ñоздать материализованное предÑтавление" -#: sql_help.c:5541 +#: sql_help.c:5553 msgid "define a new operator" msgstr "Ñоздать оператор" -#: sql_help.c:5547 +#: sql_help.c:5559 msgid "define a new operator class" msgstr "Ñоздать клаÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð²" -#: sql_help.c:5553 +#: sql_help.c:5565 msgid "define a new operator family" msgstr "Ñоздать ÑемейÑтво операторов" -#: sql_help.c:5559 +#: sql_help.c:5571 msgid "define a new row-level security policy for a table" msgstr "Ñоздать новую политику защиты на уровне Ñтрок Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ‹" -#: sql_help.c:5565 +#: sql_help.c:5577 msgid "define a new procedure" msgstr "Ñоздать процедуру" -#: sql_help.c:5571 +#: sql_help.c:5583 msgid "define a new publication" msgstr "Ñоздать публикацию" -#: sql_help.c:5583 +#: sql_help.c:5595 msgid "define a new rewrite rule" msgstr "Ñоздать правило перезапиÑи" -#: sql_help.c:5589 +#: sql_help.c:5601 msgid "define a new schema" msgstr "Ñоздать Ñхему" -#: sql_help.c:5595 +#: sql_help.c:5607 msgid "define a new sequence generator" msgstr "Ñоздать генератор поÑледовательноÑтей" -#: sql_help.c:5601 +#: sql_help.c:5613 msgid "define a new foreign server" msgstr "Ñоздать Ñторонний Ñервер" -#: sql_help.c:5607 +#: sql_help.c:5619 msgid "define extended statistics" msgstr "Ñоздать раÑширенную ÑтатиÑтику" -#: sql_help.c:5613 +#: sql_help.c:5625 msgid "define a new subscription" msgstr "Ñоздать подпиÑку" -#: sql_help.c:5619 +#: sql_help.c:5631 msgid "define a new table" msgstr "Ñоздать таблицу" -#: sql_help.c:5625 sql_help.c:6147 +#: sql_help.c:5637 sql_help.c:6159 msgid "define a new table from the results of a query" msgstr "Ñоздать таблицу из результатов запроÑа" -#: sql_help.c:5631 +#: sql_help.c:5643 msgid "define a new tablespace" msgstr "Ñоздать табличное проÑтранÑтво" -#: sql_help.c:5637 +#: sql_help.c:5649 msgid "define a new text search configuration" msgstr "Ñоздать конфигурацию текÑтового поиÑка" -#: sql_help.c:5643 +#: sql_help.c:5655 msgid "define a new text search dictionary" msgstr "Ñоздать Ñловарь текÑтового поиÑка" -#: sql_help.c:5649 +#: sql_help.c:5661 msgid "define a new text search parser" msgstr "Ñоздать анализатор текÑтового поиÑка" -#: sql_help.c:5655 +#: sql_help.c:5667 msgid "define a new text search template" msgstr "Ñоздать шаблон текÑтового поиÑка" -#: sql_help.c:5661 +#: sql_help.c:5673 msgid "define a new transform" msgstr "Ñоздать преобразование" -#: sql_help.c:5667 +#: sql_help.c:5679 msgid "define a new trigger" msgstr "Ñоздать триггер" -#: sql_help.c:5673 +#: sql_help.c:5685 msgid "define a new data type" msgstr "Ñоздать тип данных" -#: sql_help.c:5685 +#: sql_help.c:5697 msgid "define a new mapping of a user to a foreign server" msgstr "Ñоздать ÑопоÑтавление Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ñтороннего Ñервера" -#: sql_help.c:5691 +#: sql_help.c:5703 msgid "define a new view" msgstr "Ñоздать предÑтавление" -#: sql_help.c:5697 +#: sql_help.c:5709 msgid "deallocate a prepared statement" msgstr "оÑвободить подготовленный оператор" -#: sql_help.c:5703 +#: sql_help.c:5715 msgid "define a cursor" msgstr "Ñоздать курÑор" -#: sql_help.c:5709 +#: sql_help.c:5721 msgid "delete rows of a table" msgstr "удалить запиÑи таблицы" -#: sql_help.c:5715 +#: sql_help.c:5727 msgid "discard session state" msgstr "очиÑтить ÑоÑтоÑние ÑеанÑа" -#: sql_help.c:5721 +#: sql_help.c:5733 msgid "execute an anonymous code block" msgstr "выполнить анонимный блок кода" -#: sql_help.c:5727 +#: sql_help.c:5739 msgid "remove an access method" msgstr "удалить метод доÑтупа" -#: sql_help.c:5733 +#: sql_help.c:5745 msgid "remove an aggregate function" msgstr "удалить агрегатную функцию" -#: sql_help.c:5739 +#: sql_help.c:5751 msgid "remove a cast" msgstr "удалить приведение типа" -#: sql_help.c:5745 +#: sql_help.c:5757 msgid "remove a collation" msgstr "удалить правило Ñортировки" -#: sql_help.c:5751 +#: sql_help.c:5763 msgid "remove a conversion" msgstr "удалить преобразование" -#: sql_help.c:5757 +#: sql_help.c:5769 msgid "remove a database" msgstr "удалить базу данных" -#: sql_help.c:5763 +#: sql_help.c:5775 msgid "remove a domain" msgstr "удалить домен" -#: sql_help.c:5769 +#: sql_help.c:5781 msgid "remove an event trigger" msgstr "удалить Ñобытийный триггер" -#: sql_help.c:5775 +#: sql_help.c:5787 msgid "remove an extension" msgstr "удалить раÑширение" -#: sql_help.c:5781 +#: sql_help.c:5793 msgid "remove a foreign-data wrapper" msgstr "удалить обёртку Ñторонних данных" -#: sql_help.c:5787 +#: sql_help.c:5799 msgid "remove a foreign table" msgstr "удалить Ñтороннюю таблицу" -#: sql_help.c:5793 +#: sql_help.c:5805 msgid "remove a function" msgstr "удалить функцию" -#: sql_help.c:5799 sql_help.c:5865 sql_help.c:5967 +#: sql_help.c:5811 sql_help.c:5877 sql_help.c:5979 msgid "remove a database role" msgstr "удалить роль Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð‘Ð”" -#: sql_help.c:5805 +#: sql_help.c:5817 msgid "remove an index" msgstr "удалить индекÑ" -#: sql_help.c:5811 +#: sql_help.c:5823 msgid "remove a procedural language" msgstr "удалить процедурный Ñзык" -#: sql_help.c:5817 +#: sql_help.c:5829 msgid "remove a materialized view" msgstr "удалить материализованное предÑтавление" -#: sql_help.c:5823 +#: sql_help.c:5835 msgid "remove an operator" msgstr "удалить оператор" -#: sql_help.c:5829 +#: sql_help.c:5841 msgid "remove an operator class" msgstr "удалить клаÑÑ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð¾Ð²" -#: sql_help.c:5835 +#: sql_help.c:5847 msgid "remove an operator family" msgstr "удалить ÑемейÑтво операторов" -#: sql_help.c:5841 +#: sql_help.c:5853 msgid "remove database objects owned by a database role" msgstr "удалить объекты базы данных, принадлежащие роли" -#: sql_help.c:5847 +#: sql_help.c:5859 msgid "remove a row-level security policy from a table" msgstr "удалить из таблицы политику защиты на уровне Ñтрок" -#: sql_help.c:5853 +#: sql_help.c:5865 msgid "remove a procedure" msgstr "удалить процедуру" -#: sql_help.c:5859 +#: sql_help.c:5871 msgid "remove a publication" msgstr "удалить публикацию" -#: sql_help.c:5871 +#: sql_help.c:5883 msgid "remove a routine" msgstr "удалить подпрограмму" -#: sql_help.c:5877 +#: sql_help.c:5889 msgid "remove a rewrite rule" msgstr "удалить правило перезапиÑи" -#: sql_help.c:5883 +#: sql_help.c:5895 msgid "remove a schema" msgstr "удалить Ñхему" -#: sql_help.c:5889 +#: sql_help.c:5901 msgid "remove a sequence" msgstr "удалить поÑледовательноÑÑ‚ÑŒ" -#: sql_help.c:5895 +#: sql_help.c:5907 msgid "remove a foreign server descriptor" msgstr "удалить опиÑание Ñтороннего Ñервера" -#: sql_help.c:5901 +#: sql_help.c:5913 msgid "remove extended statistics" msgstr "удалить раÑширенную ÑтатиÑтику" -#: sql_help.c:5907 +#: sql_help.c:5919 msgid "remove a subscription" msgstr "удалить подпиÑку" -#: sql_help.c:5913 +#: sql_help.c:5925 msgid "remove a table" msgstr "удалить таблицу" -#: sql_help.c:5919 +#: sql_help.c:5931 msgid "remove a tablespace" msgstr "удалить табличное проÑтранÑтво" -#: sql_help.c:5925 +#: sql_help.c:5937 msgid "remove a text search configuration" msgstr "удалить конфигурацию текÑтового поиÑка" -#: sql_help.c:5931 +#: sql_help.c:5943 msgid "remove a text search dictionary" msgstr "удалить Ñловарь текÑтового поиÑка" -#: sql_help.c:5937 +#: sql_help.c:5949 msgid "remove a text search parser" msgstr "удалить анализатор текÑтового поиÑка" -#: sql_help.c:5943 +#: sql_help.c:5955 msgid "remove a text search template" msgstr "удалить шаблон текÑтового поиÑка" -#: sql_help.c:5949 +#: sql_help.c:5961 msgid "remove a transform" msgstr "удалить преобразование" -#: sql_help.c:5955 +#: sql_help.c:5967 msgid "remove a trigger" msgstr "удалить триггер" -#: sql_help.c:5961 +#: sql_help.c:5973 msgid "remove a data type" msgstr "удалить тип данных" -#: sql_help.c:5973 +#: sql_help.c:5985 msgid "remove a user mapping for a foreign server" msgstr "удалить ÑопоÑтавление Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð´Ð»Ñ Ñтороннего Ñервера" -#: sql_help.c:5979 +#: sql_help.c:5991 msgid "remove a view" msgstr "удалить предÑтавление" -#: sql_help.c:5991 +#: sql_help.c:6003 msgid "execute a prepared statement" msgstr "выполнить подготовленный оператор" -#: sql_help.c:5997 +#: sql_help.c:6009 msgid "show the execution plan of a statement" msgstr "показать план Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ Ð¾Ð¿ÐµÑ€Ð°Ñ‚Ð¾Ñ€Ð°" -#: sql_help.c:6003 +#: sql_help.c:6015 msgid "retrieve rows from a query using a cursor" msgstr "получить результат запроÑа через курÑор" -#: sql_help.c:6009 +#: sql_help.c:6021 msgid "define access privileges" msgstr "определить права доÑтупа" -#: sql_help.c:6015 +#: sql_help.c:6027 msgid "import table definitions from a foreign server" msgstr "импортировать Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ† Ñо Ñтороннего Ñервера" -#: sql_help.c:6021 +#: sql_help.c:6033 msgid "create new rows in a table" msgstr "добавить Ñтроки в таблицу" -#: sql_help.c:6027 +#: sql_help.c:6039 msgid "listen for a notification" msgstr "ожидать уведомлениÑ" -#: sql_help.c:6033 +#: sql_help.c:6045 msgid "load a shared library file" msgstr "загрузить файл разделÑемой библиотеки" -#: sql_help.c:6039 +#: sql_help.c:6051 msgid "lock a table" msgstr "заблокировать таблицу" -#: sql_help.c:6045 +#: sql_help.c:6057 msgid "conditionally insert, update, or delete rows of a table" msgstr "добавление, изменение или удаление Ñтрок таблицы по уÑловию" -#: sql_help.c:6051 +#: sql_help.c:6063 msgid "position a cursor" msgstr "уÑтановить курÑор" -#: sql_help.c:6057 +#: sql_help.c:6069 msgid "generate a notification" msgstr "Ñгенерировать уведомление" -#: sql_help.c:6063 +#: sql_help.c:6075 msgid "prepare a statement for execution" msgstr "подготовить оператор Ð´Ð»Ñ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ" -#: sql_help.c:6069 +#: sql_help.c:6081 msgid "prepare the current transaction for two-phase commit" msgstr "подготовить текущую транзакцию Ð´Ð»Ñ Ð´Ð²ÑƒÑ…Ñ„Ð°Ð·Ð½Ð¾Ð¹ фикÑации" -#: sql_help.c:6075 +#: sql_help.c:6087 msgid "change the ownership of database objects owned by a database role" msgstr "изменить владельца объектов БД, принадлежащих заданной роли" -#: sql_help.c:6081 +#: sql_help.c:6093 msgid "replace the contents of a materialized view" msgstr "заменить Ñодержимое материализованного предÑтавлениÑ" -#: sql_help.c:6087 +#: sql_help.c:6099 msgid "rebuild indexes" msgstr "переÑтроить индекÑÑ‹" -#: sql_help.c:6093 +#: sql_help.c:6105 msgid "destroy a previously defined savepoint" msgstr "удалить ранее определённую точку ÑохранениÑ" -#: sql_help.c:6099 +#: sql_help.c:6111 msgid "restore the value of a run-time parameter to the default value" msgstr "воÑÑтановить иÑходное значение параметра выполнениÑ" -#: sql_help.c:6105 +#: sql_help.c:6117 msgid "remove access privileges" msgstr "удалить права доÑтупа" -#: sql_help.c:6117 +#: sql_help.c:6129 msgid "cancel a transaction that was earlier prepared for two-phase commit" msgstr "отменить транзакцию, подготовленную ранее Ð´Ð»Ñ Ð´Ð²ÑƒÑ…Ñ„Ð°Ð·Ð½Ð¾Ð¹ фикÑации" -#: sql_help.c:6123 +#: sql_help.c:6135 msgid "roll back to a savepoint" msgstr "откатитьÑÑ Ðº точке ÑохранениÑ" -#: sql_help.c:6129 +#: sql_help.c:6141 msgid "define a new savepoint within the current transaction" msgstr "определить новую точку ÑÐ¾Ñ…Ñ€Ð°Ð½ÐµÐ½Ð¸Ñ Ð² текущей транзакции" -#: sql_help.c:6135 +#: sql_help.c:6147 msgid "define or change a security label applied to an object" msgstr "задать или изменить метку безопаÑноÑти, применённую к объекту" -#: sql_help.c:6141 sql_help.c:6195 sql_help.c:6231 +#: sql_help.c:6153 sql_help.c:6207 sql_help.c:6243 msgid "retrieve rows from a table or view" msgstr "выбрать Ñтроки из таблицы или предÑтавлениÑ" -#: sql_help.c:6153 +#: sql_help.c:6165 msgid "change a run-time parameter" msgstr "изменить параметр выполнениÑ" -#: sql_help.c:6159 +#: sql_help.c:6171 msgid "set constraint check timing for the current transaction" msgstr "уÑтановить Ð²Ñ€ÐµÐ¼Ñ Ð¿Ñ€Ð¾Ð²ÐµÑ€ÐºÐ¸ ограничений Ð´Ð»Ñ Ñ‚ÐµÐºÑƒÑ‰ÐµÐ¹ транзакции" -#: sql_help.c:6165 +#: sql_help.c:6177 msgid "set the current user identifier of the current session" msgstr "задать идентификатор текущего Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² текущем ÑеанÑе" -#: sql_help.c:6171 +#: sql_help.c:6183 msgid "" "set the session user identifier and the current user identifier of the " "current session" @@ -6644,31 +6646,31 @@ msgstr "" "задать идентификатор Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ ÑеанÑа и идентификатор текущего " "Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚ÐµÐ»Ñ Ð² текущем ÑеанÑе" -#: sql_help.c:6177 +#: sql_help.c:6189 msgid "set the characteristics of the current transaction" msgstr "задать ÑвойÑтва текущей транзакции" -#: sql_help.c:6183 +#: sql_help.c:6195 msgid "show the value of a run-time parameter" msgstr "показать значение параметра выполнениÑ" -#: sql_help.c:6201 +#: sql_help.c:6213 msgid "empty a table or set of tables" msgstr "опуÑтошить таблицу или набор таблиц" -#: sql_help.c:6207 +#: sql_help.c:6219 msgid "stop listening for a notification" msgstr "прекратить ожидание уведомлений" -#: sql_help.c:6213 +#: sql_help.c:6225 msgid "update rows of a table" msgstr "изменить Ñтроки таблицы" -#: sql_help.c:6219 +#: sql_help.c:6231 msgid "garbage-collect and optionally analyze a database" msgstr "произвеÑти Ñборку муÑора и проанализировать базу данных" -#: sql_help.c:6225 +#: sql_help.c:6237 msgid "compute a set of rows" msgstr "получить набор Ñтрок" diff --git a/src/bin/psql/sql_help.c b/src/bin/psql/sql_help.c index 4c5e883..e88cd28 100644 --- a/src/bin/psql/sql_help.c +++ b/src/bin/psql/sql_help.c @@ -162,7 +162,8 @@ sql_help_ALTER_DEFAULT_PRIVILEGES(PQExpBuffer buf) " ON TYPES\n" " TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n" "\n" - "GRANT { USAGE | CREATE | ALL [ PRIVILEGES ] }\n" + "GRANT { { USAGE | CREATE }\n" + " [, ...] | ALL [ PRIVILEGES ] }\n" " ON SCHEMAS\n" " TO { [ GROUP ] %s | PUBLIC } [, ...] [ WITH GRANT OPTION ]\n" "\n" @@ -193,7 +194,8 @@ sql_help_ALTER_DEFAULT_PRIVILEGES(PQExpBuffer buf) " [ CASCADE | RESTRICT ]\n" "\n" "REVOKE [ GRANT OPTION FOR ]\n" - " { USAGE | CREATE | ALL [ PRIVILEGES ] }\n" + " { { USAGE | CREATE }\n" + " [, ...] | ALL [ PRIVILEGES ] }\n" " ON SCHEMAS\n" " FROM { [ GROUP ] %s | PUBLIC } [, ...]\n" " [ CASCADE | RESTRICT ]", @@ -1299,7 +1301,7 @@ sql_help_ALTER_TABLE(PQExpBuffer buf) "\n" "%s\n" "\n" - "{ %s | ( %s ) } [ %s ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]\n" + "{ %s | ( %s ) } [ COLLATE %s ] [ %s [ ( %s = %s [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]\n" "\n" "%s\n" "\n" @@ -1425,7 +1427,10 @@ sql_help_ALTER_TABLE(PQExpBuffer buf) _("exclude_element in an EXCLUDE constraint is:"), _("column_name"), _("expression"), + _("collation"), _("opclass"), + _("opclass_parameter"), + _("value"), _("referential_action in a FOREIGN KEY/REFERENCES constraint is:"), _("column_name"), _("column_name")); @@ -2181,7 +2186,7 @@ sql_help_CREATE_DATABASE(PQExpBuffer buf) " [ WITH ] [ OWNER [=] %s ]\n" " [ TEMPLATE [=] %s ]\n" " [ ENCODING [=] %s ]\n" - " [ STRATEGY [=] %s ] ]\n" + " [ STRATEGY [=] %s ]\n" " [ LOCALE [=] %s ]\n" " [ LC_COLLATE [=] %s ]\n" " [ LC_CTYPE [=] %s ]\n" @@ -2877,7 +2882,7 @@ sql_help_CREATE_TABLE(PQExpBuffer buf) "\n" "%s\n" "\n" - "{ %s | ( %s ) } [ %s ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]\n" + "{ %s | ( %s ) } [ COLLATE %s ] [ %s [ ( %s = %s [, ... ] ) ] ] [ ASC | DESC ] [ NULLS { FIRST | LAST } ]\n" "\n" "%s\n" "\n" @@ -2971,7 +2976,10 @@ sql_help_CREATE_TABLE(PQExpBuffer buf) _("exclude_element in an EXCLUDE constraint is:"), _("column_name"), _("expression"), + _("collation"), _("opclass"), + _("opclass_parameter"), + _("value"), _("referential_action in a FOREIGN KEY/REFERENCES constraint is:"), _("column_name"), _("column_name")); @@ -4058,7 +4066,9 @@ sql_help_MERGE(PQExpBuffer buf) "%s\n" "\n" "UPDATE SET { %s = { %s | DEFAULT } |\n" - " ( %s [, ...] ) = ( { %s | DEFAULT } [, ...] ) } [, ...]\n" + " ( %s [, ...] ) = [ ROW ] ( { %s | DEFAULT } [, ...] ) |\n" + " ( %s [, ...] ) = ( %s )\n" + " } [, ...]\n" "\n" "%s\n" "\n" @@ -4087,6 +4097,8 @@ sql_help_MERGE(PQExpBuffer buf) _("expression"), _("column_name"), _("expression"), + _("column_name"), + _("sub-SELECT"), _("and merge_delete is:")); } @@ -4424,7 +4436,7 @@ sql_help_SECURITY_LABEL(PQExpBuffer buf) " DATABASE %s |\n" " DOMAIN %s |\n" " EVENT TRIGGER %s |\n" - " FOREIGN TABLE %s\n" + " FOREIGN TABLE %s |\n" " FUNCTION %s [ ( [ [ %s ] [ %s ] %s [, ...] ] ) ] |\n" " LARGE OBJECT %s |\n" " MATERIALIZED VIEW %s |\n" @@ -5157,7 +5169,7 @@ const struct _helpStruct QL_HELP[] = { N_("define default access privileges"), "sql-alterdefaultprivileges", sql_help_ALTER_DEFAULT_PRIVILEGES, - 59}, + 61}, {"ALTER DOMAIN", N_("change the definition of a domain"), @@ -6045,7 +6057,7 @@ const struct _helpStruct QL_HELP[] = { N_("conditionally insert, update, or delete rows of a table"), "sql-merge", sql_help_MERGE, - 27}, + 29}, {"MOVE", N_("position a cursor"), diff --git a/src/bin/scripts/createdb.c b/src/bin/scripts/createdb.c index a1482df..cbeef4f 100644 --- a/src/bin/scripts/createdb.c +++ b/src/bin/scripts/createdb.c @@ -225,7 +225,7 @@ main(int argc, char *argv[]) appendStringLiteralConn(&sql, lc_ctype, conn); } if (locale_provider) - appendPQExpBuffer(&sql, " LOCALE_PROVIDER %s", locale_provider); + appendPQExpBuffer(&sql, " LOCALE_PROVIDER %s", fmtId(locale_provider)); if (icu_locale) { appendPQExpBufferStr(&sql, " ICU_LOCALE "); diff --git a/src/bin/scripts/po/de.po b/src/bin/scripts/po/de.po index 7093aec..c99d8d3 100644 --- a/src/bin/scripts/po/de.po +++ b/src/bin/scripts/po/de.po @@ -134,7 +134,7 @@ msgstr "Kann keinen weiteren Spaltenkopf zur Tabelle hinzufügen: Spaltenzahl %d #: ../../fe_utils/print.c:3213 #, c-format msgid "Cannot add cell to table content: total cell count of %d exceeded.\n" -msgstr "Cann keine weitere Zelle zur Tabelle hinzufügen: Zellengesamtzahl %d überschritten.\n" +msgstr "Kann keine weitere Zelle zur Tabelle hinzufügen: Zellengesamtzahl %d überschritten.\n" #: ../../fe_utils/print.c:3471 #, c-format diff --git a/src/bin/scripts/t/020_createdb.pl b/src/bin/scripts/t/020_createdb.pl index 2e712f4..20984d7 100644 --- a/src/bin/scripts/t/020_createdb.pl +++ b/src/bin/scripts/t/020_createdb.pl @@ -154,8 +154,18 @@ $node->issues_sql_like( 'create database with WAL_LOG strategy'); $node->issues_sql_like( + [ 'createdb', '-T', 'foobar2', '-S', 'WAL_LOG', 'foobar6s' ], + qr/statement: CREATE DATABASE foobar6s STRATEGY "WAL_LOG" TEMPLATE foobar2/, + 'create database with WAL_LOG strategy'); + +$node->issues_sql_like( [ 'createdb', '-T', 'foobar2', '-S', 'file_copy', 'foobar7' ], qr/statement: CREATE DATABASE foobar7 STRATEGY file_copy TEMPLATE foobar2/, 'create database with FILE_COPY strategy'); +$node->issues_sql_like( + [ 'createdb', '-T', 'foobar2', '-S', 'FILE_COPY', 'foobar7s' ], + qr/statement: CREATE DATABASE foobar7s STRATEGY "FILE_COPY" TEMPLATE foobar2/, + 'create database with FILE_COPY strategy'); + done_testing(); diff --git a/src/include/access/tableam.h b/src/include/access/tableam.h index 5d0431a..6a7b4a5 100644 --- a/src/include/access/tableam.h +++ b/src/include/access/tableam.h @@ -601,8 +601,8 @@ typedef struct TableAmRoutine const RelFileNode *newrnode); /* See table_relation_copy_for_cluster() */ - void (*relation_copy_for_cluster) (Relation NewTable, - Relation OldTable, + void (*relation_copy_for_cluster) (Relation OldTable, + Relation NewTable, Relation OldIndex, bool use_sort, TransactionId OldestXmin, diff --git a/src/include/catalog/pg_opclass.dat b/src/include/catalog/pg_opclass.dat index dbcae7f..7a939d9 100644 --- a/src/include/catalog/pg_opclass.dat +++ b/src/include/catalog/pg_opclass.dat @@ -91,8 +91,11 @@ # Here's an ugly little hack to save space in the system catalog indexes. # btree doesn't ordinarily allow a storage type different from input type; # but cstring and name are the same thing except for trailing padding, -# and we can safely omit that within an index entry. So we declare the -# btree opclass for name as using cstring storage type. +# so we choose to omit that within an index entry. Here we declare the +# btree opclass for name as using cstring storage type. This does require +# that we pad the cstring out with the full NAMEDATALEN bytes when performing +# index-only scans. See corresponding hacks in ExecInitIndexOnlyScan() and +# StoreIndexTuple(). { opcmethod => 'btree', opcname => 'name_ops', opcfamily => 'btree/text_ops', opcintype => 'name', opckeytype => 'cstring' }, diff --git a/src/include/executor/functions.h b/src/include/executor/functions.h index 4c20cf4..fda7424 100644 --- a/src/include/executor/functions.h +++ b/src/include/executor/functions.h @@ -50,6 +50,12 @@ extern bool check_sql_fn_retval(List *queryTreeLists, bool insertDroppedCols, List **resultTargetList); +extern bool check_sql_fn_retval_ext(List *queryTreeLists, + Oid rettype, TupleDesc rettupdesc, + char prokind, + bool insertDroppedCols, + List **resultTargetList); + extern DestReceiver *CreateSQLFunctionDestReceiver(void); #endif /* FUNCTIONS_H */ diff --git a/src/include/lib/simplehash.h b/src/include/lib/simplehash.h index d95388d..5d5fa78 100644 --- a/src/include/lib/simplehash.h +++ b/src/include/lib/simplehash.h @@ -1101,6 +1101,9 @@ SH_STAT(SH_TYPE * tb) max_collisions = curcoll; } + /* large enough to be worth freeing, even if just used for debugging */ + pfree(collisions); + if (tb->members > 0) { fillfactor = tb->members / ((double) tb->size); diff --git a/src/include/nodes/execnodes.h b/src/include/nodes/execnodes.h index 9f176b0..8b4d382 100644 --- a/src/include/nodes/execnodes.h +++ b/src/include/nodes/execnodes.h @@ -1592,6 +1592,8 @@ typedef struct IndexScanState * TableSlot slot for holding tuples fetched from the table * VMBuffer buffer in use for visibility map testing, if any * PscanLen size of parallel index-only scan descriptor + * NameCStringAttNums attnums of name typed columns to pad to NAMEDATALEN + * NameCStringCount number of elements in the NameCStringAttNums array * ---------------- */ typedef struct IndexOnlyScanState @@ -1611,6 +1613,8 @@ typedef struct IndexOnlyScanState TupleTableSlot *ioss_TableSlot; Buffer ioss_VMBuffer; Size ioss_PscanLen; + AttrNumber *ioss_NameCStringAttNums; + int ioss_NameCStringCount; } IndexOnlyScanState; /* ---------------- diff --git a/src/include/storage/lmgr.h b/src/include/storage/lmgr.h index be1d2c9..2c0c1f3 100644 --- a/src/include/storage/lmgr.h +++ b/src/include/storage/lmgr.h @@ -93,6 +93,8 @@ extern void SpeculativeInsertionWait(TransactionId xid, uint32 token); /* Lock a general object (other than a relation) of the current database */ extern void LockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); +extern bool ConditionalLockDatabaseObject(Oid classid, Oid objid, + uint16 objsubid, LOCKMODE lockmode); extern void UnlockDatabaseObject(Oid classid, Oid objid, uint16 objsubid, LOCKMODE lockmode); diff --git a/src/interfaces/ecpg/compatlib/informix.c b/src/interfaces/ecpg/compatlib/informix.c index dccf395..80d40aa 100644 --- a/src/interfaces/ecpg/compatlib/informix.c +++ b/src/interfaces/ecpg/compatlib/informix.c @@ -654,7 +654,7 @@ intoasc(interval * i, char *str) if (!tmp) return -errno; - memcpy(str, tmp, strlen(tmp)); + strcpy(str, tmp); free(tmp); return 0; } diff --git a/src/interfaces/ecpg/ecpglib/misc.c b/src/interfaces/ecpg/ecpglib/misc.c index 1eef1ec..b2c822d 100644 --- a/src/interfaces/ecpg/ecpglib/misc.c +++ b/src/interfaces/ecpg/ecpglib/misc.c @@ -453,17 +453,38 @@ ECPGis_noind_null(enum ECPGttype type, const void *ptr) #ifdef WIN32 #ifdef ENABLE_THREAD_SAFETY -void -win32_pthread_mutex(volatile pthread_mutex_t *mutex) +int +pthread_mutex_init(pthread_mutex_t *mp, void *attr) +{ + mp->initstate = 0; + return 0; +} + +int +pthread_mutex_lock(pthread_mutex_t *mp) { - if (mutex->handle == NULL) + /* Initialize the csection if not already done */ + if (mp->initstate != 1) { - while (InterlockedExchange((LONG *) &mutex->initlock, 1) == 1) - Sleep(0); - if (mutex->handle == NULL) - mutex->handle = CreateMutex(NULL, FALSE, NULL); - InterlockedExchange((LONG *) &mutex->initlock, 0); + LONG istate; + + while ((istate = InterlockedExchange(&mp->initstate, 2)) == 2) + Sleep(0); /* wait, another thread is doing this */ + if (istate != 1) + InitializeCriticalSection(&mp->csection); + InterlockedExchange(&mp->initstate, 1); } + EnterCriticalSection(&mp->csection); + return 0; +} + +int +pthread_mutex_unlock(pthread_mutex_t *mp) +{ + if (mp->initstate != 1) + return EINVAL; + LeaveCriticalSection(&mp->csection); + return 0; } static pthread_mutex_t win32_pthread_once_lock = PTHREAD_MUTEX_INITIALIZER; @@ -491,13 +512,14 @@ char * ecpg_gettext(const char *msgid) { /* - * If multiple threads come through here at about the same time, it's okay - * for more than one of them to call bindtextdomain(). But it's not okay - * for any of them to reach dgettext() before bindtextdomain() is - * complete, so don't set the flag till that's done. Use "volatile" just - * to be sure the compiler doesn't try to get cute. + * At least on Windows, there are gettext implementations that fail if + * multiple threads call bindtextdomain() concurrently. Use a mutex and + * flag variable to ensure that we call it just once per process. It is + * not known that similar bugs exist on non-Windows platforms, but we + * might as well do it the same way everywhere. */ static volatile bool already_bound = false; + static pthread_mutex_t binddomain_mutex = PTHREAD_MUTEX_INITIALIZER; if (!already_bound) { @@ -507,14 +529,26 @@ ecpg_gettext(const char *msgid) #else int save_errno = errno; #endif - const char *ldir; - - /* No relocatable lookup here because the binary could be anywhere */ - ldir = getenv("PGLOCALEDIR"); - if (!ldir) - ldir = LOCALEDIR; - bindtextdomain(PG_TEXTDOMAIN("ecpglib"), ldir); - already_bound = true; + + (void) pthread_mutex_lock(&binddomain_mutex); + + if (!already_bound) + { + const char *ldir; + + /* + * No relocatable lookup here because the calling executable could + * be anywhere + */ + ldir = getenv("PGLOCALEDIR"); + if (!ldir) + ldir = LOCALEDIR; + bindtextdomain(PG_TEXTDOMAIN("ecpglib"), ldir); + already_bound = true; + } + + (void) pthread_mutex_unlock(&binddomain_mutex); + #ifdef WIN32 SetLastError(save_errno); #else diff --git a/src/interfaces/ecpg/include/ecpg-pthread-win32.h b/src/interfaces/ecpg/include/ecpg-pthread-win32.h index 33c897b..2782e49 100644 --- a/src/interfaces/ecpg/include/ecpg-pthread-win32.h +++ b/src/interfaces/ecpg/include/ecpg-pthread-win32.h @@ -14,28 +14,22 @@ typedef struct pthread_mutex_t { - HANDLE handle; - LONG initlock; + /* initstate = 0: not initialized; 1: init done; 2: init in progress */ + LONG initstate; + CRITICAL_SECTION csection; } pthread_mutex_t; typedef DWORD pthread_key_t; typedef bool pthread_once_t; -#define PTHREAD_MUTEX_INITIALIZER { NULL, 0 } +#define PTHREAD_MUTEX_INITIALIZER { 0 } #define PTHREAD_ONCE_INIT false -void win32_pthread_mutex(volatile pthread_mutex_t *mutex); -void win32_pthread_once(volatile pthread_once_t *once, void (*fn) (void)); +int pthread_mutex_init(pthread_mutex_t *, void *attr); +int pthread_mutex_lock(pthread_mutex_t *); +int pthread_mutex_unlock(pthread_mutex_t *); -#define pthread_mutex_lock(mutex) \ - do { \ - if ((mutex)->handle == NULL) \ - win32_pthread_mutex((mutex)); \ - WaitForSingleObject((mutex)->handle, INFINITE); \ - } while(0) - -#define pthread_mutex_unlock(mutex) \ - ReleaseMutex((mutex)->handle) +void win32_pthread_once(volatile pthread_once_t *once, void (*fn) (void)); #define pthread_getspecific(key) \ TlsGetValue((key)) diff --git a/src/interfaces/ecpg/preproc/ecpg.c b/src/interfaces/ecpg/preproc/ecpg.c index 6fff9e7..814ff34 100644 --- a/src/interfaces/ecpg/preproc/ecpg.c +++ b/src/interfaces/ecpg/preproc/ecpg.c @@ -82,35 +82,46 @@ add_include_path(char *path) } } +/* + * Process a command line -D switch + */ static void add_preprocessor_define(char *define) { - struct _defines *pd = defines; - char *ptr, - *define_copy = mm_strdup(define); + /* copy the argument to avoid relying on argv storage */ + char *define_copy = mm_strdup(define); + char *ptr; + struct _defines *newdef; - defines = mm_alloc(sizeof(struct _defines)); + newdef = mm_alloc(sizeof(struct _defines)); /* look for = sign */ ptr = strchr(define_copy, '='); if (ptr != NULL) { + /* symbol has a value */ char *tmp; - /* symbol has a value */ - for (tmp = ptr - 1; *tmp == ' '; tmp--); + /* strip any spaces between name and '=' */ + for (tmp = ptr - 1; tmp >= define_copy && *tmp == ' '; tmp--); tmp[1] = '\0'; - defines->olddef = define_copy; - defines->newdef = ptr + 1; + + /* + * Note we don't bother to separately malloc cmdvalue; it will never + * be freed so that's not necessary. + */ + newdef->cmdvalue = ptr + 1; } else { - defines->olddef = define_copy; - defines->newdef = mm_strdup("1"); + /* define it as "1"; again no need to malloc it */ + newdef->cmdvalue = "1"; } - defines->pertinent = true; - defines->used = NULL; - defines->next = pd; + newdef->name = define_copy; + newdef->value = mm_strdup(newdef->cmdvalue); + newdef->used = NULL; + newdef->next = defines; + defines = newdef; } #define ECPG_GETOPT_LONG_REGRESSION 1 @@ -347,6 +358,8 @@ main(int argc, char *const argv[]) { struct cursor *ptr; struct _defines *defptr; + struct _defines *prevdefptr; + struct _defines *nextdefptr; struct typedefs *typeptr; struct declared_list *list; @@ -384,28 +397,28 @@ main(int argc, char *const argv[]) free(this); } - /* remove non-pertinent old defines as well */ - while (defines && !defines->pertinent) + /* restore defines to their command-line state */ + prevdefptr = NULL; + for (defptr = defines; defptr != NULL; defptr = nextdefptr) { - defptr = defines; - defines = defines->next; - - free(defptr->newdef); - free(defptr->olddef); - free(defptr); - } - - for (defptr = defines; defptr != NULL; defptr = defptr->next) - { - struct _defines *this = defptr->next; - - if (this && !this->pertinent) + nextdefptr = defptr->next; + if (defptr->cmdvalue != NULL) { - defptr->next = this->next; - - free(this->newdef); - free(this->olddef); - free(this); + /* keep it, resetting the value */ + free(defptr->value); + defptr->value = mm_strdup(defptr->cmdvalue); + prevdefptr = defptr; + } + else + { + /* remove it */ + if (prevdefptr != NULL) + prevdefptr->next = nextdefptr; + else + defines = nextdefptr; + free(defptr->name); + free(defptr->value); + free(defptr); } } diff --git a/src/interfaces/ecpg/preproc/parse.pl b/src/interfaces/ecpg/preproc/parse.pl index dee6b82..468e5be 100644 --- a/src/interfaces/ecpg/preproc/parse.pl +++ b/src/interfaces/ecpg/preproc/parse.pl @@ -24,7 +24,8 @@ my $brace_indent = 0; my $yaccmode = 0; my $in_rule = 0; my $header_included = 0; -my $feature_not_supported = 0; +my $has_feature_not_supported = 0; +my $has_if_command = 0; my $tokenmode = 0; my (%buff, $infield, $comment, %tokens, %addons); @@ -136,12 +137,6 @@ sub main { line: while (<>) { - if (/ERRCODE_FEATURE_NOT_SUPPORTED/) - { - $feature_not_supported = 1; - next line; - } - chomp; # comment out the line below to make the result file match (blank line wise) @@ -167,6 +162,13 @@ sub main $infield = 0; } + if ($yaccmode == 1) + { + # Check for rules that throw FEATURE_NOT_SUPPORTED + $has_feature_not_supported = 1 if /ERRCODE_FEATURE_NOT_SUPPORTED/; + $has_if_command = 1 if /^\s*if/; + } + my $prec = 0; # Make sure any braces are split @@ -512,20 +514,17 @@ sub dump_fields #Normal add_to_buffer('rules', $ln); - if ($feature_not_supported == 1) + if ($has_feature_not_supported and not $has_if_command) { - - # we found an unsupported feature, but we have to - # filter out ExecuteStmt: CREATE OptTemp TABLE ... - # because the warning there is only valid in some situations - if ($flds->[0] ne 'create' || $flds->[2] ne 'table') - { - add_to_buffer('rules', - 'mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server");' - ); - } - $feature_not_supported = 0; + # The backend unconditionally reports + # FEATURE_NOT_SUPPORTED in this rule, so let's emit + # a warning on the ecpg side. + add_to_buffer('rules', + 'mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server");' + ); } + $has_feature_not_supported = 0; + $has_if_command = 0; if ($len == 0) { diff --git a/src/interfaces/ecpg/preproc/pgc.c b/src/interfaces/ecpg/preproc/pgc.c index 4c674ec..2bb890d 100644 --- a/src/interfaces/ecpg/preproc/pgc.c +++ b/src/interfaces/ecpg/preproc/pgc.c @@ -1633,7 +1633,14 @@ char *token_start; static int state_before_str_start; static int state_before_str_stop; -struct _yy_buffer +/* + * State for handling include files and macro expansion. We use a new + * flex input buffer for each level of include or macro, and create a + * struct _yy_buffer to remember the previous level. There is not a struct + * for the currently active input source; that state is kept in the global + * variables YY_CURRENT_BUFFER, yylineno, and input_filename. + */ +static struct _yy_buffer { YY_BUFFER_STATE buffer; long lineno; @@ -1641,8 +1648,6 @@ struct _yy_buffer struct _yy_buffer *next; } *yy_buffer = NULL; -static char *old; - /* * Vars for handling ifdef/elif/endif constructs. preproc_tos is the current * nesting depth of such constructs, and stacked_if_value[preproc_tos] is the @@ -1668,7 +1673,7 @@ static struct _if_value bool else_branch; } stacked_if_value[MAX_NESTED_IF]; -#line 1672 "pgc.c" +#line 1677 "pgc.c" #define YY_NO_INPUT 1 /* * OK, here is a short description of lex/flex rules behavior. @@ -1830,7 +1835,7 @@ static struct _if_value /* and then the other commands starting with "i", we have to add these * separately because the cppline production would match on "include" too */ -#line 1834 "pgc.c" +#line 1839 "pgc.c" #define INITIAL 0 #define xb 1 @@ -2068,16 +2073,18 @@ YY_DECL } { -#line 431 "pgc.l" +#line 436 "pgc.l" -#line 435 "pgc.l" +#line 440 "pgc.l" /* code to execute during start of each call of yylex() */ + char *newdefsymbol = NULL; + token_start = NULL; -#line 2081 "pgc.c" +#line 2088 "pgc.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -2143,7 +2150,7 @@ do_action: /* This label is used only to access EOF actions. */ case 1: /* rule 1 can match eol */ YY_RULE_SETUP -#line 440 "pgc.l" +#line 447 "pgc.l" { /* ignore */ } @@ -2152,7 +2159,7 @@ YY_RULE_SETUP case 2: YY_RULE_SETUP -#line 446 "pgc.l" +#line 453 "pgc.l" { token_start = yytext; state_before_str_start = YYSTATE; @@ -2167,7 +2174,7 @@ YY_RULE_SETUP case 3: YY_RULE_SETUP -#line 458 "pgc.l" +#line 465 "pgc.l" { if (state_before_str_start == SQL) { @@ -2184,7 +2191,7 @@ YY_RULE_SETUP YY_BREAK case 4: YY_RULE_SETUP -#line 472 "pgc.l" +#line 479 "pgc.l" { if (state_before_str_start == SQL) { @@ -2211,27 +2218,27 @@ YY_RULE_SETUP case 5: /* rule 5 can match eol */ YY_RULE_SETUP -#line 495 "pgc.l" +#line 502 "pgc.l" { ECHO; } YY_BREAK case 6: YY_RULE_SETUP -#line 499 "pgc.l" +#line 506 "pgc.l" { ECHO; } YY_BREAK case 7: YY_RULE_SETUP -#line 503 "pgc.l" +#line 510 "pgc.l" { ECHO; } YY_BREAK case YY_STATE_EOF(xc): -#line 507 "pgc.l" +#line 514 "pgc.l" { mmfatal(PARSE_ERROR, "unterminated /* comment"); } @@ -2240,7 +2247,7 @@ case YY_STATE_EOF(xc): case 8: YY_RULE_SETUP -#line 513 "pgc.l" +#line 520 "pgc.l" { token_start = yytext; state_before_str_start = YYSTATE; @@ -2251,22 +2258,22 @@ YY_RULE_SETUP /* <SQL> */ case 9: /* rule 9 can match eol */ -#line 522 "pgc.l" +#line 529 "pgc.l" case 10: /* rule 10 can match eol */ YY_RULE_SETUP -#line 522 "pgc.l" +#line 529 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case YY_STATE_EOF(xb): -#line 525 "pgc.l" +#line 532 "pgc.l" { mmfatal(PARSE_ERROR, "unterminated bit string literal"); } YY_BREAK case 11: YY_RULE_SETUP -#line 527 "pgc.l" +#line 534 "pgc.l" { token_start = yytext; state_before_str_start = YYSTATE; @@ -2275,12 +2282,12 @@ YY_RULE_SETUP } YY_BREAK case YY_STATE_EOF(xh): -#line 533 "pgc.l" +#line 540 "pgc.l" { mmfatal(PARSE_ERROR, "unterminated hexadecimal string literal"); } YY_BREAK case 12: YY_RULE_SETUP -#line 535 "pgc.l" +#line 542 "pgc.l" { token_start = yytext; state_before_str_start = YYSTATE; @@ -2291,7 +2298,7 @@ YY_RULE_SETUP case 13: YY_RULE_SETUP -#line 543 "pgc.l" +#line 550 "pgc.l" { /* National character. * Transfer it as-is to the backend. @@ -2304,7 +2311,7 @@ YY_RULE_SETUP YY_BREAK case 14: YY_RULE_SETUP -#line 553 "pgc.l" +#line 560 "pgc.l" { token_start = yytext; state_before_str_start = YYSTATE; @@ -2314,7 +2321,7 @@ YY_RULE_SETUP YY_BREAK case 15: YY_RULE_SETUP -#line 559 "pgc.l" +#line 566 "pgc.l" { token_start = yytext; state_before_str_start = YYSTATE; @@ -2324,7 +2331,7 @@ YY_RULE_SETUP YY_BREAK case 16: YY_RULE_SETUP -#line 565 "pgc.l" +#line 572 "pgc.l" { token_start = yytext; state_before_str_start = YYSTATE; @@ -2335,7 +2342,7 @@ YY_RULE_SETUP /* <SQL> */ case 17: YY_RULE_SETUP -#line 573 "pgc.l" +#line 580 "pgc.l" { /* * When we are scanning a quoted string and see an end @@ -2352,7 +2359,7 @@ YY_RULE_SETUP case 18: /* rule 18 can match eol */ YY_RULE_SETUP -#line 585 "pgc.l" +#line 592 "pgc.l" { /* * Found a quote continuation, so return to the in-quote @@ -2364,13 +2371,13 @@ YY_RULE_SETUP YY_BREAK case 19: /* rule 19 can match eol */ -#line 594 "pgc.l" +#line 601 "pgc.l" case 20: /* rule 20 can match eol */ -#line 595 "pgc.l" +#line 602 "pgc.l" YY_RULE_SETUP case YY_STATE_EOF(xqs): -#line 595 "pgc.l" +#line 602 "pgc.l" { /* * Failed to see a quote continuation. Throw back @@ -2413,31 +2420,31 @@ case YY_STATE_EOF(xqs): YY_BREAK case 21: YY_RULE_SETUP -#line 635 "pgc.l" +#line 642 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 22: YY_RULE_SETUP -#line 636 "pgc.l" +#line 643 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 23: /* rule 23 can match eol */ YY_RULE_SETUP -#line 637 "pgc.l" +#line 644 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 24: /* rule 24 can match eol */ YY_RULE_SETUP -#line 638 "pgc.l" +#line 645 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 25: YY_RULE_SETUP -#line 641 "pgc.l" +#line 648 "pgc.l" { addlit(yytext, yyleng); } @@ -2445,28 +2452,28 @@ YY_RULE_SETUP case 26: /* rule 26 can match eol */ YY_RULE_SETUP -#line 644 "pgc.l" +#line 651 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 27: YY_RULE_SETUP -#line 647 "pgc.l" +#line 654 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 28: YY_RULE_SETUP -#line 650 "pgc.l" +#line 657 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 29: YY_RULE_SETUP -#line 653 "pgc.l" +#line 660 "pgc.l" { /* This is only needed for \ just before EOF */ addlitchar(yytext[0]); @@ -2477,13 +2484,13 @@ case YY_STATE_EOF(xqc): case YY_STATE_EOF(xe): case YY_STATE_EOF(xn): case YY_STATE_EOF(xus): -#line 657 "pgc.l" +#line 664 "pgc.l" { mmfatal(PARSE_ERROR, "unterminated quoted string"); } YY_BREAK case 30: YY_RULE_SETUP -#line 660 "pgc.l" +#line 667 "pgc.l" { token_start = yytext; if (dolqstart) @@ -2496,7 +2503,7 @@ YY_RULE_SETUP YY_BREAK case 31: YY_RULE_SETUP -#line 669 "pgc.l" +#line 676 "pgc.l" { /* throw back all but the initial "$" */ yyless(1); @@ -2507,7 +2514,7 @@ YY_RULE_SETUP /* <SQL> */ case 32: YY_RULE_SETUP -#line 677 "pgc.l" +#line 684 "pgc.l" { if (strcmp(yytext, dolqstart) == 0) { @@ -2533,34 +2540,34 @@ YY_RULE_SETUP case 33: /* rule 33 can match eol */ YY_RULE_SETUP -#line 698 "pgc.l" +#line 705 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 34: YY_RULE_SETUP -#line 701 "pgc.l" +#line 708 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 35: YY_RULE_SETUP -#line 704 "pgc.l" +#line 711 "pgc.l" { /* single quote or dollar sign */ addlitchar(yytext[0]); } YY_BREAK case YY_STATE_EOF(xdolq): -#line 708 "pgc.l" +#line 715 "pgc.l" { mmfatal(PARSE_ERROR, "unterminated dollar-quoted string"); } YY_BREAK case 36: YY_RULE_SETUP -#line 711 "pgc.l" +#line 718 "pgc.l" { state_before_str_start = YYSTATE; BEGIN(xd); @@ -2569,7 +2576,7 @@ YY_RULE_SETUP YY_BREAK case 37: YY_RULE_SETUP -#line 716 "pgc.l" +#line 723 "pgc.l" { state_before_str_start = YYSTATE; BEGIN(xui); @@ -2579,7 +2586,7 @@ YY_RULE_SETUP /* <SQL> */ case 38: YY_RULE_SETUP -#line 723 "pgc.l" +#line 730 "pgc.l" { BEGIN(state_before_str_start); if (literallen == 0) @@ -2598,7 +2605,7 @@ YY_RULE_SETUP YY_BREAK case 39: YY_RULE_SETUP -#line 738 "pgc.l" +#line 745 "pgc.l" { BEGIN(state_before_str_start); base_yylval.str = mm_strdup(literalbuf); @@ -2607,7 +2614,7 @@ YY_RULE_SETUP YY_BREAK case 40: YY_RULE_SETUP -#line 743 "pgc.l" +#line 750 "pgc.l" { BEGIN(state_before_str_start); if (literallen == 0) @@ -2619,7 +2626,7 @@ YY_RULE_SETUP YY_BREAK case 41: YY_RULE_SETUP -#line 751 "pgc.l" +#line 758 "pgc.l" { addlit(yytext, yyleng); } @@ -2627,19 +2634,19 @@ YY_RULE_SETUP case 42: /* rule 42 can match eol */ YY_RULE_SETUP -#line 754 "pgc.l" +#line 761 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case YY_STATE_EOF(xd): case YY_STATE_EOF(xui): -#line 757 "pgc.l" +#line 764 "pgc.l" { mmfatal(PARSE_ERROR, "unterminated quoted identifier"); } YY_BREAK case 43: YY_RULE_SETUP -#line 758 "pgc.l" +#line 765 "pgc.l" { state_before_str_start = YYSTATE; BEGIN(xdc); @@ -2649,61 +2656,61 @@ YY_RULE_SETUP case 44: /* rule 44 can match eol */ YY_RULE_SETUP -#line 763 "pgc.l" +#line 770 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case YY_STATE_EOF(xdc): -#line 766 "pgc.l" +#line 773 "pgc.l" { mmfatal(PARSE_ERROR, "unterminated quoted string"); } YY_BREAK case 45: YY_RULE_SETUP -#line 769 "pgc.l" +#line 776 "pgc.l" { return TYPECAST; } YY_BREAK case 46: YY_RULE_SETUP -#line 773 "pgc.l" +#line 780 "pgc.l" { return DOT_DOT; } YY_BREAK case 47: YY_RULE_SETUP -#line 777 "pgc.l" +#line 784 "pgc.l" { return COLON_EQUALS; } YY_BREAK case 48: YY_RULE_SETUP -#line 781 "pgc.l" +#line 788 "pgc.l" { return EQUALS_GREATER; } YY_BREAK case 49: YY_RULE_SETUP -#line 785 "pgc.l" +#line 792 "pgc.l" { return LESS_EQUALS; } YY_BREAK case 50: YY_RULE_SETUP -#line 789 "pgc.l" +#line 796 "pgc.l" { return GREATER_EQUALS; } YY_BREAK case 51: YY_RULE_SETUP -#line 793 "pgc.l" +#line 800 "pgc.l" { /* We accept both "<>" and "!=" as meaning NOT_EQUALS */ return NOT_EQUALS; @@ -2711,7 +2718,7 @@ YY_RULE_SETUP YY_BREAK case 52: YY_RULE_SETUP -#line 798 "pgc.l" +#line 805 "pgc.l" { /* We accept both "<>" and "!=" as meaning NOT_EQUALS */ return NOT_EQUALS; @@ -2719,7 +2726,7 @@ YY_RULE_SETUP YY_BREAK case 53: YY_RULE_SETUP -#line 803 "pgc.l" +#line 810 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -2732,7 +2739,7 @@ YY_RULE_SETUP YY_BREAK case 54: YY_RULE_SETUP -#line 813 "pgc.l" +#line 820 "pgc.l" { /* * We may find a ';' inside a structure @@ -2746,7 +2753,7 @@ YY_RULE_SETUP YY_BREAK case 55: YY_RULE_SETUP -#line 824 "pgc.l" +#line 831 "pgc.l" { /* * Check for embedded slash-star or dash-dash; those @@ -2846,7 +2853,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 921 "pgc.l" +#line 928 "pgc.l" { base_yylval.ival = atol(yytext+1); return PARAM; @@ -2854,14 +2861,14 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 925 "pgc.l" +#line 932 "pgc.l" { mmfatal(PARSE_ERROR, "trailing junk after parameter"); } YY_BREAK case 58: YY_RULE_SETUP -#line 929 "pgc.l" +#line 936 "pgc.l" { base_yylval.str = mm_strdup(yytext); return IP; @@ -2871,14 +2878,14 @@ YY_RULE_SETUP case 59: YY_RULE_SETUP -#line 936 "pgc.l" +#line 943 "pgc.l" { return process_integer_literal(yytext, &base_yylval); } YY_BREAK case 60: YY_RULE_SETUP -#line 939 "pgc.l" +#line 946 "pgc.l" { base_yylval.str = mm_strdup(yytext); return FCONST; @@ -2886,7 +2893,7 @@ YY_RULE_SETUP YY_BREAK case 61: YY_RULE_SETUP -#line 943 "pgc.l" +#line 950 "pgc.l" { /* throw back the .., and treat as integer */ yyless(yyleng - 2); @@ -2895,7 +2902,7 @@ YY_RULE_SETUP YY_BREAK case 62: YY_RULE_SETUP -#line 948 "pgc.l" +#line 955 "pgc.l" { base_yylval.str = mm_strdup(yytext); return FCONST; @@ -2903,7 +2910,7 @@ YY_RULE_SETUP YY_BREAK case 63: YY_RULE_SETUP -#line 952 "pgc.l" +#line 959 "pgc.l" { /* * throw back the [Ee][+-], and figure out whether what @@ -2921,21 +2928,21 @@ YY_RULE_SETUP */ case 64: YY_RULE_SETUP -#line 967 "pgc.l" +#line 974 "pgc.l" { mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); } YY_BREAK case 65: YY_RULE_SETUP -#line 970 "pgc.l" +#line 977 "pgc.l" { mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); } YY_BREAK case 66: YY_RULE_SETUP -#line 973 "pgc.l" +#line 980 "pgc.l" { mmfatal(PARSE_ERROR, "trailing junk after numeric literal"); } @@ -2943,7 +2950,7 @@ YY_RULE_SETUP case 67: /* rule 67 can match eol */ YY_RULE_SETUP -#line 977 "pgc.l" +#line 984 "pgc.l" { base_yylval.str = mm_strdup(yytext+1); return CVARIABLE; @@ -2951,8 +2958,9 @@ YY_RULE_SETUP YY_BREAK case 68: YY_RULE_SETUP -#line 982 "pgc.l" +#line 989 "pgc.l" { + /* First check to see if it's a define symbol to expand */ if (!isdefine()) { int kwvalue; @@ -2982,7 +2990,7 @@ YY_RULE_SETUP YY_BREAK case 69: YY_RULE_SETUP -#line 1010 "pgc.l" +#line 1018 "pgc.l" { return yytext[0]; } @@ -2994,12 +3002,12 @@ YY_RULE_SETUP case 70: /* rule 70 can match eol */ YY_RULE_SETUP -#line 1019 "pgc.l" +#line 1027 "pgc.l" { BEGIN(SQL); return SQL_START; } YY_BREAK case 71: YY_RULE_SETUP -#line 1020 "pgc.l" +#line 1028 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3014,12 +3022,12 @@ YY_RULE_SETUP case 72: /* rule 72 can match eol */ YY_RULE_SETUP -#line 1030 "pgc.l" +#line 1038 "pgc.l" { ECHO; } YY_BREAK case 73: YY_RULE_SETUP -#line 1031 "pgc.l" +#line 1039 "pgc.l" { char* endptr; @@ -3037,7 +3045,7 @@ YY_RULE_SETUP case 74: /* rule 74 can match eol */ YY_RULE_SETUP -#line 1044 "pgc.l" +#line 1052 "pgc.l" { if (system_includes) { @@ -3054,7 +3062,7 @@ YY_RULE_SETUP case 75: /* rule 75 can match eol */ YY_RULE_SETUP -#line 1056 "pgc.l" +#line 1064 "pgc.l" { if (system_includes) { @@ -3071,7 +3079,7 @@ YY_RULE_SETUP case 76: /* rule 76 can match eol */ YY_RULE_SETUP -#line 1068 "pgc.l" +#line 1076 "pgc.l" { base_yylval.str = mm_strdup(yytext); return CPP_LINE; @@ -3079,7 +3087,7 @@ YY_RULE_SETUP YY_BREAK case 77: YY_RULE_SETUP -#line 1072 "pgc.l" +#line 1080 "pgc.l" { /* * Try to detect a function name: @@ -3111,185 +3119,185 @@ YY_RULE_SETUP YY_BREAK case 78: YY_RULE_SETUP -#line 1100 "pgc.l" +#line 1108 "pgc.l" { mmerror(PARSE_ERROR, ET_ERROR, "nested /* ... */ comments"); } YY_BREAK case 79: YY_RULE_SETUP -#line 1101 "pgc.l" +#line 1109 "pgc.l" { return ':'; } YY_BREAK case 80: YY_RULE_SETUP -#line 1102 "pgc.l" +#line 1110 "pgc.l" { return ';'; } YY_BREAK case 81: YY_RULE_SETUP -#line 1103 "pgc.l" +#line 1111 "pgc.l" { return ','; } YY_BREAK case 82: YY_RULE_SETUP -#line 1104 "pgc.l" +#line 1112 "pgc.l" { return '*'; } YY_BREAK case 83: YY_RULE_SETUP -#line 1105 "pgc.l" +#line 1113 "pgc.l" { return '%'; } YY_BREAK case 84: YY_RULE_SETUP -#line 1106 "pgc.l" +#line 1114 "pgc.l" { return '/'; } YY_BREAK case 85: YY_RULE_SETUP -#line 1107 "pgc.l" +#line 1115 "pgc.l" { return '+'; } YY_BREAK case 86: YY_RULE_SETUP -#line 1108 "pgc.l" +#line 1116 "pgc.l" { return '-'; } YY_BREAK case 87: YY_RULE_SETUP -#line 1109 "pgc.l" +#line 1117 "pgc.l" { parenths_open++; return '('; } YY_BREAK case 88: YY_RULE_SETUP -#line 1110 "pgc.l" +#line 1118 "pgc.l" { parenths_open--; return ')'; } YY_BREAK case 89: /* rule 89 can match eol */ YY_RULE_SETUP -#line 1111 "pgc.l" +#line 1119 "pgc.l" { ECHO; } YY_BREAK case 90: YY_RULE_SETUP -#line 1112 "pgc.l" +#line 1120 "pgc.l" { return '{'; } YY_BREAK case 91: YY_RULE_SETUP -#line 1113 "pgc.l" +#line 1121 "pgc.l" { return '}'; } YY_BREAK case 92: YY_RULE_SETUP -#line 1114 "pgc.l" +#line 1122 "pgc.l" { return '['; } YY_BREAK case 93: YY_RULE_SETUP -#line 1115 "pgc.l" +#line 1123 "pgc.l" { return ']'; } YY_BREAK case 94: YY_RULE_SETUP -#line 1116 "pgc.l" +#line 1124 "pgc.l" { return '='; } YY_BREAK case 95: YY_RULE_SETUP -#line 1117 "pgc.l" +#line 1125 "pgc.l" { return S_MEMBER; } YY_BREAK case 96: YY_RULE_SETUP -#line 1118 "pgc.l" +#line 1126 "pgc.l" { return S_RSHIFT; } YY_BREAK case 97: YY_RULE_SETUP -#line 1119 "pgc.l" +#line 1127 "pgc.l" { return S_LSHIFT; } YY_BREAK case 98: YY_RULE_SETUP -#line 1120 "pgc.l" +#line 1128 "pgc.l" { return S_OR; } YY_BREAK case 99: YY_RULE_SETUP -#line 1121 "pgc.l" +#line 1129 "pgc.l" { return S_AND; } YY_BREAK case 100: YY_RULE_SETUP -#line 1122 "pgc.l" +#line 1130 "pgc.l" { return S_INC; } YY_BREAK case 101: YY_RULE_SETUP -#line 1123 "pgc.l" +#line 1131 "pgc.l" { return S_DEC; } YY_BREAK case 102: YY_RULE_SETUP -#line 1124 "pgc.l" +#line 1132 "pgc.l" { return S_EQUAL; } YY_BREAK case 103: YY_RULE_SETUP -#line 1125 "pgc.l" +#line 1133 "pgc.l" { return S_NEQUAL; } YY_BREAK case 104: YY_RULE_SETUP -#line 1126 "pgc.l" +#line 1134 "pgc.l" { return S_ADD; } YY_BREAK case 105: YY_RULE_SETUP -#line 1127 "pgc.l" +#line 1135 "pgc.l" { return S_SUB; } YY_BREAK case 106: YY_RULE_SETUP -#line 1128 "pgc.l" +#line 1136 "pgc.l" { return S_MUL; } YY_BREAK case 107: YY_RULE_SETUP -#line 1129 "pgc.l" +#line 1137 "pgc.l" { return S_DIV; } YY_BREAK case 108: YY_RULE_SETUP -#line 1130 "pgc.l" +#line 1138 "pgc.l" { return S_MOD; } YY_BREAK case 109: YY_RULE_SETUP -#line 1131 "pgc.l" +#line 1139 "pgc.l" { return S_MEMPOINT; } YY_BREAK case 110: YY_RULE_SETUP -#line 1132 "pgc.l" +#line 1140 "pgc.l" { return S_DOTPOINT; } YY_BREAK case 111: YY_RULE_SETUP -#line 1133 "pgc.l" +#line 1141 "pgc.l" { return S_ANYTHING; } YY_BREAK case 112: /* rule 112 can match eol */ YY_RULE_SETUP -#line 1134 "pgc.l" +#line 1142 "pgc.l" { BEGIN(def_ident); } YY_BREAK case 113: /* rule 113 can match eol */ YY_RULE_SETUP -#line 1135 "pgc.l" +#line 1143 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3306,13 +3314,13 @@ YY_RULE_SETUP case 114: /* rule 114 can match eol */ YY_RULE_SETUP -#line 1147 "pgc.l" +#line 1155 "pgc.l" { BEGIN(undef); } YY_BREAK case 115: /* rule 115 can match eol */ YY_RULE_SETUP -#line 1148 "pgc.l" +#line 1156 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3329,7 +3337,7 @@ YY_RULE_SETUP case 116: /* rule 116 can match eol */ YY_RULE_SETUP -#line 1160 "pgc.l" +#line 1168 "pgc.l" { struct _defines *ptr, *ptr2 = NULL; int i; @@ -3345,17 +3353,23 @@ YY_RULE_SETUP yytext[i+1] = '\0'; - for (ptr = defines; ptr != NULL; ptr2 = ptr, ptr = ptr->next) + /* Find and unset any matching define; should be only 1 */ + for (ptr = defines; ptr; ptr2 = ptr, ptr = ptr->next) { - if (strcmp(yytext, ptr->olddef) == 0) + if (strcmp(yytext, ptr->name) == 0) { - if (ptr2 == NULL) - defines = ptr->next; - else - ptr2->next = ptr->next; - free(ptr->newdef); - free(ptr->olddef); - free(ptr); + free(ptr->value); + ptr->value = NULL; + /* We cannot forget it if there's a cmdvalue */ + if (ptr->cmdvalue == NULL) + { + if (ptr2 == NULL) + defines = ptr->next; + else + ptr2->next = ptr->next; + free(ptr->name); + free(ptr); + } break; } } @@ -3366,7 +3380,7 @@ YY_RULE_SETUP case 117: /* rule 117 can match eol */ YY_RULE_SETUP -#line 1192 "pgc.l" +#line 1206 "pgc.l" { mmfatal(PARSE_ERROR, "missing identifier in EXEC SQL UNDEF command"); yyterminate(); @@ -3375,13 +3389,13 @@ YY_RULE_SETUP case 118: /* rule 118 can match eol */ YY_RULE_SETUP -#line 1196 "pgc.l" +#line 1210 "pgc.l" { BEGIN(incl); } YY_BREAK case 119: /* rule 119 can match eol */ YY_RULE_SETUP -#line 1197 "pgc.l" +#line 1211 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3398,7 +3412,7 @@ YY_RULE_SETUP case 120: /* rule 120 can match eol */ YY_RULE_SETUP -#line 1209 "pgc.l" +#line 1223 "pgc.l" { if (preproc_tos >= MAX_NESTED_IF-1) mmfatal(PARSE_ERROR, "too many nested EXEC SQL IFDEF conditions"); @@ -3413,7 +3427,7 @@ YY_RULE_SETUP case 121: /* rule 121 can match eol */ YY_RULE_SETUP -#line 1219 "pgc.l" +#line 1233 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3437,7 +3451,7 @@ YY_RULE_SETUP case 122: /* rule 122 can match eol */ YY_RULE_SETUP -#line 1238 "pgc.l" +#line 1252 "pgc.l" { if (preproc_tos >= MAX_NESTED_IF-1) mmfatal(PARSE_ERROR, "too many nested EXEC SQL IFDEF conditions"); @@ -3452,7 +3466,7 @@ YY_RULE_SETUP case 123: /* rule 123 can match eol */ YY_RULE_SETUP -#line 1248 "pgc.l" +#line 1262 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3476,7 +3490,7 @@ YY_RULE_SETUP case 124: /* rule 124 can match eol */ YY_RULE_SETUP -#line 1267 "pgc.l" +#line 1281 "pgc.l" { if (preproc_tos == 0) mmfatal(PARSE_ERROR, "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\""); @@ -3489,7 +3503,7 @@ YY_RULE_SETUP case 125: /* rule 125 can match eol */ YY_RULE_SETUP -#line 1275 "pgc.l" +#line 1289 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3511,7 +3525,7 @@ YY_RULE_SETUP case 126: /* rule 126 can match eol */ YY_RULE_SETUP -#line 1293 "pgc.l" +#line 1307 "pgc.l" { /* only exec sql endif pops the stack, so take care of duplicated 'else' */ if (preproc_tos == 0) mmfatal(PARSE_ERROR, "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\""); @@ -3535,7 +3549,7 @@ YY_RULE_SETUP case 127: /* rule 127 can match eol */ YY_RULE_SETUP -#line 1312 "pgc.l" +#line 1326 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3568,7 +3582,7 @@ YY_RULE_SETUP case 128: /* rule 128 can match eol */ YY_RULE_SETUP -#line 1340 "pgc.l" +#line 1354 "pgc.l" { if (preproc_tos == 0) mmfatal(PARSE_ERROR, "unmatched EXEC SQL ENDIF"); @@ -3584,7 +3598,7 @@ YY_RULE_SETUP case 129: /* rule 129 can match eol */ YY_RULE_SETUP -#line 1351 "pgc.l" +#line 1365 "pgc.l" { /* are we simulating Informix? */ if (INFORMIX_MODE) @@ -3608,13 +3622,13 @@ YY_RULE_SETUP YY_BREAK case 130: YY_RULE_SETUP -#line 1372 "pgc.l" +#line 1386 "pgc.l" { /* ignore */ } YY_BREAK case 131: /* rule 131 can match eol */ YY_RULE_SETUP -#line 1374 "pgc.l" +#line 1388 "pgc.l" { { struct _defines *defptr; @@ -3631,11 +3645,17 @@ YY_RULE_SETUP ; yytext[i+1] = '\0'; - for (defptr = defines; - defptr != NULL && - strcmp(yytext, defptr->olddef) != 0; - defptr = defptr->next) - /* skip */ ; + /* Does a definition exist? */ + for (defptr = defines; defptr; defptr = defptr->next) + { + if (strcmp(yytext, defptr->name) == 0) + { + /* Found it, but is it currently undefined? */ + if (defptr->value == NULL) + defptr = NULL; /* pretend it's not found */ + break; + } + } this_active = (defptr ? ifcond : !ifcond); stacked_if_value[preproc_tos].active = @@ -3654,7 +3674,7 @@ YY_RULE_SETUP case 132: /* rule 132 can match eol */ YY_RULE_SETUP -#line 1410 "pgc.l" +#line 1430 "pgc.l" { mmfatal(PARSE_ERROR, "missing identifier in EXEC SQL IFDEF command"); yyterminate(); @@ -3662,9 +3682,9 @@ YY_RULE_SETUP YY_BREAK case 133: YY_RULE_SETUP -#line 1414 "pgc.l" +#line 1434 "pgc.l" { - old = mm_strdup(yytext); + newdefsymbol = mm_strdup(yytext); BEGIN(def); startlit(); } @@ -3672,7 +3692,7 @@ YY_RULE_SETUP case 134: /* rule 134 can match eol */ YY_RULE_SETUP -#line 1419 "pgc.l" +#line 1439 "pgc.l" { mmfatal(PARSE_ERROR, "missing identifier in EXEC SQL DEFINE command"); yyterminate(); @@ -3681,28 +3701,33 @@ YY_RULE_SETUP case 135: /* rule 135 can match eol */ YY_RULE_SETUP -#line 1423 "pgc.l" +#line 1443 "pgc.l" { - struct _defines *ptr, *this; + struct _defines *ptr; + /* Does it already exist? */ for (ptr = defines; ptr != NULL; ptr = ptr->next) { - if (strcmp(old, ptr->olddef) == 0) - { - free(ptr->newdef); - ptr->newdef = mm_strdup(literalbuf); - } + if (strcmp(newdefsymbol, ptr->name) == 0) + { + free(ptr->value); + ptr->value = mm_strdup(literalbuf); + /* Don't leak newdefsymbol */ + free(newdefsymbol); + break; + } } if (ptr == NULL) { - this = (struct _defines *) mm_alloc(sizeof(struct _defines)); - - /* initial definition */ - this->olddef = old; - this->newdef = mm_strdup(literalbuf); - this->next = defines; - this->used = NULL; - defines = this; + /* Not present, make a new entry */ + ptr = (struct _defines *) mm_alloc(sizeof(struct _defines)); + + ptr->name = newdefsymbol; + ptr->value = mm_strdup(literalbuf); + ptr->cmdvalue = NULL; + ptr->used = NULL; + ptr->next = defines; + defines = ptr; } BEGIN(C); @@ -3711,31 +3736,31 @@ YY_RULE_SETUP case 136: /* rule 136 can match eol */ YY_RULE_SETUP -#line 1448 "pgc.l" +#line 1473 "pgc.l" { addlit(yytext, yyleng); } YY_BREAK case 137: /* rule 137 can match eol */ YY_RULE_SETUP -#line 1449 "pgc.l" +#line 1474 "pgc.l" { parse_include(); } YY_BREAK case 138: /* rule 138 can match eol */ YY_RULE_SETUP -#line 1450 "pgc.l" +#line 1475 "pgc.l" { parse_include(); } YY_BREAK case 139: /* rule 139 can match eol */ YY_RULE_SETUP -#line 1451 "pgc.l" +#line 1476 "pgc.l" { parse_include(); } YY_BREAK case 140: /* rule 140 can match eol */ YY_RULE_SETUP -#line 1452 "pgc.l" +#line 1477 "pgc.l" { mmfatal(PARSE_ERROR, "syntax error in EXEC SQL INCLUDE command"); yyterminate(); @@ -3750,10 +3775,11 @@ case YY_STATE_EOF(incl): case YY_STATE_EOF(def): case YY_STATE_EOF(def_ident): case YY_STATE_EOF(undef): -#line 1457 "pgc.l" +#line 1482 "pgc.l" { if (yy_buffer == NULL) { + /* No more input */ if (preproc_tos > 0) { preproc_tos = 0; @@ -3763,16 +3789,20 @@ case YY_STATE_EOF(undef): } else { + /* Revert to previous input source */ struct _yy_buffer *yb = yy_buffer; int i; struct _defines *ptr; + /* Check to see if we are exiting a macro value */ for (ptr = defines; ptr; ptr = ptr->next) + { if (ptr->used == yy_buffer) { ptr->used = NULL; - break; + break; /* there can't be multiple matches */ } + } if (yyin != NULL) fclose(yyin); @@ -3800,15 +3830,15 @@ case YY_STATE_EOF(undef): case 141: /* rule 141 can match eol */ YY_RULE_SETUP -#line 1503 "pgc.l" +#line 1533 "pgc.l" { mmfatal(PARSE_ERROR, "internal error: unreachable state; please report this to <%s>", PACKAGE_BUGREPORT); } YY_BREAK case 142: YY_RULE_SETUP -#line 1505 "pgc.l" +#line 1535 "pgc.l" YY_FATAL_ERROR( "flex scanner jammed" ); YY_BREAK -#line 3812 "pgc.c" +#line 3842 "pgc.c" case YY_END_OF_BUFFER: { @@ -4824,7 +4854,7 @@ void yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 1505 "pgc.l" +#line 1535 "pgc.l" /* LCOV_EXCL_STOP */ @@ -5023,15 +5053,24 @@ ecpg_isspace(char ch) return false; } -static bool isdefine(void) +/* + * If yytext matches a define symbol, begin scanning the symbol's value + * and return true + */ +static bool +isdefine(void) { struct _defines *ptr; /* is it a define? */ for (ptr = defines; ptr; ptr = ptr->next) { - if (strcmp(yytext, ptr->olddef) == 0 && ptr->used == NULL) + /* notice we do not match anything being actively expanded */ + if (strcmp(yytext, ptr->name) == 0 && + ptr->value != NULL && + ptr->used == NULL) { + /* Save state associated with the current buffer */ struct _yy_buffer *yb; yb = mm_alloc(sizeof(struct _yy_buffer)); @@ -5040,10 +5079,17 @@ static bool isdefine(void) yb->lineno = yylineno; yb->filename = mm_strdup(input_filename); yb->next = yy_buffer; + yy_buffer = yb; - ptr->used = yy_buffer = yb; + /* Mark symbol as being actively expanded */ + ptr->used = yb; - yy_scan_string(ptr->newdef); + /* + * We use yy_scan_string which will copy the value, so there's + * no need to worry about a possible undef happening while we + * are still scanning it. + */ + yy_scan_string(ptr->value); return true; } } @@ -5051,7 +5097,12 @@ static bool isdefine(void) return false; } -static bool isinformixdefine(void) +/* + * Handle replacement of INFORMIX built-in defines. This works just + * like isdefine() except for the source of the string to scan. + */ +static bool +isinformixdefine(void) { const char *new = NULL; diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l index 996718c..c06b2d6 100644 --- a/src/interfaces/ecpg/preproc/pgc.l +++ b/src/interfaces/ecpg/preproc/pgc.l @@ -69,7 +69,14 @@ char *token_start; static int state_before_str_start; static int state_before_str_stop; -struct _yy_buffer +/* + * State for handling include files and macro expansion. We use a new + * flex input buffer for each level of include or macro, and create a + * struct _yy_buffer to remember the previous level. There is not a struct + * for the currently active input source; that state is kept in the global + * variables YY_CURRENT_BUFFER, yylineno, and input_filename. + */ +static struct _yy_buffer { YY_BUFFER_STATE buffer; long lineno; @@ -77,8 +84,6 @@ struct _yy_buffer struct _yy_buffer *next; } *yy_buffer = NULL; -static char *old; - /* * Vars for handling ifdef/elif/endif constructs. preproc_tos is the current * nesting depth of such constructs, and stacked_if_value[preproc_tos] is the @@ -432,6 +437,8 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ %{ /* code to execute during start of each call of yylex() */ + char *newdefsymbol = NULL; + token_start = NULL; %} @@ -979,6 +986,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ } {identifier} { + /* First check to see if it's a define symbol to expand */ if (!isdefine()) { int kwvalue; @@ -1171,17 +1179,23 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ yytext[i+1] = '\0'; - for (ptr = defines; ptr != NULL; ptr2 = ptr, ptr = ptr->next) + /* Find and unset any matching define; should be only 1 */ + for (ptr = defines; ptr; ptr2 = ptr, ptr = ptr->next) { - if (strcmp(yytext, ptr->olddef) == 0) + if (strcmp(yytext, ptr->name) == 0) { - if (ptr2 == NULL) - defines = ptr->next; - else - ptr2->next = ptr->next; - free(ptr->newdef); - free(ptr->olddef); - free(ptr); + free(ptr->value); + ptr->value = NULL; + /* We cannot forget it if there's a cmdvalue */ + if (ptr->cmdvalue == NULL) + { + if (ptr2 == NULL) + defines = ptr->next; + else + ptr2->next = ptr->next; + free(ptr->name); + free(ptr); + } break; } } @@ -1386,11 +1400,17 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ ; yytext[i+1] = '\0'; - for (defptr = defines; - defptr != NULL && - strcmp(yytext, defptr->olddef) != 0; - defptr = defptr->next) - /* skip */ ; + /* Does a definition exist? */ + for (defptr = defines; defptr; defptr = defptr->next) + { + if (strcmp(yytext, defptr->name) == 0) + { + /* Found it, but is it currently undefined? */ + if (defptr->value == NULL) + defptr = NULL; /* pretend it's not found */ + break; + } + } this_active = (defptr ? ifcond : !ifcond); stacked_if_value[preproc_tos].active = @@ -1411,7 +1431,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ yyterminate(); } <def_ident>{identifier} { - old = mm_strdup(yytext); + newdefsymbol = mm_strdup(yytext); BEGIN(def); startlit(); } @@ -1420,26 +1440,31 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ yyterminate(); } <def>{space}*";" { - struct _defines *ptr, *this; + struct _defines *ptr; + /* Does it already exist? */ for (ptr = defines; ptr != NULL; ptr = ptr->next) { - if (strcmp(old, ptr->olddef) == 0) - { - free(ptr->newdef); - ptr->newdef = mm_strdup(literalbuf); - } + if (strcmp(newdefsymbol, ptr->name) == 0) + { + free(ptr->value); + ptr->value = mm_strdup(literalbuf); + /* Don't leak newdefsymbol */ + free(newdefsymbol); + break; + } } if (ptr == NULL) { - this = (struct _defines *) mm_alloc(sizeof(struct _defines)); - - /* initial definition */ - this->olddef = old; - this->newdef = mm_strdup(literalbuf); - this->next = defines; - this->used = NULL; - defines = this; + /* Not present, make a new entry */ + ptr = (struct _defines *) mm_alloc(sizeof(struct _defines)); + + ptr->name = newdefsymbol; + ptr->value = mm_strdup(literalbuf); + ptr->cmdvalue = NULL; + ptr->used = NULL; + ptr->next = defines; + defines = ptr; } BEGIN(C); @@ -1456,6 +1481,7 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ <<EOF>> { if (yy_buffer == NULL) { + /* No more input */ if (preproc_tos > 0) { preproc_tos = 0; @@ -1465,16 +1491,20 @@ cppline {space}*#([^i][A-Za-z]*|{if}|{ifdef}|{ifndef}|{import})((\/\*[^*/]*\*+ } else { + /* Revert to previous input source */ struct _yy_buffer *yb = yy_buffer; int i; struct _defines *ptr; + /* Check to see if we are exiting a macro value */ for (ptr = defines; ptr; ptr = ptr->next) + { if (ptr->used == yy_buffer) { ptr->used = NULL; - break; + break; /* there can't be multiple matches */ } + } if (yyin != NULL) fclose(yyin); @@ -1699,15 +1729,24 @@ ecpg_isspace(char ch) return false; } -static bool isdefine(void) +/* + * If yytext matches a define symbol, begin scanning the symbol's value + * and return true + */ +static bool +isdefine(void) { struct _defines *ptr; /* is it a define? */ for (ptr = defines; ptr; ptr = ptr->next) { - if (strcmp(yytext, ptr->olddef) == 0 && ptr->used == NULL) + /* notice we do not match anything being actively expanded */ + if (strcmp(yytext, ptr->name) == 0 && + ptr->value != NULL && + ptr->used == NULL) { + /* Save state associated with the current buffer */ struct _yy_buffer *yb; yb = mm_alloc(sizeof(struct _yy_buffer)); @@ -1716,10 +1755,17 @@ static bool isdefine(void) yb->lineno = yylineno; yb->filename = mm_strdup(input_filename); yb->next = yy_buffer; + yy_buffer = yb; - ptr->used = yy_buffer = yb; + /* Mark symbol as being actively expanded */ + ptr->used = yb; - yy_scan_string(ptr->newdef); + /* + * We use yy_scan_string which will copy the value, so there's + * no need to worry about a possible undef happening while we + * are still scanning it. + */ + yy_scan_string(ptr->value); return true; } } @@ -1727,7 +1773,12 @@ static bool isdefine(void) return false; } -static bool isinformixdefine(void) +/* + * Handle replacement of INFORMIX built-in defines. This works just + * like isdefine() except for the source of the string to scan. + */ +static bool +isinformixdefine(void) { const char *new = NULL; diff --git a/src/interfaces/ecpg/preproc/po/ru.po b/src/interfaces/ecpg/preproc/po/ru.po index 00dea8d..d6817a3 100644 --- a/src/interfaces/ecpg/preproc/po/ru.po +++ b/src/interfaces/ecpg/preproc/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: ecpg (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-05-03 05:56+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2022-09-05 13:32+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -186,181 +186,181 @@ msgstr "" msgid "%s home page: <%s>\n" msgstr "ДомашнÑÑ Ñтраница %s: <%s>\n" -#: ecpg.c:141 +#: ecpg.c:152 #, c-format msgid "%s: could not locate my own executable path\n" msgstr "%s: не удалоÑÑŒ найти путь к ÑобÑтвенному иÑполнÑемому файлу\n" -#: ecpg.c:176 ecpg.c:333 ecpg.c:344 +#: ecpg.c:187 ecpg.c:344 ecpg.c:355 #, c-format msgid "%s: could not open file \"%s\": %s\n" msgstr "%s: не удалоÑÑŒ открыть файл \"%s\": %s\n" -#: ecpg.c:219 ecpg.c:232 ecpg.c:248 ecpg.c:274 +#: ecpg.c:230 ecpg.c:243 ecpg.c:259 ecpg.c:285 #, c-format msgid "Try \"%s --help\" for more information.\n" msgstr "Ð”Ð»Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸Ñ‚ÐµÐ»ÑŒÐ½Ð¾Ð¹ информации попробуйте \"%s --help\".\n" -#: ecpg.c:243 +#: ecpg.c:254 #, c-format msgid "%s: parser debug support (-d) not available\n" msgstr "%s: отладочные ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¿Ñ€Ð¸ разборе (-d) не поддерживаютÑÑ\n" -#: ecpg.c:262 +#: ecpg.c:273 #, c-format msgid "%s, the PostgreSQL embedded C preprocessor, version %s\n" msgstr "%s, препроцеÑÑор внедрённого в С Ñзыка СУБД PostgreSQL, верÑÐ¸Ñ %s\n" -#: ecpg.c:264 +#: ecpg.c:275 #, c-format msgid "EXEC SQL INCLUDE ... search starts here:\n" msgstr "поиÑк файлов Ð´Ð»Ñ EXEC SQL INCLUDE ... начинаетÑÑ Ð² каталогах:\n" -#: ecpg.c:267 +#: ecpg.c:278 #, c-format msgid "end of search list\n" msgstr "конец ÑпиÑка поиÑка\n" -#: ecpg.c:273 +#: ecpg.c:284 #, c-format msgid "%s: no input files specified\n" msgstr "%s: нет входных файлов\n" -#: ecpg.c:477 +#: ecpg.c:490 #, c-format msgid "cursor \"%s\" has been declared but not opened" msgstr "курÑор \"%s\" был объÑвлен, но не открыт" -#: ecpg.c:490 preproc.y:130 +#: ecpg.c:503 preproc.y:130 #, c-format msgid "could not remove output file \"%s\"\n" msgstr "ошибка при удалении выходного файла \"%s\"\n" -#: pgc.l:508 +#: pgc.l:515 #, c-format msgid "unterminated /* comment" msgstr "незавершённый комментарий /*" -#: pgc.l:525 +#: pgc.l:532 #, c-format msgid "unterminated bit string literal" msgstr "Ð¾Ð±Ð¾Ñ€Ð²Ð°Ð½Ð½Ð°Ñ Ð±Ð¸Ñ‚Ð¾Ð²Ð°Ñ Ñтрока" -#: pgc.l:533 +#: pgc.l:540 #, c-format msgid "unterminated hexadecimal string literal" msgstr "Ð¾Ð±Ð¾Ñ€Ð²Ð°Ð½Ð½Ð°Ñ ÑˆÐµÑÑ‚Ð½Ð°Ð´Ñ†Ð°Ñ‚ÐµÑ€Ð¸Ñ‡Ð½Ð°Ñ Ñтрока" -#: pgc.l:608 +#: pgc.l:615 #, c-format msgid "invalid bit string literal" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ Ð±Ð¸Ñ‚Ð¾Ð²Ð°Ñ Ñтрока" -#: pgc.l:613 +#: pgc.l:620 #, c-format msgid "invalid hexadecimal string literal" msgstr "Ð½ÐµÐ²ÐµÑ€Ð½Ð°Ñ ÑˆÐµÑÑ‚Ð½Ð°Ð´Ñ†Ð°Ñ‚ÐµÑ€Ð¸Ñ‡Ð½Ð°Ñ Ñтрока" -#: pgc.l:631 +#: pgc.l:638 #, c-format msgid "unhandled previous state in xqs\n" msgstr "" "необрабатываемое предыдущее ÑоÑтоÑние при обнаружении закрывающего " "апоÑтрофа\n" -#: pgc.l:657 pgc.l:766 +#: pgc.l:664 pgc.l:773 #, c-format msgid "unterminated quoted string" msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ñтрока в кавычках" -#: pgc.l:708 +#: pgc.l:715 #, c-format msgid "unterminated dollar-quoted string" msgstr "Ð½ÐµÐ·Ð°Ð²ÐµÑ€ÑˆÑ‘Ð½Ð½Ð°Ñ Ñтрока Ñ $" -#: pgc.l:726 pgc.l:746 +#: pgc.l:733 pgc.l:753 #, c-format msgid "zero-length delimited identifier" msgstr "пуÑтой идентификатор в кавычках" -#: pgc.l:757 +#: pgc.l:764 #, c-format msgid "unterminated quoted identifier" msgstr "незавершённый идентификатор в кавычках" -#: pgc.l:926 +#: pgc.l:933 #, c-format msgid "trailing junk after parameter" msgstr "муÑорное Ñодержимое поÑле параметра" -#: pgc.l:968 pgc.l:971 pgc.l:974 +#: pgc.l:975 pgc.l:978 pgc.l:981 #, c-format msgid "trailing junk after numeric literal" msgstr "муÑорное Ñодержимое поÑле чиÑловой конÑтанты" -#: pgc.l:1100 +#: pgc.l:1108 #, c-format msgid "nested /* ... */ comments" msgstr "вложенные комментарии /* ... */" -#: pgc.l:1193 +#: pgc.l:1207 #, c-format msgid "missing identifier in EXEC SQL UNDEF command" msgstr "в команде EXEC SQL UNDEF отÑутÑтвует идентификатор" -#: pgc.l:1211 pgc.l:1224 pgc.l:1240 pgc.l:1253 +#: pgc.l:1225 pgc.l:1238 pgc.l:1254 pgc.l:1267 #, c-format msgid "too many nested EXEC SQL IFDEF conditions" msgstr "Ñлишком много вложенных уÑловий EXEC SQL IFDEF" -#: pgc.l:1269 pgc.l:1280 pgc.l:1295 pgc.l:1317 +#: pgc.l:1283 pgc.l:1294 pgc.l:1309 pgc.l:1331 #, c-format msgid "missing matching \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" msgstr "нет ÑоответÑтвующего \"EXEC SQL IFDEF\" / \"EXEC SQL IFNDEF\"" -#: pgc.l:1271 pgc.l:1282 pgc.l:1463 +#: pgc.l:1285 pgc.l:1296 pgc.l:1489 #, c-format msgid "missing \"EXEC SQL ENDIF;\"" msgstr "отÑутÑтвует \"EXEC SQL ENDIF;\"" -#: pgc.l:1297 pgc.l:1319 +#: pgc.l:1311 pgc.l:1333 #, c-format msgid "more than one EXEC SQL ELSE" msgstr "Ð½ÐµÐ¾Ð´Ð½Ð¾ÐºÑ€Ð°Ñ‚Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° EXEC SQL ELSE" -#: pgc.l:1342 pgc.l:1356 +#: pgc.l:1356 pgc.l:1370 #, c-format msgid "unmatched EXEC SQL ENDIF" msgstr "Ð½ÐµÐ¿Ð°Ñ€Ð½Ð°Ñ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° EXEC SQL ENDIF" -#: pgc.l:1411 +#: pgc.l:1431 #, c-format msgid "missing identifier in EXEC SQL IFDEF command" msgstr "в команде EXEC SQL IFDEF отÑутÑтвует идентификатор" -#: pgc.l:1420 +#: pgc.l:1440 #, c-format msgid "missing identifier in EXEC SQL DEFINE command" msgstr "в команде EXEC SQL DEFINE отÑутÑтвует идентификатор" -#: pgc.l:1453 +#: pgc.l:1478 #, c-format msgid "syntax error in EXEC SQL INCLUDE command" msgstr "ошибка ÑинтакÑиÑа в команде EXEC SQL INCLUDE" -#: pgc.l:1503 +#: pgc.l:1533 #, c-format msgid "internal error: unreachable state; please report this to <%s>" msgstr "внутреннÑÑ Ð¾ÑˆÐ¸Ð±ÐºÐ°: недоÑтижимое ÑоÑтоÑние; пожалуйÑта, Ñообщите в <%s>" -#: pgc.l:1655 +#: pgc.l:1685 #, c-format msgid "Error: include path \"%s/%s\" is too long on line %d, skipping\n" msgstr "" "Ошибка: путь включаемых файлов \"%s/%s\" в Ñтроке %d Ñлишком длинный, " "пропуÑкаетÑÑ\n" -#: pgc.l:1678 +#: pgc.l:1708 #, c-format msgid "could not open include file \"%s\" on line %d" msgstr "не удалоÑÑŒ открыть включаемый файл \"%s\" (Ñтрока %d)" @@ -394,12 +394,12 @@ msgstr "определение типа не может включать Ð¸Ð½Ð¸Ñ msgid "type name \"string\" is reserved in Informix mode" msgstr "Ð¸Ð¼Ñ Ñ‚Ð¸Ð¿Ð° \"string\" в режиме Informix зарезервировано" -#: preproc.y:552 preproc.y:17925 +#: preproc.y:552 preproc.y:17918 #, c-format msgid "type \"%s\" is already defined" msgstr "тип \"%s\" уже определён" -#: preproc.y:577 preproc.y:18560 preproc.y:18885 variable.c:620 +#: preproc.y:577 preproc.y:18553 preproc.y:18878 variable.c:620 #, c-format msgid "multidimensional arrays for simple data types are not supported" msgstr "многомерные маÑÑивы Ñ Ð¿Ñ€Ð¾Ñтыми типами данных не поддерживаютÑÑ" @@ -444,61 +444,60 @@ msgstr "оператор VAR Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ AT не поддерживРmsgid "AT option not allowed in WHENEVER statement" msgstr "оператор WHENEVER Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð¾Ð¼ AT не поддерживаетÑÑ" -#: preproc.y:2227 preproc.y:2399 preproc.y:2404 preproc.y:2527 preproc.y:4178 -#: preproc.y:4252 preproc.y:4843 preproc.y:5376 preproc.y:5714 preproc.y:6014 -#: preproc.y:7582 preproc.y:9183 preproc.y:9188 preproc.y:12139 +#: preproc.y:2227 preproc.y:2525 preproc.y:4176 preproc.y:4840 preproc.y:5710 +#: preproc.y:6010 preproc.y:12132 #, c-format msgid "unsupported feature will be passed to server" msgstr "Ð½ÐµÐ¿Ð¾Ð´Ð´ÐµÑ€Ð¶Ð¸Ð²Ð°ÐµÐ¼Ð°Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ Ð±ÑƒÐ´ÐµÑ‚ передана Ñерверу" -#: preproc.y:2785 +#: preproc.y:2783 #, c-format msgid "SHOW ALL is not implemented" msgstr "SHOW ALL не реализовано" -#: preproc.y:3484 +#: preproc.y:3482 #, c-format msgid "COPY FROM STDIN is not implemented" msgstr "Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ñ COPY FROM STDIN не реализована" -#: preproc.y:10230 preproc.y:17498 +#: preproc.y:10223 preproc.y:17491 #, c-format msgid "\"database\" cannot be used as cursor name in INFORMIX mode" msgstr "" "в режиме INFORMIX Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать \"database\" в качеÑтве имени курÑора" -#: preproc.y:10237 preproc.y:17508 +#: preproc.y:10230 preproc.y:17501 #, c-format msgid "using variable \"%s\" in different declare statements is not supported" msgstr "" "иÑпользование переменной \"%s\" в разных операторах DECLARE не поддерживаетÑÑ" -#: preproc.y:10239 preproc.y:17510 +#: preproc.y:10232 preproc.y:17503 #, c-format msgid "cursor \"%s\" is already defined" msgstr "курÑор \"%s\" уже определён" -#: preproc.y:10713 +#: preproc.y:10706 #, c-format msgid "no longer supported LIMIT #,# syntax passed to server" msgstr "не поддерживаемое более предложение LIMIT #,# передано на Ñервер" -#: preproc.y:11046 preproc.y:11053 +#: preproc.y:11039 preproc.y:11046 #, c-format msgid "subquery in FROM must have an alias" msgstr "Ð¿Ð¾Ð´Ð·Ð°Ð¿Ñ€Ð¾Ñ Ð²Ð¾ FROM должен иметь пÑевдоним" -#: preproc.y:17190 preproc.y:17197 +#: preproc.y:17183 preproc.y:17190 #, c-format msgid "CREATE TABLE AS cannot specify INTO" msgstr "в CREATE TABLE AS Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ INTO" -#: preproc.y:17233 +#: preproc.y:17226 #, c-format msgid "expected \"@\", found \"%s\"" msgstr "ожидалÑÑ Ð·Ð½Ð°Ðº \"@\", но на Ñтом меÑте \"%s\"" -#: preproc.y:17245 +#: preproc.y:17238 #, c-format msgid "" "only protocols \"tcp\" and \"unix\" and database type \"postgresql\" are " @@ -507,89 +506,89 @@ msgstr "" "поддерживаютÑÑ Ñ‚Ð¾Ð»ÑŒÐºÐ¾ протоколы \"tcp\" и \"unix\", а тип базы данных - " "\"postgresql\"" -#: preproc.y:17248 +#: preproc.y:17241 #, c-format msgid "expected \"://\", found \"%s\"" msgstr "ожидалоÑÑŒ \"://\", но на Ñтом меÑте \"%s\"" -#: preproc.y:17253 +#: preproc.y:17246 #, c-format msgid "Unix-domain sockets only work on \"localhost\" but not on \"%s\"" msgstr "Unix-Ñокеты работают только Ñ \"localhost\", но не Ñ Ð°Ð´Ñ€ÐµÑом \"%s\"" -#: preproc.y:17279 +#: preproc.y:17272 #, c-format msgid "expected \"postgresql\", found \"%s\"" msgstr "ожидалÑÑ Ñ‚Ð¸Ð¿ \"postgresql\", но на Ñтом меÑте \"%s\"" -#: preproc.y:17282 +#: preproc.y:17275 #, c-format msgid "invalid connection type: %s" msgstr "неверный тип подключениÑ: %s" -#: preproc.y:17291 +#: preproc.y:17284 #, c-format msgid "expected \"@\" or \"://\", found \"%s\"" msgstr "ожидалоÑÑŒ \"@\" или \"://\", но на Ñтом меÑте \"%s\"" -#: preproc.y:17366 preproc.y:17384 +#: preproc.y:17359 preproc.y:17377 #, c-format msgid "invalid data type" msgstr "неверный тип данных" -#: preproc.y:17395 preproc.y:17412 +#: preproc.y:17388 preproc.y:17405 #, c-format msgid "incomplete statement" msgstr "неполный оператор" -#: preproc.y:17398 preproc.y:17415 +#: preproc.y:17391 preproc.y:17408 #, c-format msgid "unrecognized token \"%s\"" msgstr "нераÑпознанное ключевое Ñлово \"%s\"" -#: preproc.y:17460 +#: preproc.y:17453 #, c-format msgid "name \"%s\" is already declared" msgstr "Ð¸Ð¼Ñ \"%s\" уже объÑвлено" -#: preproc.y:17728 +#: preproc.y:17721 #, c-format msgid "only data types numeric and decimal have precision/scale argument" msgstr "" "точноÑÑ‚ÑŒ/маÑштаб можно указать только Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ð¾Ð² данных numeric и decimal" -#: preproc.y:17740 +#: preproc.y:17733 #, c-format msgid "interval specification not allowed here" msgstr "определение интервала здеÑÑŒ не допуÑкаетÑÑ" -#: preproc.y:17900 preproc.y:17952 +#: preproc.y:17893 preproc.y:17945 #, c-format msgid "too many levels in nested structure/union definition" msgstr "Ñлишком много уровней в определении вложенной Ñтруктуры/объединениÑ" -#: preproc.y:18075 +#: preproc.y:18068 #, c-format msgid "pointers to varchar are not implemented" msgstr "указатели на varchar не реализованы" -#: preproc.y:18526 +#: preproc.y:18519 #, c-format msgid "initializer not allowed in EXEC SQL VAR command" msgstr "команда EXEC SQL VAR не может включать инициализатор" -#: preproc.y:18843 +#: preproc.y:18836 #, c-format msgid "arrays of indicators are not allowed on input" msgstr "маÑÑивы индикаторов на входе недопуÑтимы" -#: preproc.y:19030 +#: preproc.y:19023 #, c-format msgid "operator not allowed in variable definition" msgstr "недопуÑтимый оператор в определении переменной" #. translator: %s is typically the translation of "syntax error" -#: preproc.y:19071 +#: preproc.y:19064 #, c-format msgid "%s at or near \"%s\"" msgstr "%s (примерное положение: \"%s\")" diff --git a/src/interfaces/ecpg/preproc/preproc.c b/src/interfaces/ecpg/preproc/preproc.c index 732ab1c..027cd0a 100644 --- a/src/interfaces/ecpg/preproc/preproc.c +++ b/src/interfaces/ecpg/preproc/preproc.c @@ -2569,354 +2569,354 @@ static const yytype_int16 yyrline[] = 2217, 2221, 2225, 2230, 2234, 2238, 2242, 2246, 2254, 2258, 2262, 2266, 2270, 2274, 2282, 2290, 2294, 2303, 2305, 2313, 2317, 2321, 2325, 2333, 2337, 2341, 2345, 2349, 2353, 2361, - 2369, 2377, 2381, 2389, 2393, 2397, 2402, 2411, 2416, 2422, - 2427, 2433, 2437, 2441, 2445, 2449, 2453, 2461, 2465, 2469, - 2477, 2481, 2485, 2493, 2497, 2501, 2505, 2513, 2517, 2521, - 2525, 2530, 2534, 2538, 2542, 2546, 2550, 2554, 2562, 2566, - 2574, 2578, 2586, 2590, 2604, 2608, 2612, 2616, 2624, 2628, - 2632, 2636, 2644, 2648, 2652, 2656, 2660, 2664, 2668, 2676, - 2680, 2685, 2691, 2695, 2703, 2711, 2715, 2719, 2723, 2731, - 2735, 2743, 2747, 2755, 2759, 2767, 2771, 2775, 2779, 2783, - 2792, 2800, 2804, 2812, 2816, 2824, 2832, 2836, 2840, 2844, - 2848, 2856, 2860, 2864, 2868, 2872, 2876, 2880, 2884, 2888, - 2892, 2896, 2900, 2904, 2908, 2912, 2916, 2920, 2924, 2928, - 2932, 2936, 2944, 2948, 2956, 2960, 2964, 2972, 2980, 2984, - 2988, 2992, 2996, 3000, 3004, 3008, 3012, 3016, 3020, 3024, - 3028, 3032, 3036, 3040, 3044, 3048, 3052, 3056, 3060, 3064, - 3068, 3072, 3076, 3080, 3084, 3088, 3092, 3096, 3100, 3104, - 3108, 3112, 3116, 3120, 3124, 3128, 3132, 3136, 3140, 3144, - 3148, 3152, 3156, 3160, 3164, 3168, 3172, 3176, 3180, 3184, - 3188, 3192, 3196, 3200, 3204, 3208, 3212, 3216, 3224, 3228, - 3236, 3240, 3245, 3251, 3256, 3262, 3267, 3273, 3277, 3281, - 3285, 3293, 3301, 3306, 3312, 3316, 3324, 3328, 3332, 3336, - 3344, 3348, 3356, 3360, 3364, 3368, 3376, 3380, 3384, 3388, - 3396, 3404, 3408, 3416, 3424, 3428, 3436, 3440, 3444, 3448, - 3456, 3472, 3480, 3488, 3496, 3500, 3508, 3513, 3519, 3523, - 3527, 3535, 3539, 3547, 3552, 3558, 3562, 3566, 3570, 3574, - 3578, 3582, 3586, 3590, 3594, 3598, 3602, 3606, 3614, 3619, - 3625, 3630, 3636, 3641, 3647, 3651, 3659, 3667, 3671, 3675, - 3679, 3684, 3690, 3694, 3702, 3710, 3714, 3718, 3722, 3726, - 3730, 3738, 3742, 3746, 3750, 3754, 3758, 3762, 3767, 3773, - 3778, 3784, 3789, 3795, 3799, 3807, 3811, 3819, 3823, 3827, - 3835, 3839, 3847, 3855, 3859, 3867, 3871, 3879, 3884, 3890, - 3895, 3901, 3905, 3909, 3913, 3921, 3925, 3929, 3933, 3937, - 3941, 3945, 3949, 3953, 3961, 3965, 3970, 3976, 3980, 3988, - 3992, 3996, 4000, 4008, 4016, 4020, 4025, 4031, 4035, 4039, - 4043, 4047, 4051, 4055, 4059, 4063, 4067, 4075, 4079, 4087, - 4091, 4095, 4099, 4103, 4107, 4111, 4119, 4124, 4130, 4135, - 4141, 4145, 4153, 4161, 4166, 4172, 4176, 4181, 4186, 4192, - 4196, 4204, 4208, 4216, 4221, 4227, 4231, 4235, 4239, 4244, - 4250, 4259, 4267, 4271, 4275, 4279, 4283, 4291, 4296, 4302, - 4307, 4313, 4321, 4325, 4333, 4337, 4341, 4349, 4354, 4360, - 4364, 4369, 4375, 4379, 4383, 4388, 4394, 4399, 4405, 4410, - 4416, 4424, 4428, 4436, 4440, 4448, 4452, 4456, 4464, 4468, - 4476, 4484, 4488, 4493, 4499, 4503, 4511, 4519, 4524, 4530, - 4538, 4542, 4550, 4554, 4562, 4567, 4573, 4578, 4584, 4588, - 4596, 4600, 4604, 4608, 4612, 4616, 4620, 4624, 4628, 4632, - 4636, 4640, 4644, 4648, 4656, 4661, 4667, 4671, 4675, 4679, - 4687, 4691, 4699, 4703, 4711, 4716, 4722, 4726, 4734, 4739, - 4745, 4749, 4757, 4762, 4768, 4773, 4779, 4787, 4792, 4798, - 4802, 4810, 4814, 4822, 4827, 4833, 4837, 4841, 4846, 4854, - 4862, 4867, 4873, 4881, 4885, 4889, 4893, 4897, 4901, 4905, - 4909, 4913, 4917, 4921, 4925, 4929, 4937, 4945, 4949, 4953, - 4957, 4965, 4969, 4977, 4982, 4988, 4992, 5000, 5005, 5011, - 5015, 5023, 5031, 5035, 5043, 5047, 5051, 5055, 5063, 5071, - 5079, 5087, 5091, 5099, 5104, 5110, 5114, 5122, 5127, 5133, - 5137, 5141, 5149, 5153, 5157, 5161, 5169, 5177, 5181, 5189, - 5194, 5200, 5204, 5212, 5216, 5224, 5228, 5236, 5244, 5252, - 5260, 5265, 5271, 5276, 5282, 5287, 5293, 5298, 5304, 5309, - 5315, 5320, 5326, 5330, 5334, 5338, 5342, 5350, 5358, 5362, - 5370, 5374, 5383, 5387, 5391, 5399, 5403, 5411, 5415, 5419, - 5423, 5427, 5435, 5440, 5446, 5450, 5458, 5466, 5470, 5478, - 5482, 5490, 5498, 5503, 5509, 5514, 5520, 5524, 5532, 5537, - 5543, 5547, 5555, 5559, 5564, 5570, 5574, 5578, 5582, 5590, - 5595, 5602, 5604, 5612, 5616, 5620, 5624, 5628, 5632, 5640, - 5644, 5652, 5656, 5664, 5672, 5676, 5684, 5692, 5696, 5700, - 5704, 5712, 5721, 5725, 5729, 5733, 5737, 5741, 5745, 5749, - 5753, 5757, 5761, 5765, 5769, 5773, 5777, 5781, 5789, 5797, - 5801, 5809, 5813, 5821, 5825, 5829, 5833, 5837, 5841, 5849, - 5857, 5861, 5869, 5877, 5882, 5888, 5892, 5900, 5904, 5908, - 5912, 5920, 5925, 5931, 5939, 5943, 5951, 5955, 5959, 5963, - 5967, 5975, 5980, 5986, 5991, 5997, 6001, 6006, 6012, 6018, - 6024, 6032, 6036, 6044, 6048, 6056, 6060, 6068, 6072, 6080, - 6084, 6092, 6100, 6108, 6112, 6116, 6120, 6124, 6128, 6132, - 6136, 6140, 6144, 6148, 6152, 6160, 6164, 6168, 6172, 6176, - 6180, 6184, 6188, 6192, 6196, 6200, 6204, 6208, 6216, 6220, - 6224, 6228, 6232, 6240, 6244, 6248, 6252, 6256, 6260, 6264, - 6268, 6276, 6280, 6284, 6292, 6296, 6304, 6308, 6316, 6320, - 6328, 6332, 6340, 6348, 6352, 6357, 6363, 6367, 6371, 6375, - 6379, 6383, 6387, 6391, 6395, 6399, 6403, 6407, 6411, 6415, - 6419, 6423, 6427, 6431, 6439, 6443, 6451, 6455, 6459, 6463, - 6467, 6471, 6475, 6479, 6483, 6487, 6495, 6500, 6506, 6510, - 6518, 6522, 6526, 6530, 6539, 6548, 6557, 6566, 6575, 6584, - 6593, 6606, 6620, 6634, 6648, 6662, 6676, 6690, 6709, 6728, - 6747, 6761, 6780, 6794, 6813, 6831, 6835, 6843, 6848, 6854, - 6862, 6866, 6874, 6878, 6882, 6886, 6890, 6898, 6902, 6910, - 6914, 6918, 6922, 6926, 6934, 6938, 6946, 6950, 6958, 6962, - 6966, 6970, 6974, 6978, 6982, 6986, 6990, 6994, 6998, 7002, - 7006, 7010, 7014, 7018, 7022, 7026, 7030, 7034, 7038, 7046, - 7050, 7058, 7062, 7070, 7075, 7081, 7089, 7093, 7101, 7106, - 7112, 7117, 7123, 7131, 7136, 7142, 7146, 7150, 7158, 7162, - 7166, 7174, 7178, 7182, 7186, 7190, 7194, 7202, 7206, 7214, - 7219, 7225, 7230, 7236, 7241, 7247, 7252, 7258, 7262, 7270, - 7274, 7282, 7286, 7290, 7298, 7303, 7309, 7313, 7321, 7326, - 7332, 7337, 7343, 7347, 7352, 7358, 7362, 7367, 7373, 7377, - 7381, 7385, 7393, 7398, 7404, 7408, 7416, 7420, 7428, 7432, - 7440, 7444, 7448, 7452, 7460, 7464, 7472, 7476, 7484, 7488, - 7492, 7496, 7500, 7508, 7512, 7516, 7520, 7524, 7532, 7540, - 7548, 7552, 7556, 7564, 7568, 7572, 7580, 7589, 7593, 7597, - 7601, 7609, 7613, 7621, 7629, 7633, 7641, 7646, 7652, 7656, - 7664, 7668, 7672, 7676, 7680, 7684, 7688, 7692, 7696, 7700, - 7704, 7708, 7712, 7716, 7720, 7724, 7728, 7736, 7740, 7744, - 7748, 7752, 7760, 7764, 7772, 7780, 7784, 7789, 7795, 7800, - 7806, 7810, 7818, 7822, 7830, 7835, 7841, 7849, 7853, 7861, - 7865, 7869, 7877, 7881, 7889, 7894, 7900, 7904, 7908, 7912, - 7916, 7920, 7928, 7932, 7940, 7944, 7952, 7956, 7960, 7964, - 7972, 7976, 7984, 7988, 7996, 8004, 8012, 8016, 8024, 8028, - 8036, 8040, 8044, 8052, 8056, 8061, 8067, 8075, 8080, 8086, - 8094, 8098, 8102, 8106, 8114, 8122, 8126, 8130, 8134, 8142, - 8146, 8154, 8158, 8162, 8170, 8174, 8182, 8186, 8190, 8194, - 8198, 8202, 8206, 8210, 8214, 8218, 8222, 8226, 8230, 8234, - 8238, 8242, 8246, 8250, 8254, 8258, 8262, 8266, 8270, 8274, - 8278, 8282, 8286, 8290, 8294, 8298, 8302, 8306, 8310, 8314, - 8318, 8322, 8326, 8330, 8334, 8338, 8342, 8346, 8350, 8354, - 8358, 8362, 8366, 8370, 8374, 8378, 8382, 8386, 8390, 8394, - 8398, 8406, 8411, 8417, 8422, 8428, 8432, 8436, 8440, 8444, - 8448, 8456, 8461, 8467, 8471, 8475, 8479, 8483, 8487, 8491, - 8495, 8499, 8503, 8507, 8511, 8515, 8519, 8523, 8527, 8531, - 8535, 8539, 8543, 8547, 8551, 8555, 8559, 8563, 8567, 8571, - 8579, 8587, 8591, 8599, 8603, 8611, 8615, 8619, 8623, 8627, - 8635, 8643, 8647, 8651, 8655, 8659, 8663, 8667, 8671, 8675, - 8679, 8683, 8687, 8691, 8695, 8699, 8703, 8707, 8711, 8715, - 8719, 8723, 8727, 8731, 8735, 8743, 8747, 8751, 8759, 8763, - 8767, 8771, 8775, 8779, 8783, 8791, 8795, 8803, 8807, 8811, - 8815, 8823, 8831, 8835, 8839, 8843, 8847, 8851, 8855, 8859, - 8863, 8871, 8875, 8883, 8891, 8895, 8899, 8907, 8911, 8919, - 8923, 8927, 8931, 8935, 8943, 8948, 8954, 8958, 8962, 8966, - 8974, 8978, 8983, 8989, 8997, 9002, 9008, 9016, 9020, 9028, - 9032, 9036, 9040, 9044, 9048, 9052, 9056, 9060, 9064, 9068, - 9072, 9080, 9084, 9092, 9096, 9101, 9107, 9111, 9115, 9119, - 9123, 9131, 9135, 9139, 9147, 9152, 9158, 9162, 9167, 9173, - 9177, 9181, 9186, 9195, 9199, 9203, 9208, 9214, 9222, 9230, - 9235, 9241, 9245, 9253, 9257, 9261, 9269, 9273, 9277, 9281, - 9285, 9289, 9293, 9301, 9306, 9312, 9316, 9320, 9324, 9332, - 9340, 9344, 9348, 9352, 9360, 9364, 9372, 9380, 9388, 9392, - 9400, 9408, 9412, 9416, 9420, 9424, 9428, 9432, 9440, 9445, - 9451, 9459, 9463, 9467, 9471, 9475, 9479, 9487, 9491, 9499, - 9507, 9511, 9515, 9519, 9527, 9532, 9538, 9542, 9550, 9554, - 9562, 9566, 9574, 9578, 9586, 9594, 9598, 9606, 9610, 9615, - 9621, 9626, 9632, 9637, 9643, 9648, 9654, 9659, 9665, 9670, - 9676, 9684, 9688, 9696, 9701, 9707, 9711, 9715, 9719, 9727, - 9731, 9735, 9739, 9743, 9747, 9751, 9755, 9759, 9763, 9771, - 9777, 9787, 9792, 9798, 9802, 9806, 9810, 9814, 9822, 9827, - 9831, 9839, 9844, 9850, 9858, 9862, 9870, 9874, 9878, 9882, - 9886, 9894, 9898, 9906, 9910, 9918, 9926, 9930, 9935, 9941, - 9945, 9950, 9956, 9961, 9967, 9975, 9980, 9986, 9994, 9999, - 10005, 10009, 10013, 10017, 10021, 10025, 10029, 10033, 10041, 10046, - 10052, 10056, 10061, 10067, 10075, 10079, 10087, 10091, 10099, 10107, - 10111, 10119, 10127, 10131, 10139, 10143, 10147, 10151, 10155, 10163, - 10168, 10174, 10182, 10190, 10194, 10198, 10202, 10206, 10214, 10222, - 10273, 10277, 10290, 10292, 10296, 10300, 10304, 10308, 10317, 10323, - 10327, 10335, 10339, 10347, 10351, 10359, 10363, 10367, 10371, 10375, - 10379, 10383, 10387, 10395, 10399, 10407, 10411, 10415, 10419, 10423, - 10427, 10431, 10439, 10443, 10447, 10455, 10459, 10467, 10475, 10479, - 10484, 10490, 10494, 10499, 10505, 10509, 10514, 10520, 10525, 10531, - 10536, 10538, 10544, 10548, 10552, 10556, 10560, 10564, 10568, 10572, - 10576, 10584, 10589, 10595, 10599, 10604, 10610, 10614, 10622, 10627, - 10633, 10638, 10644, 10652, 10656, 10664, 10668, 10676, 10680, 10684, - 10688, 10696, 10701, 10707, 10711, 10716, 10720, 10724, 10728, 10736, - 10740, 10748, 10752, 10760, 10768, 10772, 10776, 10784, 10788, 10796, - 10800, 10808, 10812, 10820, 10825, 10831, 10835, 10843, 10847, 10851, - 10855, 10859, 10867, 10875, 10883, 10891, 10899, 10904, 10910, 10914, - 10922, 10927, 10933, 10937, 10945, 10953, 10957, 10961, 10965, 10973, - 10978, 10984, 10988, 10996, 11001, 11007, 11011, 11019, 11023, 11027, - 11031, 11035, 11039, 11043, 11050, 11057, 11061, 11069, 11073, 11077, - 11081, 11085, 11089, 11097, 11101, 11105, 11109, 11117, 11122, 11128, - 11133, 11139, 11143, 11147, 11151, 11156, 11162, 11166, 11170, 11174, - 11182, 11187, 11193, 11197, 11205, 11209, 11217, 11221, 11225, 11233, - 11237, 11245, 11249, 11253, 11261, 11269, 11274, 11280, 11284, 11292, - 11300, 11304, 11312, 11317, 11323, 11328, 11334, 11339, 11345, 11349, - 11355, 11361, 11366, 11372, 11376, 11384, 11392, 11396, 11404, 11408, - 11416, 11420, 11424, 11432, 11436, 11444, 11448, 11452, 11456, 11464, - 11468, 11476, 11480, 11488, 11490, 11492, 11496, 11500, 11504, 11512, - 11522, 11533, 11542, 11546, 11550, 11554, 11558, 11562, 11566, 11574, - 11578, 11582, 11586, 11594, 11598, 11606, 11611, 11617, 11621, 11625, - 11629, 11633, 11637, 11641, 11645, 11649, 11653, 11657, 11665, 11670, - 11676, 11680, 11688, 11692, 11700, 11708, 11716, 11720, 11728, 11732, - 11740, 11748, 11756, 11760, 11764, 11768, 11772, 11776, 11784, 11789, - 11795, 11799, 11803, 11807, 11815, 11823, 11827, 11832, 11838, 11842, - 11846, 11850, 11854, 11858, 11862, 11866, 11870, 11874, 11878, 11882, - 11886, 11891, 11897, 11901, 11909, 11913, 11917, 11921, 11925, 11929, - 11933, 11937, 11941, 11945, 11949, 11953, 11957, 11961, 11965, 11969, - 11973, 11977, 11981, 11985, 11989, 11993, 11997, 12001, 12005, 12009, - 12013, 12017, 12021, 12025, 12029, 12033, 12037, 12041, 12045, 12049, - 12053, 12057, 12061, 12065, 12069, 12073, 12077, 12081, 12085, 12089, - 12093, 12097, 12101, 12105, 12109, 12113, 12117, 12121, 12125, 12129, - 12133, 12137, 12142, 12146, 12150, 12154, 12158, 12162, 12166, 12174, - 12178, 12182, 12186, 12190, 12194, 12198, 12202, 12206, 12210, 12214, - 12218, 12222, 12226, 12230, 12234, 12238, 12242, 12246, 12250, 12254, - 12258, 12266, 12270, 12274, 12278, 12282, 12286, 12290, 12294, 12298, - 12302, 12306, 12310, 12314, 12318, 12326, 12330, 12334, 12338, 12342, - 12346, 12350, 12358, 12362, 12370, 12374, 12382, 12386, 12390, 12394, - 12398, 12402, 12406, 12410, 12414, 12418, 12422, 12426, 12430, 12434, - 12438, 12442, 12446, 12450, 12454, 12458, 12462, 12466, 12470, 12474, - 12478, 12482, 12486, 12490, 12494, 12498, 12502, 12506, 12510, 12514, - 12518, 12522, 12526, 12530, 12534, 12538, 12542, 12546, 12550, 12554, - 12558, 12562, 12570, 12574, 12582, 12586, 12590, 12595, 12601, 12609, - 12613, 12621, 12625, 12633, 12637, 12645, 12649, 12654, 12660, 12664, - 12668, 12672, 12680, 12684, 12692, 12697, 12703, 12708, 12714, 12719, - 12725, 12729, 12737, 12745, 12749, 12754, 12760, 12768, 12772, 12779, - 12784, 12790, 12794, 12798, 12803, 12809, 12813, 12821, 12825, 12829, - 12833, 12837, 12845, 12849, 12853, 12857, 12862, 12868, 12872, 12876, - 12884, 12888, 12896, 12904, 12908, 12912, 12920, 12924, 12932, 12936, - 12940, 12944, 12948, 12952, 12956, 12960, 12964, 12968, 12972, 12976, - 12984, 12988, 12996, 13000, 13008, 13012, 13016, 13020, 13024, 13028, - 13036, 13040, 13048, 13052, 13060, 13064, 13068, 13076, 13081, 13087, - 13091, 13099, 13103, 13107, 13115, 13119, 13127, 13135, 13139, 13143, - 13147, 13151, 13155, 13159, 13163, 13171, 13175, 13179, 13183, 13191, - 13195, 13203, 13211, 13215, 13219, 13223, 13227, 13235, 13239, 13243, - 13251, 13255, 13263, 13271, 13275, 13283, 13291, 13296, 13302, 13307, - 13313, 13317, 13325, 13329, 13333, 13337, 13345, 13350, 13356, 13360, - 13369, 13371, 13379, 13384, 13390, 13395, 13401, 13405, 13413, 13417, - 13421, 13425, 13433, 13437, 13445, 13449, 13457, 13461, 13469, 13477, - 13485, 13493, 13497, 13505, 13509, 13513, 13517, 13521, 13525, 13529, - 13533, 13537, 13541, 13545, 13549, 13553, 13557, 13558, 13563, 13569, - 13573, 13574, 13578, 13586, 13594, 13598, 13602, 13606, 13614, 13618, - 13626, 13630, 13634, 13638, 13646, 13650, 13658, 13662, 13666, 13670, - 13674, 13678, 13682, 13686, 13690, 13694, 13698, 13702, 13706, 13710, - 13714, 13718, 13722, 13726, 13730, 13734, 13738, 13742, 13746, 13750, - 13754, 13758, 13762, 13766, 13770, 13774, 13778, 13782, 13786, 13790, - 13794, 13798, 13802, 13806, 13810, 13814, 13818, 13822, 13826, 13830, - 13834, 13838, 13842, 13846, 13850, 13854, 13858, 13862, 13866, 13870, - 13874, 13878, 13882, 13886, 13890, 13894, 13898, 13902, 13906, 13910, - 13914, 13918, 13922, 13926, 13930, 13934, 13938, 13942, 13946, 13950, - 13954, 13958, 13962, 13966, 13970, 13974, 13978, 13982, 13986, 13990, - 13994, 13998, 14002, 14006, 14010, 14014, 14018, 14022, 14026, 14030, - 14034, 14038, 14042, 14046, 14050, 14054, 14058, 14062, 14066, 14070, - 14074, 14078, 14082, 14086, 14090, 14094, 14098, 14102, 14106, 14110, - 14114, 14118, 14122, 14126, 14130, 14134, 14138, 14142, 14146, 14150, - 14154, 14158, 14162, 14166, 14170, 14174, 14178, 14182, 14186, 14190, - 14194, 14198, 14202, 14206, 14210, 14214, 14218, 14222, 14226, 14230, - 14234, 14238, 14242, 14246, 14250, 14254, 14258, 14262, 14266, 14270, - 14274, 14278, 14282, 14286, 14290, 14294, 14298, 14302, 14306, 14310, - 14314, 14318, 14322, 14326, 14330, 14334, 14338, 14342, 14346, 14350, - 14354, 14358, 14362, 14366, 14370, 14374, 14378, 14382, 14386, 14390, - 14394, 14398, 14402, 14406, 14410, 14414, 14418, 14422, 14426, 14430, - 14434, 14438, 14442, 14446, 14450, 14454, 14458, 14462, 14466, 14470, - 14474, 14478, 14482, 14486, 14490, 14494, 14498, 14502, 14506, 14510, - 14514, 14518, 14522, 14526, 14530, 14534, 14538, 14542, 14546, 14550, - 14554, 14558, 14562, 14566, 14570, 14574, 14578, 14582, 14586, 14590, - 14594, 14598, 14602, 14606, 14610, 14614, 14618, 14622, 14626, 14630, - 14634, 14638, 14642, 14646, 14650, 14654, 14658, 14662, 14666, 14670, - 14674, 14678, 14682, 14686, 14690, 14694, 14698, 14702, 14706, 14710, - 14714, 14718, 14722, 14726, 14730, 14734, 14738, 14742, 14746, 14750, - 14754, 14758, 14762, 14766, 14770, 14774, 14778, 14782, 14786, 14790, - 14794, 14798, 14802, 14806, 14810, 14814, 14818, 14822, 14826, 14830, - 14834, 14838, 14842, 14846, 14850, 14854, 14862, 14866, 14870, 14874, - 14878, 14882, 14886, 14890, 14894, 14898, 14902, 14906, 14910, 14914, - 14918, 14922, 14926, 14930, 14934, 14938, 14942, 14946, 14950, 14954, - 14958, 14962, 14966, 14970, 14974, 14978, 14982, 14986, 14990, 14994, - 14998, 15002, 15006, 15010, 15014, 15018, 15022, 15026, 15030, 15034, - 15038, 15042, 15046, 15050, 15058, 15062, 15066, 15070, 15074, 15078, - 15082, 15086, 15090, 15094, 15098, 15102, 15106, 15110, 15114, 15118, - 15122, 15126, 15130, 15134, 15138, 15142, 15146, 15154, 15158, 15162, - 15166, 15170, 15174, 15178, 15182, 15186, 15190, 15194, 15198, 15202, - 15206, 15210, 15214, 15218, 15222, 15226, 15230, 15234, 15238, 15242, - 15246, 15250, 15254, 15258, 15262, 15266, 15270, 15274, 15278, 15282, - 15286, 15290, 15294, 15298, 15302, 15306, 15310, 15314, 15318, 15322, - 15326, 15330, 15334, 15338, 15342, 15346, 15350, 15354, 15358, 15362, - 15366, 15370, 15374, 15378, 15382, 15386, 15390, 15394, 15398, 15402, - 15406, 15410, 15414, 15418, 15422, 15426, 15430, 15434, 15438, 15442, - 15446, 15450, 15458, 15462, 15466, 15470, 15474, 15478, 15482, 15486, - 15490, 15494, 15498, 15502, 15506, 15510, 15514, 15518, 15522, 15526, - 15530, 15534, 15538, 15542, 15546, 15550, 15554, 15558, 15562, 15566, - 15570, 15574, 15578, 15582, 15586, 15590, 15594, 15598, 15602, 15606, - 15610, 15614, 15618, 15622, 15626, 15630, 15634, 15638, 15642, 15646, - 15650, 15654, 15658, 15662, 15666, 15670, 15674, 15678, 15682, 15686, - 15690, 15694, 15698, 15702, 15706, 15710, 15714, 15718, 15722, 15726, - 15730, 15734, 15738, 15742, 15746, 15750, 15754, 15758, 15762, 15766, - 15770, 15774, 15778, 15782, 15786, 15790, 15794, 15798, 15802, 15806, - 15810, 15814, 15818, 15822, 15826, 15830, 15834, 15838, 15842, 15846, - 15850, 15854, 15858, 15862, 15866, 15870, 15874, 15878, 15882, 15886, - 15890, 15894, 15898, 15902, 15906, 15910, 15914, 15918, 15922, 15926, - 15930, 15934, 15938, 15942, 15946, 15950, 15954, 15958, 15962, 15966, - 15970, 15974, 15978, 15982, 15986, 15990, 15994, 15998, 16002, 16006, - 16010, 16014, 16018, 16022, 16026, 16030, 16034, 16038, 16042, 16046, - 16050, 16054, 16058, 16062, 16066, 16070, 16074, 16078, 16082, 16086, - 16090, 16094, 16098, 16102, 16106, 16110, 16114, 16118, 16122, 16126, - 16130, 16134, 16138, 16142, 16146, 16150, 16154, 16158, 16162, 16166, - 16170, 16174, 16178, 16182, 16186, 16190, 16194, 16198, 16202, 16206, - 16210, 16214, 16218, 16222, 16226, 16230, 16234, 16238, 16242, 16246, - 16250, 16254, 16258, 16262, 16266, 16270, 16274, 16278, 16282, 16286, - 16290, 16294, 16298, 16302, 16306, 16310, 16314, 16318, 16322, 16326, - 16330, 16334, 16338, 16342, 16346, 16350, 16354, 16358, 16362, 16366, - 16370, 16374, 16378, 16382, 16386, 16390, 16394, 16398, 16402, 16406, - 16410, 16414, 16418, 16422, 16426, 16430, 16434, 16438, 16442, 16446, - 16450, 16454, 16458, 16462, 16466, 16470, 16474, 16478, 16482, 16486, - 16490, 16494, 16498, 16502, 16506, 16510, 16514, 16518, 16522, 16526, - 16530, 16534, 16538, 16542, 16546, 16550, 16554, 16558, 16562, 16566, - 16570, 16574, 16578, 16582, 16586, 16590, 16594, 16598, 16602, 16606, - 16610, 16614, 16618, 16622, 16626, 16630, 16634, 16638, 16642, 16646, - 16650, 16654, 16658, 16662, 16666, 16670, 16674, 16678, 16682, 16686, - 16690, 16694, 16698, 16702, 16706, 16710, 16714, 16718, 16722, 16726, - 16730, 16734, 16738, 16742, 16746, 16750, 16754, 16758, 16762, 16766, - 16770, 16774, 16778, 16782, 16786, 16790, 16794, 16798, 16802, 16806, - 16810, 16814, 16818, 16822, 16826, 16830, 16834, 16838, 16842, 16846, - 16850, 16854, 16858, 16862, 16866, 16870, 16874, 16878, 16882, 16886, - 16890, 16894, 16898, 16902, 16906, 16910, 16914, 16918, 16922, 16926, - 16930, 16934, 16938, 16942, 16946, 16950, 16954, 16958, 16962, 16966, - 16970, 16974, 16978, 16982, 16986, 16990, 16994, 16998, 17002, 17006, - 17010, 17014, 17018, 17022, 17026, 17030, 17034, 17038, 17042, 17046, - 17050, 17054, 17058, 17062, 17066, 17070, 17074, 17078, 17082, 17086, - 17090, 17094, 17098, 17102, 17106, 17110, 17114, 17118, 17122, 17126, - 17130, 17134, 17138, 17148, 17149, 17152, 17158, 17164, 17170, 17171, - 17172, 17173, 17174, 17187, 17187, 17194, 17194, 17203, 17218, 17220, - 17223, 17225, 17229, 17241, 17257, 17261, 17272, 17273, 17276, 17288, - 17297, 17298, 17301, 17302, 17303, 17306, 17307, 17310, 17311, 17314, - 17315, 17318, 17320, 17322, 17324, 17328, 17335, 17342, 17358, 17392, - 17402, 17405, 17409, 17422, 17423, 17425, 17427, 17431, 17445, 17451, - 17488, 17550, 17559, 17561, 17562, 17565, 17567, 17568, 17571, 17572, - 17573, 17574, 17575, 17582, 17581, 17591, 17593, 17595, 17596, 17599, - 17600, 17601, 17602, 17605, 17606, 17610, 17609, 17626, 17625, 17641, - 17640, 17655, 17661, 17662, 17665, 17667, 17668, 17671, 17672, 17673, - 17674, 17677, 17678, 17681, 17689, 17706, 17714, 17737, 17851, 17885, - 17887, 17889, 17893, 17897, 17896, 17947, 17949, 17948, 17963, 17969, - 17976, 17981, 17987, 17988, 17991, 17992, 17993, 17994, 17995, 17996, - 17997, 17998, 17999, 18002, 18003, 18004, 18005, 18006, 18007, 18008, - 18009, 18010, 18011, 18014, 18015, 18018, 18020, 18029, 18129, 18130, - 18137, 18138, 18139, 18145, 18154, 18157, 18158, 18159, 18160, 18163, - 18164, 18165, 18168, 18170, 18178, 18179, 18185, 18193, 18194, 18197, - 18198, 18201, 18206, 18213, 18218, 18225, 18232, 18232, 18234, 18241, - 18242, 18245, 18246, 18247, 18248, 18249, 18250, 18251, 18252, 18253, - 18259, 18264, 18274, 18279, 18284, 18291, 18292, 18304, 18315, 18326, - 18330, 18331, 18334, 18339, 18343, 18344, 18347, 18353, 18361, 18367, - 18374, 18378, 18379, 18382, 18385, 18389, 18390, 18393, 18399, 18408, - 18413, 18423, 18433, 18445, 18446, 18447, 18448, 18449, 18450, 18451, - 18452, 18453, 18454, 18455, 18456, 18457, 18458, 18459, 18466, 18467, - 18470, 18471, 18478, 18479, 18480, 18487, 18486, 18503, 18504, 18511, - 18510, 18581, 18587, 18593, 18601, 18607, 18613, 18619, 18625, 18631, - 18637, 18643, 18649, 18655, 18666, 18667, 18670, 18671, 18672, 18673, - 18674, 18675, 18676, 18677, 18678, 18679, 18680, 18681, 18682, 18683, - 18684, 18685, 18686, 18687, 18688, 18689, 18690, 18691, 18694, 18695, - 18696, 18697, 18698, 18699, 18703, 18704, 18705, 18706, 18707, 18708, - 18709, 18712, 18715, 18716, 18717, 18718, 18719, 18720, 18721, 18722, - 18735, 18736, 18737, 18738, 18739, 18740, 18741, 18746, 18747, 18748, - 18749, 18750, 18751, 18757, 18758, 18759, 18760, 18761, 18762, 18763, - 18764, 18765, 18766, 18767, 18770, 18771, 18772, 18773, 18774, 18777, - 18778, 18779, 18780, 18783, 18784, 18785, 18786, 18787, 18788, 18789, - 18806, 18807, 18808, 18811, 18812, 18813, 18814, 18815, 18816, 18820, - 18820, 18823, 18829, 18830, 18833, 18835, 18840, 18850, 18861, 18868, - 18869, 18870, 18873, 18906, 18908, 18910, 18912, 18914, 18916, 18917, - 18920, 18922, 18930, 18931, 18932, 18936, 18937, 18941, 18942, 18945, - 18946, 18949, 18950, 18951, 18952, 18953, 18956, 18957, 18958, 18959, - 18960, 18961, 18962, 18963, 18964, 18965, 18966, 18967, 18968, 18969, - 18970, 18971, 18972, 18973, 18974, 18975, 18976, 18977, 18978, 18979, - 18980, 18981, 18982, 18983, 18984, 18985, 18986, 18987, 18988, 18989, - 18990, 18991, 18992, 18993, 18994, 18995, 18996, 18997, 18998, 18999, - 19000, 19001, 19002, 19003, 19004, 19005, 19006, 19007, 19008, 19009, - 19010, 19011, 19014, 19015, 19016, 19017, 19020, 19021, 19022, 19023, - 19024, 19025, 19026, 19027, 19028, 19029, 19036, 19037, 19038, 19039, - 19042, 19043, 19046, 19047, 19050, 19051, 19062, 19063 + 2369, 2377, 2381, 2389, 2393, 2397, 2401, 2409, 2414, 2420, + 2425, 2431, 2435, 2439, 2443, 2447, 2451, 2459, 2463, 2467, + 2475, 2479, 2483, 2491, 2495, 2499, 2503, 2511, 2515, 2519, + 2523, 2528, 2532, 2536, 2540, 2544, 2548, 2552, 2560, 2564, + 2572, 2576, 2584, 2588, 2602, 2606, 2610, 2614, 2622, 2626, + 2630, 2634, 2642, 2646, 2650, 2654, 2658, 2662, 2666, 2674, + 2678, 2683, 2689, 2693, 2701, 2709, 2713, 2717, 2721, 2729, + 2733, 2741, 2745, 2753, 2757, 2765, 2769, 2773, 2777, 2781, + 2790, 2798, 2802, 2810, 2814, 2822, 2830, 2834, 2838, 2842, + 2846, 2854, 2858, 2862, 2866, 2870, 2874, 2878, 2882, 2886, + 2890, 2894, 2898, 2902, 2906, 2910, 2914, 2918, 2922, 2926, + 2930, 2934, 2942, 2946, 2954, 2958, 2962, 2970, 2978, 2982, + 2986, 2990, 2994, 2998, 3002, 3006, 3010, 3014, 3018, 3022, + 3026, 3030, 3034, 3038, 3042, 3046, 3050, 3054, 3058, 3062, + 3066, 3070, 3074, 3078, 3082, 3086, 3090, 3094, 3098, 3102, + 3106, 3110, 3114, 3118, 3122, 3126, 3130, 3134, 3138, 3142, + 3146, 3150, 3154, 3158, 3162, 3166, 3170, 3174, 3178, 3182, + 3186, 3190, 3194, 3198, 3202, 3206, 3210, 3214, 3222, 3226, + 3234, 3238, 3243, 3249, 3254, 3260, 3265, 3271, 3275, 3279, + 3283, 3291, 3299, 3304, 3310, 3314, 3322, 3326, 3330, 3334, + 3342, 3346, 3354, 3358, 3362, 3366, 3374, 3378, 3382, 3386, + 3394, 3402, 3406, 3414, 3422, 3426, 3434, 3438, 3442, 3446, + 3454, 3470, 3478, 3486, 3494, 3498, 3506, 3511, 3517, 3521, + 3525, 3533, 3537, 3545, 3550, 3556, 3560, 3564, 3568, 3572, + 3576, 3580, 3584, 3588, 3592, 3596, 3600, 3604, 3612, 3617, + 3623, 3628, 3634, 3639, 3645, 3649, 3657, 3665, 3669, 3673, + 3677, 3682, 3688, 3692, 3700, 3708, 3712, 3716, 3720, 3724, + 3728, 3736, 3740, 3744, 3748, 3752, 3756, 3760, 3765, 3771, + 3776, 3782, 3787, 3793, 3797, 3805, 3809, 3817, 3821, 3825, + 3833, 3837, 3845, 3853, 3857, 3865, 3869, 3877, 3882, 3888, + 3893, 3899, 3903, 3907, 3911, 3919, 3923, 3927, 3931, 3935, + 3939, 3943, 3947, 3951, 3959, 3963, 3968, 3974, 3978, 3986, + 3990, 3994, 3998, 4006, 4014, 4018, 4023, 4029, 4033, 4037, + 4041, 4045, 4049, 4053, 4057, 4061, 4065, 4073, 4077, 4085, + 4089, 4093, 4097, 4101, 4105, 4109, 4117, 4122, 4128, 4133, + 4139, 4143, 4151, 4159, 4164, 4170, 4174, 4179, 4184, 4190, + 4194, 4202, 4206, 4214, 4219, 4225, 4229, 4233, 4237, 4242, + 4248, 4256, 4264, 4268, 4272, 4276, 4280, 4288, 4293, 4299, + 4304, 4310, 4318, 4322, 4330, 4334, 4338, 4346, 4351, 4357, + 4361, 4366, 4372, 4376, 4380, 4385, 4391, 4396, 4402, 4407, + 4413, 4421, 4425, 4433, 4437, 4445, 4449, 4453, 4461, 4465, + 4473, 4481, 4485, 4490, 4496, 4500, 4508, 4516, 4521, 4527, + 4535, 4539, 4547, 4551, 4559, 4564, 4570, 4575, 4581, 4585, + 4593, 4597, 4601, 4605, 4609, 4613, 4617, 4621, 4625, 4629, + 4633, 4637, 4641, 4645, 4653, 4658, 4664, 4668, 4672, 4676, + 4684, 4688, 4696, 4700, 4708, 4713, 4719, 4723, 4731, 4736, + 4742, 4746, 4754, 4759, 4765, 4770, 4776, 4784, 4789, 4795, + 4799, 4807, 4811, 4819, 4824, 4830, 4834, 4838, 4843, 4851, + 4859, 4864, 4870, 4878, 4882, 4886, 4890, 4894, 4898, 4902, + 4906, 4910, 4914, 4918, 4922, 4926, 4934, 4942, 4946, 4950, + 4954, 4962, 4966, 4974, 4979, 4985, 4989, 4997, 5002, 5008, + 5012, 5020, 5028, 5032, 5040, 5044, 5048, 5052, 5060, 5068, + 5076, 5084, 5088, 5096, 5101, 5107, 5111, 5119, 5124, 5130, + 5134, 5138, 5146, 5150, 5154, 5158, 5166, 5174, 5178, 5186, + 5191, 5197, 5201, 5209, 5213, 5221, 5225, 5233, 5241, 5249, + 5257, 5262, 5268, 5273, 5279, 5284, 5290, 5295, 5301, 5306, + 5312, 5317, 5323, 5327, 5331, 5335, 5339, 5347, 5355, 5359, + 5367, 5371, 5379, 5383, 5387, 5395, 5399, 5407, 5411, 5415, + 5419, 5423, 5431, 5436, 5442, 5446, 5454, 5462, 5466, 5474, + 5478, 5486, 5494, 5499, 5505, 5510, 5516, 5520, 5528, 5533, + 5539, 5543, 5551, 5555, 5560, 5566, 5570, 5574, 5578, 5586, + 5591, 5598, 5600, 5608, 5612, 5616, 5620, 5624, 5628, 5636, + 5640, 5648, 5652, 5660, 5668, 5672, 5680, 5688, 5692, 5696, + 5700, 5708, 5717, 5721, 5725, 5729, 5733, 5737, 5741, 5745, + 5749, 5753, 5757, 5761, 5765, 5769, 5773, 5777, 5785, 5793, + 5797, 5805, 5809, 5817, 5821, 5825, 5829, 5833, 5837, 5845, + 5853, 5857, 5865, 5873, 5878, 5884, 5888, 5896, 5900, 5904, + 5908, 5916, 5921, 5927, 5935, 5939, 5947, 5951, 5955, 5959, + 5963, 5971, 5976, 5982, 5987, 5993, 5997, 6002, 6008, 6014, + 6020, 6028, 6032, 6040, 6044, 6052, 6056, 6064, 6068, 6076, + 6080, 6088, 6096, 6104, 6108, 6112, 6116, 6120, 6124, 6128, + 6132, 6136, 6140, 6144, 6148, 6156, 6160, 6164, 6168, 6172, + 6176, 6180, 6184, 6188, 6192, 6196, 6200, 6204, 6212, 6216, + 6220, 6224, 6228, 6236, 6240, 6244, 6248, 6252, 6256, 6260, + 6264, 6272, 6276, 6280, 6288, 6292, 6300, 6304, 6312, 6316, + 6324, 6328, 6336, 6344, 6348, 6353, 6359, 6363, 6367, 6371, + 6375, 6379, 6383, 6387, 6391, 6395, 6399, 6403, 6407, 6411, + 6415, 6419, 6423, 6427, 6435, 6439, 6447, 6451, 6455, 6459, + 6463, 6467, 6471, 6475, 6479, 6483, 6491, 6496, 6502, 6506, + 6514, 6518, 6522, 6526, 6535, 6544, 6553, 6562, 6571, 6580, + 6589, 6602, 6616, 6630, 6644, 6658, 6672, 6686, 6705, 6724, + 6743, 6757, 6776, 6790, 6809, 6827, 6831, 6839, 6844, 6850, + 6858, 6862, 6870, 6874, 6878, 6882, 6886, 6894, 6898, 6906, + 6910, 6914, 6918, 6922, 6930, 6934, 6942, 6946, 6954, 6958, + 6962, 6966, 6970, 6974, 6978, 6982, 6986, 6990, 6994, 6998, + 7002, 7006, 7010, 7014, 7018, 7022, 7026, 7030, 7034, 7042, + 7046, 7054, 7058, 7066, 7071, 7077, 7085, 7089, 7097, 7102, + 7108, 7113, 7119, 7127, 7132, 7138, 7142, 7146, 7154, 7158, + 7162, 7170, 7174, 7178, 7182, 7186, 7190, 7198, 7202, 7210, + 7215, 7221, 7226, 7232, 7237, 7243, 7248, 7254, 7258, 7266, + 7270, 7278, 7282, 7286, 7294, 7299, 7305, 7309, 7317, 7322, + 7328, 7333, 7339, 7343, 7348, 7354, 7358, 7363, 7369, 7373, + 7377, 7381, 7389, 7394, 7400, 7404, 7412, 7416, 7424, 7428, + 7436, 7440, 7444, 7448, 7456, 7460, 7468, 7472, 7480, 7484, + 7488, 7492, 7496, 7504, 7508, 7512, 7516, 7520, 7528, 7536, + 7544, 7548, 7552, 7560, 7564, 7568, 7576, 7584, 7588, 7592, + 7596, 7604, 7608, 7616, 7624, 7628, 7636, 7641, 7647, 7651, + 7659, 7663, 7667, 7671, 7675, 7679, 7683, 7687, 7691, 7695, + 7699, 7703, 7707, 7711, 7715, 7719, 7723, 7731, 7735, 7739, + 7743, 7747, 7755, 7759, 7767, 7775, 7779, 7784, 7790, 7795, + 7801, 7805, 7813, 7817, 7825, 7830, 7836, 7844, 7848, 7856, + 7860, 7864, 7872, 7876, 7884, 7889, 7895, 7899, 7903, 7907, + 7911, 7915, 7923, 7927, 7935, 7939, 7947, 7951, 7955, 7959, + 7967, 7971, 7979, 7983, 7991, 7999, 8007, 8011, 8019, 8023, + 8031, 8035, 8039, 8047, 8051, 8056, 8062, 8070, 8075, 8081, + 8089, 8093, 8097, 8101, 8109, 8117, 8121, 8125, 8129, 8137, + 8141, 8149, 8153, 8157, 8165, 8169, 8177, 8181, 8185, 8189, + 8193, 8197, 8201, 8205, 8209, 8213, 8217, 8221, 8225, 8229, + 8233, 8237, 8241, 8245, 8249, 8253, 8257, 8261, 8265, 8269, + 8273, 8277, 8281, 8285, 8289, 8293, 8297, 8301, 8305, 8309, + 8313, 8317, 8321, 8325, 8329, 8333, 8337, 8341, 8345, 8349, + 8353, 8357, 8361, 8365, 8369, 8373, 8377, 8381, 8385, 8389, + 8393, 8401, 8406, 8412, 8417, 8423, 8427, 8431, 8435, 8439, + 8443, 8451, 8456, 8462, 8466, 8470, 8474, 8478, 8482, 8486, + 8490, 8494, 8498, 8502, 8506, 8510, 8514, 8518, 8522, 8526, + 8530, 8534, 8538, 8542, 8546, 8550, 8554, 8558, 8562, 8566, + 8574, 8582, 8586, 8594, 8598, 8606, 8610, 8614, 8618, 8622, + 8630, 8638, 8642, 8646, 8650, 8654, 8658, 8662, 8666, 8670, + 8674, 8678, 8682, 8686, 8690, 8694, 8698, 8702, 8706, 8710, + 8714, 8718, 8722, 8726, 8730, 8738, 8742, 8746, 8754, 8758, + 8762, 8766, 8770, 8774, 8778, 8786, 8790, 8798, 8802, 8806, + 8810, 8818, 8826, 8830, 8834, 8838, 8842, 8846, 8850, 8854, + 8858, 8866, 8870, 8878, 8886, 8890, 8894, 8902, 8906, 8914, + 8918, 8922, 8926, 8930, 8938, 8943, 8949, 8953, 8957, 8961, + 8969, 8973, 8978, 8984, 8992, 8997, 9003, 9011, 9015, 9023, + 9027, 9031, 9035, 9039, 9043, 9047, 9051, 9055, 9059, 9063, + 9067, 9075, 9079, 9087, 9091, 9096, 9102, 9106, 9110, 9114, + 9118, 9126, 9130, 9134, 9142, 9147, 9153, 9157, 9162, 9168, + 9172, 9176, 9180, 9188, 9192, 9196, 9201, 9207, 9215, 9223, + 9228, 9234, 9238, 9246, 9250, 9254, 9262, 9266, 9270, 9274, + 9278, 9282, 9286, 9294, 9299, 9305, 9309, 9313, 9317, 9325, + 9333, 9337, 9341, 9345, 9353, 9357, 9365, 9373, 9381, 9385, + 9393, 9401, 9405, 9409, 9413, 9417, 9421, 9425, 9433, 9438, + 9444, 9452, 9456, 9460, 9464, 9468, 9472, 9480, 9484, 9492, + 9500, 9504, 9508, 9512, 9520, 9525, 9531, 9535, 9543, 9547, + 9555, 9559, 9567, 9571, 9579, 9587, 9591, 9599, 9603, 9608, + 9614, 9619, 9625, 9630, 9636, 9641, 9647, 9652, 9658, 9663, + 9669, 9677, 9681, 9689, 9694, 9700, 9704, 9708, 9712, 9720, + 9724, 9728, 9732, 9736, 9740, 9744, 9748, 9752, 9756, 9764, + 9770, 9780, 9785, 9791, 9795, 9799, 9803, 9807, 9815, 9820, + 9824, 9832, 9837, 9843, 9851, 9855, 9863, 9867, 9871, 9875, + 9879, 9887, 9891, 9899, 9903, 9911, 9919, 9923, 9928, 9934, + 9938, 9943, 9949, 9954, 9960, 9968, 9973, 9979, 9987, 9992, + 9998, 10002, 10006, 10010, 10014, 10018, 10022, 10026, 10034, 10039, + 10045, 10049, 10054, 10060, 10068, 10072, 10080, 10084, 10092, 10100, + 10104, 10112, 10120, 10124, 10132, 10136, 10140, 10144, 10148, 10156, + 10161, 10167, 10175, 10183, 10187, 10191, 10195, 10199, 10207, 10215, + 10266, 10270, 10283, 10285, 10289, 10293, 10297, 10301, 10310, 10316, + 10320, 10328, 10332, 10340, 10344, 10352, 10356, 10360, 10364, 10368, + 10372, 10376, 10380, 10388, 10392, 10400, 10404, 10408, 10412, 10416, + 10420, 10424, 10432, 10436, 10440, 10448, 10452, 10460, 10468, 10472, + 10477, 10483, 10487, 10492, 10498, 10502, 10507, 10513, 10518, 10524, + 10529, 10531, 10537, 10541, 10545, 10549, 10553, 10557, 10561, 10565, + 10569, 10577, 10582, 10588, 10592, 10597, 10603, 10607, 10615, 10620, + 10626, 10631, 10637, 10645, 10649, 10657, 10661, 10669, 10673, 10677, + 10681, 10689, 10694, 10700, 10704, 10709, 10713, 10717, 10721, 10729, + 10733, 10741, 10745, 10753, 10761, 10765, 10769, 10777, 10781, 10789, + 10793, 10801, 10805, 10813, 10818, 10824, 10828, 10836, 10840, 10844, + 10848, 10852, 10860, 10868, 10876, 10884, 10892, 10897, 10903, 10907, + 10915, 10920, 10926, 10930, 10938, 10946, 10950, 10954, 10958, 10966, + 10971, 10977, 10981, 10989, 10994, 11000, 11004, 11012, 11016, 11020, + 11024, 11028, 11032, 11036, 11043, 11050, 11054, 11062, 11066, 11070, + 11074, 11078, 11082, 11090, 11094, 11098, 11102, 11110, 11115, 11121, + 11126, 11132, 11136, 11140, 11144, 11149, 11155, 11159, 11163, 11167, + 11175, 11180, 11186, 11190, 11198, 11202, 11210, 11214, 11218, 11226, + 11230, 11238, 11242, 11246, 11254, 11262, 11267, 11273, 11277, 11285, + 11293, 11297, 11305, 11310, 11316, 11321, 11327, 11332, 11338, 11342, + 11348, 11354, 11359, 11365, 11369, 11377, 11385, 11389, 11397, 11401, + 11409, 11413, 11417, 11425, 11429, 11437, 11441, 11445, 11449, 11457, + 11461, 11469, 11473, 11481, 11483, 11485, 11489, 11493, 11497, 11505, + 11515, 11526, 11535, 11539, 11543, 11547, 11551, 11555, 11559, 11567, + 11571, 11575, 11579, 11587, 11591, 11599, 11604, 11610, 11614, 11618, + 11622, 11626, 11630, 11634, 11638, 11642, 11646, 11650, 11658, 11663, + 11669, 11673, 11681, 11685, 11693, 11701, 11709, 11713, 11721, 11725, + 11733, 11741, 11749, 11753, 11757, 11761, 11765, 11769, 11777, 11782, + 11788, 11792, 11796, 11800, 11808, 11816, 11820, 11825, 11831, 11835, + 11839, 11843, 11847, 11851, 11855, 11859, 11863, 11867, 11871, 11875, + 11879, 11884, 11890, 11894, 11902, 11906, 11910, 11914, 11918, 11922, + 11926, 11930, 11934, 11938, 11942, 11946, 11950, 11954, 11958, 11962, + 11966, 11970, 11974, 11978, 11982, 11986, 11990, 11994, 11998, 12002, + 12006, 12010, 12014, 12018, 12022, 12026, 12030, 12034, 12038, 12042, + 12046, 12050, 12054, 12058, 12062, 12066, 12070, 12074, 12078, 12082, + 12086, 12090, 12094, 12098, 12102, 12106, 12110, 12114, 12118, 12122, + 12126, 12130, 12135, 12139, 12143, 12147, 12151, 12155, 12159, 12167, + 12171, 12175, 12179, 12183, 12187, 12191, 12195, 12199, 12203, 12207, + 12211, 12215, 12219, 12223, 12227, 12231, 12235, 12239, 12243, 12247, + 12251, 12259, 12263, 12267, 12271, 12275, 12279, 12283, 12287, 12291, + 12295, 12299, 12303, 12307, 12311, 12319, 12323, 12327, 12331, 12335, + 12339, 12343, 12351, 12355, 12363, 12367, 12375, 12379, 12383, 12387, + 12391, 12395, 12399, 12403, 12407, 12411, 12415, 12419, 12423, 12427, + 12431, 12435, 12439, 12443, 12447, 12451, 12455, 12459, 12463, 12467, + 12471, 12475, 12479, 12483, 12487, 12491, 12495, 12499, 12503, 12507, + 12511, 12515, 12519, 12523, 12527, 12531, 12535, 12539, 12543, 12547, + 12551, 12555, 12563, 12567, 12575, 12579, 12583, 12588, 12594, 12602, + 12606, 12614, 12618, 12626, 12630, 12638, 12642, 12647, 12653, 12657, + 12661, 12665, 12673, 12677, 12685, 12690, 12696, 12701, 12707, 12712, + 12718, 12722, 12730, 12738, 12742, 12747, 12753, 12761, 12765, 12772, + 12777, 12783, 12787, 12791, 12796, 12802, 12806, 12814, 12818, 12822, + 12826, 12830, 12838, 12842, 12846, 12850, 12855, 12861, 12865, 12869, + 12877, 12881, 12889, 12897, 12901, 12905, 12913, 12917, 12925, 12929, + 12933, 12937, 12941, 12945, 12949, 12953, 12957, 12961, 12965, 12969, + 12977, 12981, 12989, 12993, 13001, 13005, 13009, 13013, 13017, 13021, + 13029, 13033, 13041, 13045, 13053, 13057, 13061, 13069, 13074, 13080, + 13084, 13092, 13096, 13100, 13108, 13112, 13120, 13128, 13132, 13136, + 13140, 13144, 13148, 13152, 13156, 13164, 13168, 13172, 13176, 13184, + 13188, 13196, 13204, 13208, 13212, 13216, 13220, 13228, 13232, 13236, + 13244, 13248, 13256, 13264, 13268, 13276, 13284, 13289, 13295, 13300, + 13306, 13310, 13318, 13322, 13326, 13330, 13338, 13343, 13349, 13353, + 13362, 13364, 13372, 13377, 13383, 13388, 13394, 13398, 13406, 13410, + 13414, 13418, 13426, 13430, 13438, 13442, 13450, 13454, 13462, 13470, + 13478, 13486, 13490, 13498, 13502, 13506, 13510, 13514, 13518, 13522, + 13526, 13530, 13534, 13538, 13542, 13546, 13550, 13551, 13556, 13562, + 13566, 13567, 13571, 13579, 13587, 13591, 13595, 13599, 13607, 13611, + 13619, 13623, 13627, 13631, 13639, 13643, 13651, 13655, 13659, 13663, + 13667, 13671, 13675, 13679, 13683, 13687, 13691, 13695, 13699, 13703, + 13707, 13711, 13715, 13719, 13723, 13727, 13731, 13735, 13739, 13743, + 13747, 13751, 13755, 13759, 13763, 13767, 13771, 13775, 13779, 13783, + 13787, 13791, 13795, 13799, 13803, 13807, 13811, 13815, 13819, 13823, + 13827, 13831, 13835, 13839, 13843, 13847, 13851, 13855, 13859, 13863, + 13867, 13871, 13875, 13879, 13883, 13887, 13891, 13895, 13899, 13903, + 13907, 13911, 13915, 13919, 13923, 13927, 13931, 13935, 13939, 13943, + 13947, 13951, 13955, 13959, 13963, 13967, 13971, 13975, 13979, 13983, + 13987, 13991, 13995, 13999, 14003, 14007, 14011, 14015, 14019, 14023, + 14027, 14031, 14035, 14039, 14043, 14047, 14051, 14055, 14059, 14063, + 14067, 14071, 14075, 14079, 14083, 14087, 14091, 14095, 14099, 14103, + 14107, 14111, 14115, 14119, 14123, 14127, 14131, 14135, 14139, 14143, + 14147, 14151, 14155, 14159, 14163, 14167, 14171, 14175, 14179, 14183, + 14187, 14191, 14195, 14199, 14203, 14207, 14211, 14215, 14219, 14223, + 14227, 14231, 14235, 14239, 14243, 14247, 14251, 14255, 14259, 14263, + 14267, 14271, 14275, 14279, 14283, 14287, 14291, 14295, 14299, 14303, + 14307, 14311, 14315, 14319, 14323, 14327, 14331, 14335, 14339, 14343, + 14347, 14351, 14355, 14359, 14363, 14367, 14371, 14375, 14379, 14383, + 14387, 14391, 14395, 14399, 14403, 14407, 14411, 14415, 14419, 14423, + 14427, 14431, 14435, 14439, 14443, 14447, 14451, 14455, 14459, 14463, + 14467, 14471, 14475, 14479, 14483, 14487, 14491, 14495, 14499, 14503, + 14507, 14511, 14515, 14519, 14523, 14527, 14531, 14535, 14539, 14543, + 14547, 14551, 14555, 14559, 14563, 14567, 14571, 14575, 14579, 14583, + 14587, 14591, 14595, 14599, 14603, 14607, 14611, 14615, 14619, 14623, + 14627, 14631, 14635, 14639, 14643, 14647, 14651, 14655, 14659, 14663, + 14667, 14671, 14675, 14679, 14683, 14687, 14691, 14695, 14699, 14703, + 14707, 14711, 14715, 14719, 14723, 14727, 14731, 14735, 14739, 14743, + 14747, 14751, 14755, 14759, 14763, 14767, 14771, 14775, 14779, 14783, + 14787, 14791, 14795, 14799, 14803, 14807, 14811, 14815, 14819, 14823, + 14827, 14831, 14835, 14839, 14843, 14847, 14855, 14859, 14863, 14867, + 14871, 14875, 14879, 14883, 14887, 14891, 14895, 14899, 14903, 14907, + 14911, 14915, 14919, 14923, 14927, 14931, 14935, 14939, 14943, 14947, + 14951, 14955, 14959, 14963, 14967, 14971, 14975, 14979, 14983, 14987, + 14991, 14995, 14999, 15003, 15007, 15011, 15015, 15019, 15023, 15027, + 15031, 15035, 15039, 15043, 15051, 15055, 15059, 15063, 15067, 15071, + 15075, 15079, 15083, 15087, 15091, 15095, 15099, 15103, 15107, 15111, + 15115, 15119, 15123, 15127, 15131, 15135, 15139, 15147, 15151, 15155, + 15159, 15163, 15167, 15171, 15175, 15179, 15183, 15187, 15191, 15195, + 15199, 15203, 15207, 15211, 15215, 15219, 15223, 15227, 15231, 15235, + 15239, 15243, 15247, 15251, 15255, 15259, 15263, 15267, 15271, 15275, + 15279, 15283, 15287, 15291, 15295, 15299, 15303, 15307, 15311, 15315, + 15319, 15323, 15327, 15331, 15335, 15339, 15343, 15347, 15351, 15355, + 15359, 15363, 15367, 15371, 15375, 15379, 15383, 15387, 15391, 15395, + 15399, 15403, 15407, 15411, 15415, 15419, 15423, 15427, 15431, 15435, + 15439, 15443, 15451, 15455, 15459, 15463, 15467, 15471, 15475, 15479, + 15483, 15487, 15491, 15495, 15499, 15503, 15507, 15511, 15515, 15519, + 15523, 15527, 15531, 15535, 15539, 15543, 15547, 15551, 15555, 15559, + 15563, 15567, 15571, 15575, 15579, 15583, 15587, 15591, 15595, 15599, + 15603, 15607, 15611, 15615, 15619, 15623, 15627, 15631, 15635, 15639, + 15643, 15647, 15651, 15655, 15659, 15663, 15667, 15671, 15675, 15679, + 15683, 15687, 15691, 15695, 15699, 15703, 15707, 15711, 15715, 15719, + 15723, 15727, 15731, 15735, 15739, 15743, 15747, 15751, 15755, 15759, + 15763, 15767, 15771, 15775, 15779, 15783, 15787, 15791, 15795, 15799, + 15803, 15807, 15811, 15815, 15819, 15823, 15827, 15831, 15835, 15839, + 15843, 15847, 15851, 15855, 15859, 15863, 15867, 15871, 15875, 15879, + 15883, 15887, 15891, 15895, 15899, 15903, 15907, 15911, 15915, 15919, + 15923, 15927, 15931, 15935, 15939, 15943, 15947, 15951, 15955, 15959, + 15963, 15967, 15971, 15975, 15979, 15983, 15987, 15991, 15995, 15999, + 16003, 16007, 16011, 16015, 16019, 16023, 16027, 16031, 16035, 16039, + 16043, 16047, 16051, 16055, 16059, 16063, 16067, 16071, 16075, 16079, + 16083, 16087, 16091, 16095, 16099, 16103, 16107, 16111, 16115, 16119, + 16123, 16127, 16131, 16135, 16139, 16143, 16147, 16151, 16155, 16159, + 16163, 16167, 16171, 16175, 16179, 16183, 16187, 16191, 16195, 16199, + 16203, 16207, 16211, 16215, 16219, 16223, 16227, 16231, 16235, 16239, + 16243, 16247, 16251, 16255, 16259, 16263, 16267, 16271, 16275, 16279, + 16283, 16287, 16291, 16295, 16299, 16303, 16307, 16311, 16315, 16319, + 16323, 16327, 16331, 16335, 16339, 16343, 16347, 16351, 16355, 16359, + 16363, 16367, 16371, 16375, 16379, 16383, 16387, 16391, 16395, 16399, + 16403, 16407, 16411, 16415, 16419, 16423, 16427, 16431, 16435, 16439, + 16443, 16447, 16451, 16455, 16459, 16463, 16467, 16471, 16475, 16479, + 16483, 16487, 16491, 16495, 16499, 16503, 16507, 16511, 16515, 16519, + 16523, 16527, 16531, 16535, 16539, 16543, 16547, 16551, 16555, 16559, + 16563, 16567, 16571, 16575, 16579, 16583, 16587, 16591, 16595, 16599, + 16603, 16607, 16611, 16615, 16619, 16623, 16627, 16631, 16635, 16639, + 16643, 16647, 16651, 16655, 16659, 16663, 16667, 16671, 16675, 16679, + 16683, 16687, 16691, 16695, 16699, 16703, 16707, 16711, 16715, 16719, + 16723, 16727, 16731, 16735, 16739, 16743, 16747, 16751, 16755, 16759, + 16763, 16767, 16771, 16775, 16779, 16783, 16787, 16791, 16795, 16799, + 16803, 16807, 16811, 16815, 16819, 16823, 16827, 16831, 16835, 16839, + 16843, 16847, 16851, 16855, 16859, 16863, 16867, 16871, 16875, 16879, + 16883, 16887, 16891, 16895, 16899, 16903, 16907, 16911, 16915, 16919, + 16923, 16927, 16931, 16935, 16939, 16943, 16947, 16951, 16955, 16959, + 16963, 16967, 16971, 16975, 16979, 16983, 16987, 16991, 16995, 16999, + 17003, 17007, 17011, 17015, 17019, 17023, 17027, 17031, 17035, 17039, + 17043, 17047, 17051, 17055, 17059, 17063, 17067, 17071, 17075, 17079, + 17083, 17087, 17091, 17095, 17099, 17103, 17107, 17111, 17115, 17119, + 17123, 17127, 17131, 17141, 17142, 17145, 17151, 17157, 17163, 17164, + 17165, 17166, 17167, 17180, 17180, 17187, 17187, 17196, 17211, 17213, + 17216, 17218, 17222, 17234, 17250, 17254, 17265, 17266, 17269, 17281, + 17290, 17291, 17294, 17295, 17296, 17299, 17300, 17303, 17304, 17307, + 17308, 17311, 17313, 17315, 17317, 17321, 17328, 17335, 17351, 17385, + 17395, 17398, 17402, 17415, 17416, 17418, 17420, 17424, 17438, 17444, + 17481, 17543, 17552, 17554, 17555, 17558, 17560, 17561, 17564, 17565, + 17566, 17567, 17568, 17575, 17574, 17584, 17586, 17588, 17589, 17592, + 17593, 17594, 17595, 17598, 17599, 17603, 17602, 17619, 17618, 17634, + 17633, 17648, 17654, 17655, 17658, 17660, 17661, 17664, 17665, 17666, + 17667, 17670, 17671, 17674, 17682, 17699, 17707, 17730, 17844, 17878, + 17880, 17882, 17886, 17890, 17889, 17940, 17942, 17941, 17956, 17962, + 17969, 17974, 17980, 17981, 17984, 17985, 17986, 17987, 17988, 17989, + 17990, 17991, 17992, 17995, 17996, 17997, 17998, 17999, 18000, 18001, + 18002, 18003, 18004, 18007, 18008, 18011, 18013, 18022, 18122, 18123, + 18130, 18131, 18132, 18138, 18147, 18150, 18151, 18152, 18153, 18156, + 18157, 18158, 18161, 18163, 18171, 18172, 18178, 18186, 18187, 18190, + 18191, 18194, 18199, 18206, 18211, 18218, 18225, 18225, 18227, 18234, + 18235, 18238, 18239, 18240, 18241, 18242, 18243, 18244, 18245, 18246, + 18252, 18257, 18267, 18272, 18277, 18284, 18285, 18297, 18308, 18319, + 18323, 18324, 18327, 18332, 18336, 18337, 18340, 18346, 18354, 18360, + 18367, 18371, 18372, 18375, 18378, 18382, 18383, 18386, 18392, 18401, + 18406, 18416, 18426, 18438, 18439, 18440, 18441, 18442, 18443, 18444, + 18445, 18446, 18447, 18448, 18449, 18450, 18451, 18452, 18459, 18460, + 18463, 18464, 18471, 18472, 18473, 18480, 18479, 18496, 18497, 18504, + 18503, 18574, 18580, 18586, 18594, 18600, 18606, 18612, 18618, 18624, + 18630, 18636, 18642, 18648, 18659, 18660, 18663, 18664, 18665, 18666, + 18667, 18668, 18669, 18670, 18671, 18672, 18673, 18674, 18675, 18676, + 18677, 18678, 18679, 18680, 18681, 18682, 18683, 18684, 18687, 18688, + 18689, 18690, 18691, 18692, 18696, 18697, 18698, 18699, 18700, 18701, + 18702, 18705, 18708, 18709, 18710, 18711, 18712, 18713, 18714, 18715, + 18728, 18729, 18730, 18731, 18732, 18733, 18734, 18739, 18740, 18741, + 18742, 18743, 18744, 18750, 18751, 18752, 18753, 18754, 18755, 18756, + 18757, 18758, 18759, 18760, 18763, 18764, 18765, 18766, 18767, 18770, + 18771, 18772, 18773, 18776, 18777, 18778, 18779, 18780, 18781, 18782, + 18799, 18800, 18801, 18804, 18805, 18806, 18807, 18808, 18809, 18813, + 18813, 18816, 18822, 18823, 18826, 18828, 18833, 18843, 18854, 18861, + 18862, 18863, 18866, 18899, 18901, 18903, 18905, 18907, 18909, 18910, + 18913, 18915, 18923, 18924, 18925, 18929, 18930, 18934, 18935, 18938, + 18939, 18942, 18943, 18944, 18945, 18946, 18949, 18950, 18951, 18952, + 18953, 18954, 18955, 18956, 18957, 18958, 18959, 18960, 18961, 18962, + 18963, 18964, 18965, 18966, 18967, 18968, 18969, 18970, 18971, 18972, + 18973, 18974, 18975, 18976, 18977, 18978, 18979, 18980, 18981, 18982, + 18983, 18984, 18985, 18986, 18987, 18988, 18989, 18990, 18991, 18992, + 18993, 18994, 18995, 18996, 18997, 18998, 18999, 19000, 19001, 19002, + 19003, 19004, 19007, 19008, 19009, 19010, 19013, 19014, 19015, 19016, + 19017, 19018, 19019, 19020, 19021, 19022, 19029, 19030, 19031, 19032, + 19035, 19036, 19039, 19040, 19043, 19044, 19055, 19056 }; #endif @@ -38590,310 +38590,308 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") case 195: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS OptSchemaName AUTHORIZATION RoleSpec OptSchemaEltList */ #line 2398 "preproc.y" { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(5,mm_strdup("create schema if not exists"),(yyvsp[-3].str),mm_strdup("authorization"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 38597 "preproc.c" +#line 38596 "preproc.c" break; case 196: /* CreateSchemaStmt: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList */ -#line 2403 "preproc.y" +#line 2402 "preproc.y" { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(3,mm_strdup("create schema if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 38606 "preproc.c" +#line 38604 "preproc.c" break; case 197: /* OptSchemaName: ColId */ -#line 2412 "preproc.y" +#line 2410 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38614 "preproc.c" +#line 38612 "preproc.c" break; case 198: /* OptSchemaName: %empty */ -#line 2416 "preproc.y" +#line 2414 "preproc.y" { (yyval.str)=EMPTY; } -#line 38621 "preproc.c" +#line 38619 "preproc.c" break; case 199: /* OptSchemaEltList: OptSchemaEltList schema_stmt */ -#line 2423 "preproc.y" +#line 2421 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 38629 "preproc.c" +#line 38627 "preproc.c" break; case 200: /* OptSchemaEltList: %empty */ -#line 2427 "preproc.y" +#line 2425 "preproc.y" { (yyval.str)=EMPTY; } -#line 38636 "preproc.c" +#line 38634 "preproc.c" break; case 201: /* schema_stmt: CreateStmt */ -#line 2434 "preproc.y" +#line 2432 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38644 "preproc.c" +#line 38642 "preproc.c" break; case 202: /* schema_stmt: IndexStmt */ -#line 2438 "preproc.y" +#line 2436 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38652 "preproc.c" +#line 38650 "preproc.c" break; case 203: /* schema_stmt: CreateSeqStmt */ -#line 2442 "preproc.y" +#line 2440 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38660 "preproc.c" +#line 38658 "preproc.c" break; case 204: /* schema_stmt: CreateTrigStmt */ -#line 2446 "preproc.y" +#line 2444 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38668 "preproc.c" +#line 38666 "preproc.c" break; case 205: /* schema_stmt: GrantStmt */ -#line 2450 "preproc.y" +#line 2448 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38676 "preproc.c" +#line 38674 "preproc.c" break; case 206: /* schema_stmt: ViewStmt */ -#line 2454 "preproc.y" +#line 2452 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38684 "preproc.c" +#line 38682 "preproc.c" break; case 207: /* VariableSetStmt: SET set_rest */ -#line 2462 "preproc.y" +#line 2460 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } -#line 38692 "preproc.c" +#line 38690 "preproc.c" break; case 208: /* VariableSetStmt: SET LOCAL set_rest */ -#line 2466 "preproc.y" +#line 2464 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set local"),(yyvsp[0].str)); } -#line 38700 "preproc.c" +#line 38698 "preproc.c" break; case 209: /* VariableSetStmt: SET SESSION set_rest */ -#line 2470 "preproc.y" +#line 2468 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set session"),(yyvsp[0].str)); } -#line 38708 "preproc.c" +#line 38706 "preproc.c" break; case 210: /* set_rest: TRANSACTION transaction_mode_list */ -#line 2478 "preproc.y" +#line 2476 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transaction"),(yyvsp[0].str)); } -#line 38716 "preproc.c" +#line 38714 "preproc.c" break; case 211: /* set_rest: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list */ -#line 2482 "preproc.y" +#line 2480 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("session characteristics as transaction"),(yyvsp[0].str)); } -#line 38724 "preproc.c" +#line 38722 "preproc.c" break; case 212: /* set_rest: set_rest_more */ -#line 2486 "preproc.y" +#line 2484 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38732 "preproc.c" +#line 38730 "preproc.c" break; case 213: /* generic_set: var_name TO var_list */ -#line 2494 "preproc.y" +#line 2492 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 38740 "preproc.c" +#line 38738 "preproc.c" break; case 214: /* generic_set: var_name '=' var_list */ -#line 2498 "preproc.y" +#line 2496 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 38748 "preproc.c" +#line 38746 "preproc.c" break; case 215: /* generic_set: var_name TO DEFAULT */ -#line 2502 "preproc.y" +#line 2500 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("to default")); } -#line 38756 "preproc.c" +#line 38754 "preproc.c" break; case 216: /* generic_set: var_name '=' DEFAULT */ -#line 2506 "preproc.y" +#line 2504 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("= default")); } -#line 38764 "preproc.c" +#line 38762 "preproc.c" break; case 217: /* set_rest_more: generic_set */ -#line 2514 "preproc.y" +#line 2512 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38772 "preproc.c" +#line 38770 "preproc.c" break; case 218: /* set_rest_more: var_name FROM CURRENT_P */ -#line 2518 "preproc.y" +#line 2516 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("from current")); } -#line 38780 "preproc.c" +#line 38778 "preproc.c" break; case 219: /* set_rest_more: TIME ZONE zone_value */ -#line 2522 "preproc.y" +#line 2520 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("time zone"),(yyvsp[0].str)); } -#line 38788 "preproc.c" +#line 38786 "preproc.c" break; case 220: /* set_rest_more: CATALOG_P ecpg_sconst */ -#line 2526 "preproc.y" +#line 2524 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(2,mm_strdup("catalog"),(yyvsp[0].str)); } -#line 38797 "preproc.c" +#line 38795 "preproc.c" break; case 221: /* set_rest_more: SCHEMA ecpg_sconst */ -#line 2531 "preproc.y" +#line 2529 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } -#line 38805 "preproc.c" +#line 38803 "preproc.c" break; case 222: /* set_rest_more: NAMES opt_encoding */ -#line 2535 "preproc.y" +#line 2533 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("names"),(yyvsp[0].str)); } -#line 38813 "preproc.c" +#line 38811 "preproc.c" break; case 223: /* set_rest_more: ROLE NonReservedWord_or_Sconst */ -#line 2539 "preproc.y" +#line 2537 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("role"),(yyvsp[0].str)); } -#line 38821 "preproc.c" +#line 38819 "preproc.c" break; case 224: /* set_rest_more: SESSION AUTHORIZATION NonReservedWord_or_Sconst */ -#line 2543 "preproc.y" +#line 2541 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("session authorization"),(yyvsp[0].str)); } -#line 38829 "preproc.c" +#line 38827 "preproc.c" break; case 225: /* set_rest_more: SESSION AUTHORIZATION DEFAULT */ -#line 2547 "preproc.y" +#line 2545 "preproc.y" { (yyval.str) = mm_strdup("session authorization default"); } -#line 38837 "preproc.c" +#line 38835 "preproc.c" break; case 226: /* set_rest_more: XML_P OPTION document_or_content */ -#line 2551 "preproc.y" +#line 2549 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("xml option"),(yyvsp[0].str)); } -#line 38845 "preproc.c" +#line 38843 "preproc.c" break; case 227: /* set_rest_more: TRANSACTION SNAPSHOT ecpg_sconst */ -#line 2555 "preproc.y" +#line 2553 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transaction snapshot"),(yyvsp[0].str)); } -#line 38853 "preproc.c" +#line 38851 "preproc.c" break; case 228: /* var_name: ECPGColId */ -#line 2563 "preproc.y" +#line 2561 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38861 "preproc.c" +#line 38859 "preproc.c" break; case 229: /* var_name: var_name '.' ColId */ -#line 2567 "preproc.y" +#line 2565 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } -#line 38869 "preproc.c" +#line 38867 "preproc.c" break; case 230: /* var_list: var_value */ -#line 2575 "preproc.y" +#line 2573 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38877 "preproc.c" +#line 38875 "preproc.c" break; case 231: /* var_list: var_list ',' var_value */ -#line 2579 "preproc.y" +#line 2577 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 38885 "preproc.c" +#line 38883 "preproc.c" break; case 232: /* var_value: opt_boolean_or_string */ -#line 2587 "preproc.y" +#line 2585 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38893 "preproc.c" +#line 38891 "preproc.c" break; case 233: /* var_value: NumericOnly */ -#line 2591 "preproc.y" +#line 2589 "preproc.y" { if ((yyvsp[0].str)[0] == '$') { @@ -38903,1415 +38901,1415 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = (yyvsp[0].str); } -#line 38907 "preproc.c" +#line 38905 "preproc.c" break; case 234: /* iso_level: READ UNCOMMITTED */ -#line 2605 "preproc.y" +#line 2603 "preproc.y" { (yyval.str) = mm_strdup("read uncommitted"); } -#line 38915 "preproc.c" +#line 38913 "preproc.c" break; case 235: /* iso_level: READ COMMITTED */ -#line 2609 "preproc.y" +#line 2607 "preproc.y" { (yyval.str) = mm_strdup("read committed"); } -#line 38923 "preproc.c" +#line 38921 "preproc.c" break; case 236: /* iso_level: REPEATABLE READ */ -#line 2613 "preproc.y" +#line 2611 "preproc.y" { (yyval.str) = mm_strdup("repeatable read"); } -#line 38931 "preproc.c" +#line 38929 "preproc.c" break; case 237: /* iso_level: SERIALIZABLE */ -#line 2617 "preproc.y" +#line 2615 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } -#line 38939 "preproc.c" +#line 38937 "preproc.c" break; case 238: /* opt_boolean_or_string: TRUE_P */ -#line 2625 "preproc.y" +#line 2623 "preproc.y" { (yyval.str) = mm_strdup("true"); } -#line 38947 "preproc.c" +#line 38945 "preproc.c" break; case 239: /* opt_boolean_or_string: FALSE_P */ -#line 2629 "preproc.y" +#line 2627 "preproc.y" { (yyval.str) = mm_strdup("false"); } -#line 38955 "preproc.c" +#line 38953 "preproc.c" break; case 240: /* opt_boolean_or_string: ON */ -#line 2633 "preproc.y" +#line 2631 "preproc.y" { (yyval.str) = mm_strdup("on"); } -#line 38963 "preproc.c" +#line 38961 "preproc.c" break; case 241: /* opt_boolean_or_string: NonReservedWord_or_Sconst */ -#line 2637 "preproc.y" +#line 2635 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38971 "preproc.c" +#line 38969 "preproc.c" break; case 242: /* zone_value: ecpg_sconst */ -#line 2645 "preproc.y" +#line 2643 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38979 "preproc.c" +#line 38977 "preproc.c" break; case 243: /* zone_value: ecpg_ident */ -#line 2649 "preproc.y" +#line 2647 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 38987 "preproc.c" +#line 38985 "preproc.c" break; case 244: /* zone_value: ConstInterval ecpg_sconst opt_interval */ -#line 2653 "preproc.y" +#line 2651 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 38995 "preproc.c" +#line 38993 "preproc.c" break; case 245: /* zone_value: ConstInterval '(' Iconst ')' ecpg_sconst */ -#line 2657 "preproc.y" +#line 2655 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 39003 "preproc.c" +#line 39001 "preproc.c" break; case 246: /* zone_value: NumericOnly */ -#line 2661 "preproc.y" +#line 2659 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39011 "preproc.c" +#line 39009 "preproc.c" break; case 247: /* zone_value: DEFAULT */ -#line 2665 "preproc.y" +#line 2663 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 39019 "preproc.c" +#line 39017 "preproc.c" break; case 248: /* zone_value: LOCAL */ -#line 2669 "preproc.y" +#line 2667 "preproc.y" { (yyval.str) = mm_strdup("local"); } -#line 39027 "preproc.c" +#line 39025 "preproc.c" break; case 249: /* opt_encoding: ecpg_sconst */ -#line 2677 "preproc.y" +#line 2675 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39035 "preproc.c" +#line 39033 "preproc.c" break; case 250: /* opt_encoding: DEFAULT */ -#line 2681 "preproc.y" +#line 2679 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 39043 "preproc.c" +#line 39041 "preproc.c" break; case 251: /* opt_encoding: %empty */ -#line 2685 "preproc.y" +#line 2683 "preproc.y" { (yyval.str)=EMPTY; } -#line 39050 "preproc.c" +#line 39048 "preproc.c" break; case 252: /* NonReservedWord_or_Sconst: NonReservedWord */ -#line 2692 "preproc.y" +#line 2690 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39058 "preproc.c" +#line 39056 "preproc.c" break; case 253: /* NonReservedWord_or_Sconst: ecpg_sconst */ -#line 2696 "preproc.y" +#line 2694 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39066 "preproc.c" +#line 39064 "preproc.c" break; case 254: /* VariableResetStmt: RESET reset_rest */ -#line 2704 "preproc.y" +#line 2702 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("reset"),(yyvsp[0].str)); } -#line 39074 "preproc.c" +#line 39072 "preproc.c" break; case 255: /* reset_rest: generic_reset */ -#line 2712 "preproc.y" +#line 2710 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39082 "preproc.c" +#line 39080 "preproc.c" break; case 256: /* reset_rest: TIME ZONE */ -#line 2716 "preproc.y" +#line 2714 "preproc.y" { (yyval.str) = mm_strdup("time zone"); } -#line 39090 "preproc.c" +#line 39088 "preproc.c" break; case 257: /* reset_rest: TRANSACTION ISOLATION LEVEL */ -#line 2720 "preproc.y" +#line 2718 "preproc.y" { (yyval.str) = mm_strdup("transaction isolation level"); } -#line 39098 "preproc.c" +#line 39096 "preproc.c" break; case 258: /* reset_rest: SESSION AUTHORIZATION */ -#line 2724 "preproc.y" +#line 2722 "preproc.y" { (yyval.str) = mm_strdup("session authorization"); } -#line 39106 "preproc.c" +#line 39104 "preproc.c" break; case 259: /* generic_reset: var_name */ -#line 2732 "preproc.y" +#line 2730 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39114 "preproc.c" +#line 39112 "preproc.c" break; case 260: /* generic_reset: ALL */ -#line 2736 "preproc.y" +#line 2734 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 39122 "preproc.c" +#line 39120 "preproc.c" break; case 261: /* SetResetClause: SET set_rest */ -#line 2744 "preproc.y" +#line 2742 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } -#line 39130 "preproc.c" +#line 39128 "preproc.c" break; case 262: /* SetResetClause: VariableResetStmt */ -#line 2748 "preproc.y" +#line 2746 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39138 "preproc.c" +#line 39136 "preproc.c" break; case 263: /* FunctionSetResetClause: SET set_rest_more */ -#line 2756 "preproc.y" +#line 2754 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } -#line 39146 "preproc.c" +#line 39144 "preproc.c" break; case 264: /* FunctionSetResetClause: VariableResetStmt */ -#line 2760 "preproc.y" +#line 2758 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39154 "preproc.c" +#line 39152 "preproc.c" break; case 265: /* VariableShowStmt: SHOW var_name ecpg_into */ -#line 2768 "preproc.y" +#line 2766 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("show"),(yyvsp[-1].str)); } -#line 39162 "preproc.c" +#line 39160 "preproc.c" break; case 266: /* VariableShowStmt: SHOW TIME ZONE ecpg_into */ -#line 2772 "preproc.y" +#line 2770 "preproc.y" { (yyval.str) = mm_strdup("show time zone"); } -#line 39170 "preproc.c" +#line 39168 "preproc.c" break; case 267: /* VariableShowStmt: SHOW TRANSACTION ISOLATION LEVEL ecpg_into */ -#line 2776 "preproc.y" +#line 2774 "preproc.y" { (yyval.str) = mm_strdup("show transaction isolation level"); } -#line 39178 "preproc.c" +#line 39176 "preproc.c" break; case 268: /* VariableShowStmt: SHOW SESSION AUTHORIZATION ecpg_into */ -#line 2780 "preproc.y" +#line 2778 "preproc.y" { (yyval.str) = mm_strdup("show session authorization"); } -#line 39186 "preproc.c" +#line 39184 "preproc.c" break; case 269: /* VariableShowStmt: SHOW ALL */ -#line 2784 "preproc.y" +#line 2782 "preproc.y" { mmerror(PARSE_ERROR, ET_ERROR, "SHOW ALL is not implemented"); (yyval.str) = EMPTY; } -#line 39195 "preproc.c" +#line 39193 "preproc.c" break; case 270: /* ConstraintsSetStmt: SET CONSTRAINTS constraints_set_list constraints_set_mode */ -#line 2793 "preproc.y" +#line 2791 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("set constraints"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39203 "preproc.c" +#line 39201 "preproc.c" break; case 271: /* constraints_set_list: ALL */ -#line 2801 "preproc.y" +#line 2799 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 39211 "preproc.c" +#line 39209 "preproc.c" break; case 272: /* constraints_set_list: qualified_name_list */ -#line 2805 "preproc.y" +#line 2803 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39219 "preproc.c" +#line 39217 "preproc.c" break; case 273: /* constraints_set_mode: DEFERRED */ -#line 2813 "preproc.y" +#line 2811 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } -#line 39227 "preproc.c" +#line 39225 "preproc.c" break; case 274: /* constraints_set_mode: IMMEDIATE */ -#line 2817 "preproc.y" +#line 2815 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } -#line 39235 "preproc.c" +#line 39233 "preproc.c" break; case 275: /* CheckPointStmt: CHECKPOINT */ -#line 2825 "preproc.y" +#line 2823 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } -#line 39243 "preproc.c" +#line 39241 "preproc.c" break; case 276: /* DiscardStmt: DISCARD ALL */ -#line 2833 "preproc.y" +#line 2831 "preproc.y" { (yyval.str) = mm_strdup("discard all"); } -#line 39251 "preproc.c" +#line 39249 "preproc.c" break; case 277: /* DiscardStmt: DISCARD TEMP */ -#line 2837 "preproc.y" +#line 2835 "preproc.y" { (yyval.str) = mm_strdup("discard temp"); } -#line 39259 "preproc.c" +#line 39257 "preproc.c" break; case 278: /* DiscardStmt: DISCARD TEMPORARY */ -#line 2841 "preproc.y" +#line 2839 "preproc.y" { (yyval.str) = mm_strdup("discard temporary"); } -#line 39267 "preproc.c" +#line 39265 "preproc.c" break; case 279: /* DiscardStmt: DISCARD PLANS */ -#line 2845 "preproc.y" +#line 2843 "preproc.y" { (yyval.str) = mm_strdup("discard plans"); } -#line 39275 "preproc.c" +#line 39273 "preproc.c" break; case 280: /* DiscardStmt: DISCARD SEQUENCES */ -#line 2849 "preproc.y" +#line 2847 "preproc.y" { (yyval.str) = mm_strdup("discard sequences"); } -#line 39283 "preproc.c" +#line 39281 "preproc.c" break; case 281: /* AlterTableStmt: ALTER TABLE relation_expr alter_table_cmds */ -#line 2857 "preproc.y" +#line 2855 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39291 "preproc.c" +#line 39289 "preproc.c" break; case 282: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds */ -#line 2861 "preproc.y" +#line 2859 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39299 "preproc.c" +#line 39297 "preproc.c" break; case 283: /* AlterTableStmt: ALTER TABLE relation_expr partition_cmd */ -#line 2865 "preproc.y" +#line 2863 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39307 "preproc.c" +#line 39305 "preproc.c" break; case 284: /* AlterTableStmt: ALTER TABLE IF_P EXISTS relation_expr partition_cmd */ -#line 2869 "preproc.y" +#line 2867 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39315 "preproc.c" +#line 39313 "preproc.c" break; case 285: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ -#line 2873 "preproc.y" +#line 2871 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter table all in tablespace"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39323 "preproc.c" +#line 39321 "preproc.c" break; case 286: /* AlterTableStmt: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ -#line 2877 "preproc.y" +#line 2875 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter table all in tablespace"),(yyvsp[-7].str),mm_strdup("owned by"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39331 "preproc.c" +#line 39329 "preproc.c" break; case 287: /* AlterTableStmt: ALTER INDEX qualified_name alter_table_cmds */ -#line 2881 "preproc.y" +#line 2879 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39339 "preproc.c" +#line 39337 "preproc.c" break; case 288: /* AlterTableStmt: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds */ -#line 2885 "preproc.y" +#line 2883 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39347 "preproc.c" +#line 39345 "preproc.c" break; case 289: /* AlterTableStmt: ALTER INDEX qualified_name index_partition_cmd */ -#line 2889 "preproc.y" +#line 2887 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter index"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39355 "preproc.c" +#line 39353 "preproc.c" break; case 290: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ -#line 2893 "preproc.y" +#line 2891 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter index all in tablespace"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39363 "preproc.c" +#line 39361 "preproc.c" break; case 291: /* AlterTableStmt: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ -#line 2897 "preproc.y" +#line 2895 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter index all in tablespace"),(yyvsp[-7].str),mm_strdup("owned by"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39371 "preproc.c" +#line 39369 "preproc.c" break; case 292: /* AlterTableStmt: ALTER SEQUENCE qualified_name alter_table_cmds */ -#line 2901 "preproc.y" +#line 2899 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39379 "preproc.c" +#line 39377 "preproc.c" break; case 293: /* AlterTableStmt: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds */ -#line 2905 "preproc.y" +#line 2903 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39387 "preproc.c" +#line 39385 "preproc.c" break; case 294: /* AlterTableStmt: ALTER VIEW qualified_name alter_table_cmds */ -#line 2909 "preproc.y" +#line 2907 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter view"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39395 "preproc.c" +#line 39393 "preproc.c" break; case 295: /* AlterTableStmt: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds */ -#line 2913 "preproc.y" +#line 2911 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter view if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39403 "preproc.c" +#line 39401 "preproc.c" break; case 296: /* AlterTableStmt: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds */ -#line 2917 "preproc.y" +#line 2915 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter materialized view"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39411 "preproc.c" +#line 39409 "preproc.c" break; case 297: /* AlterTableStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds */ -#line 2921 "preproc.y" +#line 2919 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter materialized view if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39419 "preproc.c" +#line 39417 "preproc.c" break; case 298: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait */ -#line 2925 "preproc.y" +#line 2923 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter materialized view all in tablespace"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39427 "preproc.c" +#line 39425 "preproc.c" break; case 299: /* AlterTableStmt: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait */ -#line 2929 "preproc.y" +#line 2927 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter materialized view all in tablespace"),(yyvsp[-7].str),mm_strdup("owned by"),(yyvsp[-4].str),mm_strdup("set tablespace"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39435 "preproc.c" +#line 39433 "preproc.c" break; case 300: /* AlterTableStmt: ALTER FOREIGN TABLE relation_expr alter_table_cmds */ -#line 2933 "preproc.y" +#line 2931 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign table"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39443 "preproc.c" +#line 39441 "preproc.c" break; case 301: /* AlterTableStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds */ -#line 2937 "preproc.y" +#line 2935 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign table if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39451 "preproc.c" +#line 39449 "preproc.c" break; case 302: /* alter_table_cmds: alter_table_cmd */ -#line 2945 "preproc.y" +#line 2943 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39459 "preproc.c" +#line 39457 "preproc.c" break; case 303: /* alter_table_cmds: alter_table_cmds ',' alter_table_cmd */ -#line 2949 "preproc.y" +#line 2947 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 39467 "preproc.c" +#line 39465 "preproc.c" break; case 304: /* partition_cmd: ATTACH PARTITION qualified_name PartitionBoundSpec */ -#line 2957 "preproc.y" +#line 2955 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("attach partition"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39475 "preproc.c" +#line 39473 "preproc.c" break; case 305: /* partition_cmd: DETACH PARTITION qualified_name opt_concurrently */ -#line 2961 "preproc.y" +#line 2959 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("detach partition"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39483 "preproc.c" +#line 39481 "preproc.c" break; case 306: /* partition_cmd: DETACH PARTITION qualified_name FINALIZE */ -#line 2965 "preproc.y" +#line 2963 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("detach partition"),(yyvsp[-1].str),mm_strdup("finalize")); } -#line 39491 "preproc.c" +#line 39489 "preproc.c" break; case 307: /* index_partition_cmd: ATTACH PARTITION qualified_name */ -#line 2973 "preproc.y" +#line 2971 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("attach partition"),(yyvsp[0].str)); } -#line 39499 "preproc.c" +#line 39497 "preproc.c" break; case 308: /* alter_table_cmd: ADD_P columnDef */ -#line 2981 "preproc.y" +#line 2979 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } -#line 39507 "preproc.c" +#line 39505 "preproc.c" break; case 309: /* alter_table_cmd: ADD_P IF_P NOT EXISTS columnDef */ -#line 2985 "preproc.y" +#line 2983 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add if not exists"),(yyvsp[0].str)); } -#line 39515 "preproc.c" +#line 39513 "preproc.c" break; case 310: /* alter_table_cmd: ADD_P COLUMN columnDef */ -#line 2989 "preproc.y" +#line 2987 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add column"),(yyvsp[0].str)); } -#line 39523 "preproc.c" +#line 39521 "preproc.c" break; case 311: /* alter_table_cmd: ADD_P COLUMN IF_P NOT EXISTS columnDef */ -#line 2993 "preproc.y" +#line 2991 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add column if not exists"),(yyvsp[0].str)); } -#line 39531 "preproc.c" +#line 39529 "preproc.c" break; case 312: /* alter_table_cmd: ALTER opt_column ColId alter_column_default */ -#line 2997 "preproc.y" +#line 2995 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39539 "preproc.c" +#line 39537 "preproc.c" break; case 313: /* alter_table_cmd: ALTER opt_column ColId DROP NOT NULL_P */ -#line 3001 "preproc.y" +#line 2999 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("drop not null")); } -#line 39547 "preproc.c" +#line 39545 "preproc.c" break; case 314: /* alter_table_cmd: ALTER opt_column ColId SET NOT NULL_P */ -#line 3005 "preproc.y" +#line 3003 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set not null")); } -#line 39555 "preproc.c" +#line 39553 "preproc.c" break; case 315: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION */ -#line 3009 "preproc.y" +#line 3007 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("drop expression")); } -#line 39563 "preproc.c" +#line 39561 "preproc.c" break; case 316: /* alter_table_cmd: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS */ -#line 3013 "preproc.y" +#line 3011 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("drop expression if exists")); } -#line 39571 "preproc.c" +#line 39569 "preproc.c" break; case 317: /* alter_table_cmd: ALTER opt_column ColId SET STATISTICS SignedIconst */ -#line 3017 "preproc.y" +#line 3015 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } -#line 39579 "preproc.c" +#line 39577 "preproc.c" break; case 318: /* alter_table_cmd: ALTER opt_column Iconst SET STATISTICS SignedIconst */ -#line 3021 "preproc.y" +#line 3019 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } -#line 39587 "preproc.c" +#line 39585 "preproc.c" break; case 319: /* alter_table_cmd: ALTER opt_column ColId SET reloptions */ -#line 3025 "preproc.y" +#line 3023 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 39595 "preproc.c" +#line 39593 "preproc.c" break; case 320: /* alter_table_cmd: ALTER opt_column ColId RESET reloptions */ -#line 3029 "preproc.y" +#line 3027 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("reset"),(yyvsp[0].str)); } -#line 39603 "preproc.c" +#line 39601 "preproc.c" break; case 321: /* alter_table_cmd: ALTER opt_column ColId SET STORAGE ColId */ -#line 3033 "preproc.y" +#line 3031 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("set storage"),(yyvsp[0].str)); } -#line 39611 "preproc.c" +#line 39609 "preproc.c" break; case 322: /* alter_table_cmd: ALTER opt_column ColId SET column_compression */ -#line 3037 "preproc.y" +#line 3035 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 39619 "preproc.c" +#line 39617 "preproc.c" break; case 323: /* alter_table_cmd: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ -#line 3041 "preproc.y" +#line 3039 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter"),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("add generated"),(yyvsp[-3].str),mm_strdup("as identity"),(yyvsp[0].str)); } -#line 39627 "preproc.c" +#line 39625 "preproc.c" break; case 324: /* alter_table_cmd: ALTER opt_column ColId alter_identity_column_option_list */ -#line 3045 "preproc.y" +#line 3043 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39635 "preproc.c" +#line 39633 "preproc.c" break; case 325: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P */ -#line 3049 "preproc.y" +#line 3047 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("drop identity")); } -#line 39643 "preproc.c" +#line 39641 "preproc.c" break; case 326: /* alter_table_cmd: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS */ -#line 3053 "preproc.y" +#line 3051 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("drop identity if exists")); } -#line 39651 "preproc.c" +#line 39649 "preproc.c" break; case 327: /* alter_table_cmd: DROP opt_column IF_P EXISTS ColId opt_drop_behavior */ -#line 3057 "preproc.y" +#line 3055 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39659 "preproc.c" +#line 39657 "preproc.c" break; case 328: /* alter_table_cmd: DROP opt_column ColId opt_drop_behavior */ -#line 3061 "preproc.y" +#line 3059 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39667 "preproc.c" +#line 39665 "preproc.c" break; case 329: /* alter_table_cmd: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using */ -#line 3065 "preproc.y" +#line 3063 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("alter"),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("type"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39675 "preproc.c" +#line 39673 "preproc.c" break; case 330: /* alter_table_cmd: ALTER opt_column ColId alter_generic_options */ -#line 3069 "preproc.y" +#line 3067 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39683 "preproc.c" +#line 39681 "preproc.c" break; case 331: /* alter_table_cmd: ADD_P TableConstraint */ -#line 3073 "preproc.y" +#line 3071 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } -#line 39691 "preproc.c" +#line 39689 "preproc.c" break; case 332: /* alter_table_cmd: ALTER CONSTRAINT name ConstraintAttributeSpec */ -#line 3077 "preproc.y" +#line 3075 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39699 "preproc.c" +#line 39697 "preproc.c" break; case 333: /* alter_table_cmd: VALIDATE CONSTRAINT name */ -#line 3081 "preproc.y" +#line 3079 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validate constraint"),(yyvsp[0].str)); } -#line 39707 "preproc.c" +#line 39705 "preproc.c" break; case 334: /* alter_table_cmd: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ -#line 3085 "preproc.y" +#line 3083 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop constraint if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39715 "preproc.c" +#line 39713 "preproc.c" break; case 335: /* alter_table_cmd: DROP CONSTRAINT name opt_drop_behavior */ -#line 3089 "preproc.y" +#line 3087 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 39723 "preproc.c" +#line 39721 "preproc.c" break; case 336: /* alter_table_cmd: SET WITHOUT OIDS */ -#line 3093 "preproc.y" +#line 3091 "preproc.y" { (yyval.str) = mm_strdup("set without oids"); } -#line 39731 "preproc.c" +#line 39729 "preproc.c" break; case 337: /* alter_table_cmd: CLUSTER ON name */ -#line 3097 "preproc.y" +#line 3095 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cluster on"),(yyvsp[0].str)); } -#line 39739 "preproc.c" +#line 39737 "preproc.c" break; case 338: /* alter_table_cmd: SET WITHOUT CLUSTER */ -#line 3101 "preproc.y" +#line 3099 "preproc.y" { (yyval.str) = mm_strdup("set without cluster"); } -#line 39747 "preproc.c" +#line 39745 "preproc.c" break; case 339: /* alter_table_cmd: SET LOGGED */ -#line 3105 "preproc.y" +#line 3103 "preproc.y" { (yyval.str) = mm_strdup("set logged"); } -#line 39755 "preproc.c" +#line 39753 "preproc.c" break; case 340: /* alter_table_cmd: SET UNLOGGED */ -#line 3109 "preproc.y" +#line 3107 "preproc.y" { (yyval.str) = mm_strdup("set unlogged"); } -#line 39763 "preproc.c" +#line 39761 "preproc.c" break; case 341: /* alter_table_cmd: ENABLE_P TRIGGER name */ -#line 3113 "preproc.y" +#line 3111 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable trigger"),(yyvsp[0].str)); } -#line 39771 "preproc.c" +#line 39769 "preproc.c" break; case 342: /* alter_table_cmd: ENABLE_P ALWAYS TRIGGER name */ -#line 3117 "preproc.y" +#line 3115 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable always trigger"),(yyvsp[0].str)); } -#line 39779 "preproc.c" +#line 39777 "preproc.c" break; case 343: /* alter_table_cmd: ENABLE_P REPLICA TRIGGER name */ -#line 3121 "preproc.y" +#line 3119 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable replica trigger"),(yyvsp[0].str)); } -#line 39787 "preproc.c" +#line 39785 "preproc.c" break; case 344: /* alter_table_cmd: ENABLE_P TRIGGER ALL */ -#line 3125 "preproc.y" +#line 3123 "preproc.y" { (yyval.str) = mm_strdup("enable trigger all"); } -#line 39795 "preproc.c" +#line 39793 "preproc.c" break; case 345: /* alter_table_cmd: ENABLE_P TRIGGER USER */ -#line 3129 "preproc.y" +#line 3127 "preproc.y" { (yyval.str) = mm_strdup("enable trigger user"); } -#line 39803 "preproc.c" +#line 39801 "preproc.c" break; case 346: /* alter_table_cmd: DISABLE_P TRIGGER name */ -#line 3133 "preproc.y" +#line 3131 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("disable trigger"),(yyvsp[0].str)); } -#line 39811 "preproc.c" +#line 39809 "preproc.c" break; case 347: /* alter_table_cmd: DISABLE_P TRIGGER ALL */ -#line 3137 "preproc.y" +#line 3135 "preproc.y" { (yyval.str) = mm_strdup("disable trigger all"); } -#line 39819 "preproc.c" +#line 39817 "preproc.c" break; case 348: /* alter_table_cmd: DISABLE_P TRIGGER USER */ -#line 3141 "preproc.y" +#line 3139 "preproc.y" { (yyval.str) = mm_strdup("disable trigger user"); } -#line 39827 "preproc.c" +#line 39825 "preproc.c" break; case 349: /* alter_table_cmd: ENABLE_P RULE name */ -#line 3145 "preproc.y" +#line 3143 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable rule"),(yyvsp[0].str)); } -#line 39835 "preproc.c" +#line 39833 "preproc.c" break; case 350: /* alter_table_cmd: ENABLE_P ALWAYS RULE name */ -#line 3149 "preproc.y" +#line 3147 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable always rule"),(yyvsp[0].str)); } -#line 39843 "preproc.c" +#line 39841 "preproc.c" break; case 351: /* alter_table_cmd: ENABLE_P REPLICA RULE name */ -#line 3153 "preproc.y" +#line 3151 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("enable replica rule"),(yyvsp[0].str)); } -#line 39851 "preproc.c" +#line 39849 "preproc.c" break; case 352: /* alter_table_cmd: DISABLE_P RULE name */ -#line 3157 "preproc.y" +#line 3155 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("disable rule"),(yyvsp[0].str)); } -#line 39859 "preproc.c" +#line 39857 "preproc.c" break; case 353: /* alter_table_cmd: INHERIT qualified_name */ -#line 3161 "preproc.y" +#line 3159 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("inherit"),(yyvsp[0].str)); } -#line 39867 "preproc.c" +#line 39865 "preproc.c" break; case 354: /* alter_table_cmd: NO INHERIT qualified_name */ -#line 3165 "preproc.y" +#line 3163 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("no inherit"),(yyvsp[0].str)); } -#line 39875 "preproc.c" +#line 39873 "preproc.c" break; case 355: /* alter_table_cmd: OF any_name */ -#line 3169 "preproc.y" +#line 3167 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("of"),(yyvsp[0].str)); } -#line 39883 "preproc.c" +#line 39881 "preproc.c" break; case 356: /* alter_table_cmd: NOT OF */ -#line 3173 "preproc.y" +#line 3171 "preproc.y" { (yyval.str) = mm_strdup("not of"); } -#line 39891 "preproc.c" +#line 39889 "preproc.c" break; case 357: /* alter_table_cmd: OWNER TO RoleSpec */ -#line 3177 "preproc.y" +#line 3175 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owner to"),(yyvsp[0].str)); } -#line 39899 "preproc.c" +#line 39897 "preproc.c" break; case 358: /* alter_table_cmd: SET ACCESS METHOD name */ -#line 3181 "preproc.y" +#line 3179 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set access method"),(yyvsp[0].str)); } -#line 39907 "preproc.c" +#line 39905 "preproc.c" break; case 359: /* alter_table_cmd: SET TABLESPACE name */ -#line 3185 "preproc.y" +#line 3183 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set tablespace"),(yyvsp[0].str)); } -#line 39915 "preproc.c" +#line 39913 "preproc.c" break; case 360: /* alter_table_cmd: SET reloptions */ -#line 3189 "preproc.y" +#line 3187 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } -#line 39923 "preproc.c" +#line 39921 "preproc.c" break; case 361: /* alter_table_cmd: RESET reloptions */ -#line 3193 "preproc.y" +#line 3191 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("reset"),(yyvsp[0].str)); } -#line 39931 "preproc.c" +#line 39929 "preproc.c" break; case 362: /* alter_table_cmd: REPLICA IDENTITY_P replica_identity */ -#line 3197 "preproc.y" +#line 3195 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("replica identity"),(yyvsp[0].str)); } -#line 39939 "preproc.c" +#line 39937 "preproc.c" break; case 363: /* alter_table_cmd: ENABLE_P ROW LEVEL SECURITY */ -#line 3201 "preproc.y" +#line 3199 "preproc.y" { (yyval.str) = mm_strdup("enable row level security"); } -#line 39947 "preproc.c" +#line 39945 "preproc.c" break; case 364: /* alter_table_cmd: DISABLE_P ROW LEVEL SECURITY */ -#line 3205 "preproc.y" +#line 3203 "preproc.y" { (yyval.str) = mm_strdup("disable row level security"); } -#line 39955 "preproc.c" +#line 39953 "preproc.c" break; case 365: /* alter_table_cmd: FORCE ROW LEVEL SECURITY */ -#line 3209 "preproc.y" +#line 3207 "preproc.y" { (yyval.str) = mm_strdup("force row level security"); } -#line 39963 "preproc.c" +#line 39961 "preproc.c" break; case 366: /* alter_table_cmd: NO FORCE ROW LEVEL SECURITY */ -#line 3213 "preproc.y" +#line 3211 "preproc.y" { (yyval.str) = mm_strdup("no force row level security"); } -#line 39971 "preproc.c" +#line 39969 "preproc.c" break; case 367: /* alter_table_cmd: alter_generic_options */ -#line 3217 "preproc.y" +#line 3215 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 39979 "preproc.c" +#line 39977 "preproc.c" break; case 368: /* alter_column_default: SET DEFAULT a_expr */ -#line 3225 "preproc.y" +#line 3223 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set default"),(yyvsp[0].str)); } -#line 39987 "preproc.c" +#line 39985 "preproc.c" break; case 369: /* alter_column_default: DROP DEFAULT */ -#line 3229 "preproc.y" +#line 3227 "preproc.y" { (yyval.str) = mm_strdup("drop default"); } -#line 39995 "preproc.c" +#line 39993 "preproc.c" break; case 370: /* opt_drop_behavior: CASCADE */ -#line 3237 "preproc.y" +#line 3235 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } -#line 40003 "preproc.c" +#line 40001 "preproc.c" break; case 371: /* opt_drop_behavior: RESTRICT */ -#line 3241 "preproc.y" +#line 3239 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } -#line 40011 "preproc.c" +#line 40009 "preproc.c" break; case 372: /* opt_drop_behavior: %empty */ -#line 3245 "preproc.y" +#line 3243 "preproc.y" { (yyval.str)=EMPTY; } -#line 40018 "preproc.c" +#line 40016 "preproc.c" break; case 373: /* opt_collate_clause: COLLATE any_name */ -#line 3252 "preproc.y" +#line 3250 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } -#line 40026 "preproc.c" +#line 40024 "preproc.c" break; case 374: /* opt_collate_clause: %empty */ -#line 3256 "preproc.y" +#line 3254 "preproc.y" { (yyval.str)=EMPTY; } -#line 40033 "preproc.c" +#line 40031 "preproc.c" break; case 375: /* alter_using: USING a_expr */ -#line 3263 "preproc.y" +#line 3261 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } -#line 40041 "preproc.c" +#line 40039 "preproc.c" break; case 376: /* alter_using: %empty */ -#line 3267 "preproc.y" +#line 3265 "preproc.y" { (yyval.str)=EMPTY; } -#line 40048 "preproc.c" +#line 40046 "preproc.c" break; case 377: /* replica_identity: NOTHING */ -#line 3274 "preproc.y" +#line 3272 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } -#line 40056 "preproc.c" +#line 40054 "preproc.c" break; case 378: /* replica_identity: FULL */ -#line 3278 "preproc.y" +#line 3276 "preproc.y" { (yyval.str) = mm_strdup("full"); } -#line 40064 "preproc.c" +#line 40062 "preproc.c" break; case 379: /* replica_identity: DEFAULT */ -#line 3282 "preproc.y" +#line 3280 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 40072 "preproc.c" +#line 40070 "preproc.c" break; case 380: /* replica_identity: USING INDEX name */ -#line 3286 "preproc.y" +#line 3284 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index"),(yyvsp[0].str)); } -#line 40080 "preproc.c" +#line 40078 "preproc.c" break; case 381: /* reloptions: '(' reloption_list ')' */ -#line 3294 "preproc.y" +#line 3292 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 40088 "preproc.c" +#line 40086 "preproc.c" break; case 382: /* opt_reloptions: WITH reloptions */ -#line 3302 "preproc.y" +#line 3300 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } -#line 40096 "preproc.c" +#line 40094 "preproc.c" break; case 383: /* opt_reloptions: %empty */ -#line 3306 "preproc.y" +#line 3304 "preproc.y" { (yyval.str)=EMPTY; } -#line 40103 "preproc.c" +#line 40101 "preproc.c" break; case 384: /* reloption_list: reloption_elem */ -#line 3313 "preproc.y" +#line 3311 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40111 "preproc.c" +#line 40109 "preproc.c" break; case 385: /* reloption_list: reloption_list ',' reloption_elem */ -#line 3317 "preproc.y" +#line 3315 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 40119 "preproc.c" +#line 40117 "preproc.c" break; case 386: /* reloption_elem: ColLabel '=' def_arg */ -#line 3325 "preproc.y" +#line 3323 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 40127 "preproc.c" +#line 40125 "preproc.c" break; case 387: /* reloption_elem: ColLabel */ -#line 3329 "preproc.y" +#line 3327 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40135 "preproc.c" +#line 40133 "preproc.c" break; case 388: /* reloption_elem: ColLabel '.' ColLabel '=' def_arg */ -#line 3333 "preproc.y" +#line 3331 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("."),(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 40143 "preproc.c" +#line 40141 "preproc.c" break; case 389: /* reloption_elem: ColLabel '.' ColLabel */ -#line 3337 "preproc.y" +#line 3335 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } -#line 40151 "preproc.c" +#line 40149 "preproc.c" break; case 390: /* alter_identity_column_option_list: alter_identity_column_option */ -#line 3345 "preproc.y" +#line 3343 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40159 "preproc.c" +#line 40157 "preproc.c" break; case 391: /* alter_identity_column_option_list: alter_identity_column_option_list alter_identity_column_option */ -#line 3349 "preproc.y" +#line 3347 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40167 "preproc.c" +#line 40165 "preproc.c" break; case 392: /* alter_identity_column_option: RESTART */ -#line 3357 "preproc.y" +#line 3355 "preproc.y" { (yyval.str) = mm_strdup("restart"); } -#line 40175 "preproc.c" +#line 40173 "preproc.c" break; case 393: /* alter_identity_column_option: RESTART opt_with NumericOnly */ -#line 3361 "preproc.y" +#line 3359 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("restart"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40183 "preproc.c" +#line 40181 "preproc.c" break; case 394: /* alter_identity_column_option: SET SeqOptElem */ -#line 3365 "preproc.y" +#line 3363 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } -#line 40191 "preproc.c" +#line 40189 "preproc.c" break; case 395: /* alter_identity_column_option: SET GENERATED generated_when */ -#line 3369 "preproc.y" +#line 3367 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set generated"),(yyvsp[0].str)); } -#line 40199 "preproc.c" +#line 40197 "preproc.c" break; case 396: /* PartitionBoundSpec: FOR VALUES WITH '(' hash_partbound ')' */ -#line 3377 "preproc.y" +#line 3375 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for values with ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 40207 "preproc.c" +#line 40205 "preproc.c" break; case 397: /* PartitionBoundSpec: FOR VALUES IN_P '(' expr_list ')' */ -#line 3381 "preproc.y" +#line 3379 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for values in ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 40215 "preproc.c" +#line 40213 "preproc.c" break; case 398: /* PartitionBoundSpec: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')' */ -#line 3385 "preproc.y" +#line 3383 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("for values from ("),(yyvsp[-5].str),mm_strdup(") to ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 40223 "preproc.c" +#line 40221 "preproc.c" break; case 399: /* PartitionBoundSpec: DEFAULT */ -#line 3389 "preproc.y" +#line 3387 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 40231 "preproc.c" +#line 40229 "preproc.c" break; case 400: /* hash_partbound_elem: NonReservedWord Iconst */ -#line 3397 "preproc.y" +#line 3395 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40239 "preproc.c" +#line 40237 "preproc.c" break; case 401: /* hash_partbound: hash_partbound_elem */ -#line 3405 "preproc.y" +#line 3403 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40247 "preproc.c" +#line 40245 "preproc.c" break; case 402: /* hash_partbound: hash_partbound ',' hash_partbound_elem */ -#line 3409 "preproc.y" +#line 3407 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 40255 "preproc.c" +#line 40253 "preproc.c" break; case 403: /* AlterCompositeTypeStmt: ALTER TYPE_P any_name alter_type_cmds */ -#line 3417 "preproc.y" +#line 3415 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter type"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40263 "preproc.c" +#line 40261 "preproc.c" break; case 404: /* alter_type_cmds: alter_type_cmd */ -#line 3425 "preproc.y" +#line 3423 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40271 "preproc.c" +#line 40269 "preproc.c" break; case 405: /* alter_type_cmds: alter_type_cmds ',' alter_type_cmd */ -#line 3429 "preproc.y" +#line 3427 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 40279 "preproc.c" +#line 40277 "preproc.c" break; case 406: /* alter_type_cmd: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior */ -#line 3437 "preproc.y" +#line 3435 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("add attribute"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40287 "preproc.c" +#line 40285 "preproc.c" break; case 407: /* alter_type_cmd: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior */ -#line 3441 "preproc.y" +#line 3439 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop attribute if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40295 "preproc.c" +#line 40293 "preproc.c" break; case 408: /* alter_type_cmd: DROP ATTRIBUTE ColId opt_drop_behavior */ -#line 3445 "preproc.y" +#line 3443 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop attribute"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40303 "preproc.c" +#line 40301 "preproc.c" break; case 409: /* alter_type_cmd: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior */ -#line 3449 "preproc.y" +#line 3447 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter attribute"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("type"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40311 "preproc.c" +#line 40309 "preproc.c" break; case 410: /* ClosePortalStmt: CLOSE cursor_name */ -#line 3457 "preproc.y" +#line 3455 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = NULL; @@ -40327,19 +40325,19 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") } (yyval.str) = cat2_str(mm_strdup("close"), cursor_marker); } -#line 40331 "preproc.c" +#line 40329 "preproc.c" break; case 411: /* ClosePortalStmt: CLOSE ALL */ -#line 3473 "preproc.y" +#line 3471 "preproc.y" { (yyval.str) = mm_strdup("close all"); } -#line 40339 "preproc.c" +#line 40337 "preproc.c" break; case 412: /* CopyStmt: COPY opt_binary qualified_name opt_column_list copy_from opt_program copy_file_name copy_delimiter opt_with copy_options where_clause */ -#line 3481 "preproc.y" +#line 3479 "preproc.y" { if (strcmp((yyvsp[-5].str), "from") == 0 && (strcmp((yyvsp[-4].str), "stdin") == 0 || strcmp((yyvsp[-4].str), "stdout") == 0)) @@ -40347,4513 +40345,4511 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(11,mm_strdup("copy"),(yyvsp[-9].str),(yyvsp[-8].str),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40351 "preproc.c" +#line 40349 "preproc.c" break; case 413: /* CopyStmt: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options */ -#line 3489 "preproc.y" +#line 3487 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("copy ("),(yyvsp[-6].str),mm_strdup(") to"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40359 "preproc.c" +#line 40357 "preproc.c" break; case 414: /* copy_from: FROM */ -#line 3497 "preproc.y" +#line 3495 "preproc.y" { (yyval.str) = mm_strdup("from"); } -#line 40367 "preproc.c" +#line 40365 "preproc.c" break; case 415: /* copy_from: TO */ -#line 3501 "preproc.y" +#line 3499 "preproc.y" { (yyval.str) = mm_strdup("to"); } -#line 40375 "preproc.c" +#line 40373 "preproc.c" break; case 416: /* opt_program: PROGRAM */ -#line 3509 "preproc.y" +#line 3507 "preproc.y" { (yyval.str) = mm_strdup("program"); } -#line 40383 "preproc.c" +#line 40381 "preproc.c" break; case 417: /* opt_program: %empty */ -#line 3513 "preproc.y" +#line 3511 "preproc.y" { (yyval.str)=EMPTY; } -#line 40390 "preproc.c" +#line 40388 "preproc.c" break; case 418: /* copy_file_name: ecpg_sconst */ -#line 3520 "preproc.y" +#line 3518 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40398 "preproc.c" +#line 40396 "preproc.c" break; case 419: /* copy_file_name: STDIN */ -#line 3524 "preproc.y" +#line 3522 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } -#line 40406 "preproc.c" +#line 40404 "preproc.c" break; case 420: /* copy_file_name: STDOUT */ -#line 3528 "preproc.y" +#line 3526 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } -#line 40414 "preproc.c" +#line 40412 "preproc.c" break; case 421: /* copy_options: copy_opt_list */ -#line 3536 "preproc.y" +#line 3534 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40422 "preproc.c" +#line 40420 "preproc.c" break; case 422: /* copy_options: '(' copy_generic_opt_list ')' */ -#line 3540 "preproc.y" +#line 3538 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 40430 "preproc.c" +#line 40428 "preproc.c" break; case 423: /* copy_opt_list: copy_opt_list copy_opt_item */ -#line 3548 "preproc.y" +#line 3546 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40438 "preproc.c" +#line 40436 "preproc.c" break; case 424: /* copy_opt_list: %empty */ -#line 3552 "preproc.y" +#line 3550 "preproc.y" { (yyval.str)=EMPTY; } -#line 40445 "preproc.c" +#line 40443 "preproc.c" break; case 425: /* copy_opt_item: BINARY */ -#line 3559 "preproc.y" +#line 3557 "preproc.y" { (yyval.str) = mm_strdup("binary"); } -#line 40453 "preproc.c" +#line 40451 "preproc.c" break; case 426: /* copy_opt_item: FREEZE */ -#line 3563 "preproc.y" +#line 3561 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } -#line 40461 "preproc.c" +#line 40459 "preproc.c" break; case 427: /* copy_opt_item: DELIMITER opt_as ecpg_sconst */ -#line 3567 "preproc.y" +#line 3565 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("delimiter"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40469 "preproc.c" +#line 40467 "preproc.c" break; case 428: /* copy_opt_item: NULL_P opt_as ecpg_sconst */ -#line 3571 "preproc.y" +#line 3569 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("null"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40477 "preproc.c" +#line 40475 "preproc.c" break; case 429: /* copy_opt_item: CSV */ -#line 3575 "preproc.y" +#line 3573 "preproc.y" { (yyval.str) = mm_strdup("csv"); } -#line 40485 "preproc.c" +#line 40483 "preproc.c" break; case 430: /* copy_opt_item: HEADER_P */ -#line 3579 "preproc.y" +#line 3577 "preproc.y" { (yyval.str) = mm_strdup("header"); } -#line 40493 "preproc.c" +#line 40491 "preproc.c" break; case 431: /* copy_opt_item: QUOTE opt_as ecpg_sconst */ -#line 3583 "preproc.y" +#line 3581 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("quote"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40501 "preproc.c" +#line 40499 "preproc.c" break; case 432: /* copy_opt_item: ESCAPE opt_as ecpg_sconst */ -#line 3587 "preproc.y" +#line 3585 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("escape"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40509 "preproc.c" +#line 40507 "preproc.c" break; case 433: /* copy_opt_item: FORCE QUOTE columnList */ -#line 3591 "preproc.y" +#line 3589 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force quote"),(yyvsp[0].str)); } -#line 40517 "preproc.c" +#line 40515 "preproc.c" break; case 434: /* copy_opt_item: FORCE QUOTE '*' */ -#line 3595 "preproc.y" +#line 3593 "preproc.y" { (yyval.str) = mm_strdup("force quote *"); } -#line 40525 "preproc.c" +#line 40523 "preproc.c" break; case 435: /* copy_opt_item: FORCE NOT NULL_P columnList */ -#line 3599 "preproc.y" +#line 3597 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force not null"),(yyvsp[0].str)); } -#line 40533 "preproc.c" +#line 40531 "preproc.c" break; case 436: /* copy_opt_item: FORCE NULL_P columnList */ -#line 3603 "preproc.y" +#line 3601 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("force null"),(yyvsp[0].str)); } -#line 40541 "preproc.c" +#line 40539 "preproc.c" break; case 437: /* copy_opt_item: ENCODING ecpg_sconst */ -#line 3607 "preproc.y" +#line 3605 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("encoding"),(yyvsp[0].str)); } -#line 40549 "preproc.c" +#line 40547 "preproc.c" break; case 438: /* opt_binary: BINARY */ -#line 3615 "preproc.y" +#line 3613 "preproc.y" { (yyval.str) = mm_strdup("binary"); } -#line 40557 "preproc.c" +#line 40555 "preproc.c" break; case 439: /* opt_binary: %empty */ -#line 3619 "preproc.y" +#line 3617 "preproc.y" { (yyval.str)=EMPTY; } -#line 40564 "preproc.c" +#line 40562 "preproc.c" break; case 440: /* copy_delimiter: opt_using DELIMITERS ecpg_sconst */ -#line 3626 "preproc.y" +#line 3624 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("delimiters"),(yyvsp[0].str)); } -#line 40572 "preproc.c" +#line 40570 "preproc.c" break; case 441: /* copy_delimiter: %empty */ -#line 3630 "preproc.y" +#line 3628 "preproc.y" { (yyval.str)=EMPTY; } -#line 40579 "preproc.c" +#line 40577 "preproc.c" break; case 442: /* opt_using: USING */ -#line 3637 "preproc.y" +#line 3635 "preproc.y" { (yyval.str) = mm_strdup("using"); } -#line 40587 "preproc.c" +#line 40585 "preproc.c" break; case 443: /* opt_using: %empty */ -#line 3641 "preproc.y" +#line 3639 "preproc.y" { (yyval.str)=EMPTY; } -#line 40594 "preproc.c" +#line 40592 "preproc.c" break; case 444: /* copy_generic_opt_list: copy_generic_opt_elem */ -#line 3648 "preproc.y" +#line 3646 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40602 "preproc.c" +#line 40600 "preproc.c" break; case 445: /* copy_generic_opt_list: copy_generic_opt_list ',' copy_generic_opt_elem */ -#line 3652 "preproc.y" +#line 3650 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 40610 "preproc.c" +#line 40608 "preproc.c" break; case 446: /* copy_generic_opt_elem: ColLabel copy_generic_opt_arg */ -#line 3660 "preproc.y" +#line 3658 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40618 "preproc.c" +#line 40616 "preproc.c" break; case 447: /* copy_generic_opt_arg: opt_boolean_or_string */ -#line 3668 "preproc.y" +#line 3666 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40626 "preproc.c" +#line 40624 "preproc.c" break; case 448: /* copy_generic_opt_arg: NumericOnly */ -#line 3672 "preproc.y" +#line 3670 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40634 "preproc.c" +#line 40632 "preproc.c" break; case 449: /* copy_generic_opt_arg: '*' */ -#line 3676 "preproc.y" +#line 3674 "preproc.y" { (yyval.str) = mm_strdup("*"); } -#line 40642 "preproc.c" +#line 40640 "preproc.c" break; case 450: /* copy_generic_opt_arg: '(' copy_generic_opt_arg_list ')' */ -#line 3680 "preproc.y" +#line 3678 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 40650 "preproc.c" +#line 40648 "preproc.c" break; case 451: /* copy_generic_opt_arg: %empty */ -#line 3684 "preproc.y" +#line 3682 "preproc.y" { (yyval.str)=EMPTY; } -#line 40657 "preproc.c" +#line 40655 "preproc.c" break; case 452: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list_item */ -#line 3691 "preproc.y" +#line 3689 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40665 "preproc.c" +#line 40663 "preproc.c" break; case 453: /* copy_generic_opt_arg_list: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item */ -#line 3695 "preproc.y" +#line 3693 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 40673 "preproc.c" +#line 40671 "preproc.c" break; case 454: /* copy_generic_opt_arg_list_item: opt_boolean_or_string */ -#line 3703 "preproc.y" +#line 3701 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40681 "preproc.c" +#line 40679 "preproc.c" break; case 455: /* CreateStmt: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ -#line 3711 "preproc.y" +#line 3709 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-11].str),mm_strdup("table"),(yyvsp[-9].str),mm_strdup("("),(yyvsp[-7].str),mm_strdup(")"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40689 "preproc.c" +#line 40687 "preproc.c" break; case 456: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ -#line 3715 "preproc.y" +#line 3713 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-14].str),mm_strdup("table if not exists"),(yyvsp[-9].str),mm_strdup("("),(yyvsp[-7].str),mm_strdup(")"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40697 "preproc.c" +#line 40695 "preproc.c" break; case 457: /* CreateStmt: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ -#line 3719 "preproc.y" +#line 3717 "preproc.y" { (yyval.str) = cat_str(12,mm_strdup("create"),(yyvsp[-10].str),mm_strdup("table"),(yyvsp[-8].str),mm_strdup("of"),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40705 "preproc.c" +#line 40703 "preproc.c" break; case 458: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ -#line 3723 "preproc.y" +#line 3721 "preproc.y" { (yyval.str) = cat_str(12,mm_strdup("create"),(yyvsp[-13].str),mm_strdup("table if not exists"),(yyvsp[-8].str),mm_strdup("of"),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40713 "preproc.c" +#line 40711 "preproc.c" break; case 459: /* CreateStmt: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ -#line 3727 "preproc.y" +#line 3725 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-12].str),mm_strdup("table"),(yyvsp[-10].str),mm_strdup("partition of"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40721 "preproc.c" +#line 40719 "preproc.c" break; case 460: /* CreateStmt: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace */ -#line 3731 "preproc.y" +#line 3729 "preproc.y" { (yyval.str) = cat_str(13,mm_strdup("create"),(yyvsp[-15].str),mm_strdup("table if not exists"),(yyvsp[-10].str),mm_strdup("partition of"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40729 "preproc.c" +#line 40727 "preproc.c" break; case 461: /* OptTemp: TEMPORARY */ -#line 3739 "preproc.y" +#line 3737 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } -#line 40737 "preproc.c" +#line 40735 "preproc.c" break; case 462: /* OptTemp: TEMP */ -#line 3743 "preproc.y" +#line 3741 "preproc.y" { (yyval.str) = mm_strdup("temp"); } -#line 40745 "preproc.c" +#line 40743 "preproc.c" break; case 463: /* OptTemp: LOCAL TEMPORARY */ -#line 3747 "preproc.y" +#line 3745 "preproc.y" { (yyval.str) = mm_strdup("local temporary"); } -#line 40753 "preproc.c" +#line 40751 "preproc.c" break; case 464: /* OptTemp: LOCAL TEMP */ -#line 3751 "preproc.y" +#line 3749 "preproc.y" { (yyval.str) = mm_strdup("local temp"); } -#line 40761 "preproc.c" +#line 40759 "preproc.c" break; case 465: /* OptTemp: GLOBAL TEMPORARY */ -#line 3755 "preproc.y" +#line 3753 "preproc.y" { (yyval.str) = mm_strdup("global temporary"); } -#line 40769 "preproc.c" +#line 40767 "preproc.c" break; case 466: /* OptTemp: GLOBAL TEMP */ -#line 3759 "preproc.y" +#line 3757 "preproc.y" { (yyval.str) = mm_strdup("global temp"); } -#line 40777 "preproc.c" +#line 40775 "preproc.c" break; case 467: /* OptTemp: UNLOGGED */ -#line 3763 "preproc.y" +#line 3761 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } -#line 40785 "preproc.c" +#line 40783 "preproc.c" break; case 468: /* OptTemp: %empty */ -#line 3767 "preproc.y" +#line 3765 "preproc.y" { (yyval.str)=EMPTY; } -#line 40792 "preproc.c" +#line 40790 "preproc.c" break; case 469: /* OptTableElementList: TableElementList */ -#line 3774 "preproc.y" +#line 3772 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40800 "preproc.c" +#line 40798 "preproc.c" break; case 470: /* OptTableElementList: %empty */ -#line 3778 "preproc.y" +#line 3776 "preproc.y" { (yyval.str)=EMPTY; } -#line 40807 "preproc.c" +#line 40805 "preproc.c" break; case 471: /* OptTypedTableElementList: '(' TypedTableElementList ')' */ -#line 3785 "preproc.y" +#line 3783 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 40815 "preproc.c" +#line 40813 "preproc.c" break; case 472: /* OptTypedTableElementList: %empty */ -#line 3789 "preproc.y" +#line 3787 "preproc.y" { (yyval.str)=EMPTY; } -#line 40822 "preproc.c" +#line 40820 "preproc.c" break; case 473: /* TableElementList: TableElement */ -#line 3796 "preproc.y" +#line 3794 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40830 "preproc.c" +#line 40828 "preproc.c" break; case 474: /* TableElementList: TableElementList ',' TableElement */ -#line 3800 "preproc.y" +#line 3798 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 40838 "preproc.c" +#line 40836 "preproc.c" break; case 475: /* TypedTableElementList: TypedTableElement */ -#line 3808 "preproc.y" +#line 3806 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40846 "preproc.c" +#line 40844 "preproc.c" break; case 476: /* TypedTableElementList: TypedTableElementList ',' TypedTableElement */ -#line 3812 "preproc.y" +#line 3810 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 40854 "preproc.c" +#line 40852 "preproc.c" break; case 477: /* TableElement: columnDef */ -#line 3820 "preproc.y" +#line 3818 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40862 "preproc.c" +#line 40860 "preproc.c" break; case 478: /* TableElement: TableLikeClause */ -#line 3824 "preproc.y" +#line 3822 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40870 "preproc.c" +#line 40868 "preproc.c" break; case 479: /* TableElement: TableConstraint */ -#line 3828 "preproc.y" +#line 3826 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40878 "preproc.c" +#line 40876 "preproc.c" break; case 480: /* TypedTableElement: columnOptions */ -#line 3836 "preproc.y" +#line 3834 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40886 "preproc.c" +#line 40884 "preproc.c" break; case 481: /* TypedTableElement: TableConstraint */ -#line 3840 "preproc.y" +#line 3838 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40894 "preproc.c" +#line 40892 "preproc.c" break; case 482: /* columnDef: ColId Typename opt_column_compression create_generic_options ColQualList */ -#line 3848 "preproc.y" +#line 3846 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40902 "preproc.c" +#line 40900 "preproc.c" break; case 483: /* columnOptions: ColId ColQualList */ -#line 3856 "preproc.y" +#line 3854 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40910 "preproc.c" +#line 40908 "preproc.c" break; case 484: /* columnOptions: ColId WITH OPTIONS ColQualList */ -#line 3860 "preproc.y" +#line 3858 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("with options"),(yyvsp[0].str)); } -#line 40918 "preproc.c" +#line 40916 "preproc.c" break; case 485: /* column_compression: COMPRESSION ColId */ -#line 3868 "preproc.y" +#line 3866 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("compression"),(yyvsp[0].str)); } -#line 40926 "preproc.c" +#line 40924 "preproc.c" break; case 486: /* column_compression: COMPRESSION DEFAULT */ -#line 3872 "preproc.y" +#line 3870 "preproc.y" { (yyval.str) = mm_strdup("compression default"); } -#line 40934 "preproc.c" +#line 40932 "preproc.c" break; case 487: /* opt_column_compression: column_compression */ -#line 3880 "preproc.y" +#line 3878 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40942 "preproc.c" +#line 40940 "preproc.c" break; case 488: /* opt_column_compression: %empty */ -#line 3884 "preproc.y" +#line 3882 "preproc.y" { (yyval.str)=EMPTY; } -#line 40949 "preproc.c" +#line 40947 "preproc.c" break; case 489: /* ColQualList: ColQualList ColConstraint */ -#line 3891 "preproc.y" +#line 3889 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40957 "preproc.c" +#line 40955 "preproc.c" break; case 490: /* ColQualList: %empty */ -#line 3895 "preproc.y" +#line 3893 "preproc.y" { (yyval.str)=EMPTY; } -#line 40964 "preproc.c" +#line 40962 "preproc.c" break; case 491: /* ColConstraint: CONSTRAINT name ColConstraintElem */ -#line 3902 "preproc.y" +#line 3900 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 40972 "preproc.c" +#line 40970 "preproc.c" break; case 492: /* ColConstraint: ColConstraintElem */ -#line 3906 "preproc.y" +#line 3904 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40980 "preproc.c" +#line 40978 "preproc.c" break; case 493: /* ColConstraint: ConstraintAttr */ -#line 3910 "preproc.y" +#line 3908 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 40988 "preproc.c" +#line 40986 "preproc.c" break; case 494: /* ColConstraint: COLLATE any_name */ -#line 3914 "preproc.y" +#line 3912 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } -#line 40996 "preproc.c" +#line 40994 "preproc.c" break; case 495: /* ColConstraintElem: NOT NULL_P */ -#line 3922 "preproc.y" +#line 3920 "preproc.y" { (yyval.str) = mm_strdup("not null"); } -#line 41004 "preproc.c" +#line 41002 "preproc.c" break; case 496: /* ColConstraintElem: NULL_P */ -#line 3926 "preproc.y" +#line 3924 "preproc.y" { (yyval.str) = mm_strdup("null"); } -#line 41012 "preproc.c" +#line 41010 "preproc.c" break; case 497: /* ColConstraintElem: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace */ -#line 3930 "preproc.y" +#line 3928 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("unique"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41020 "preproc.c" +#line 41018 "preproc.c" break; case 498: /* ColConstraintElem: PRIMARY KEY opt_definition OptConsTableSpace */ -#line 3934 "preproc.y" +#line 3932 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("primary key"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41028 "preproc.c" +#line 41026 "preproc.c" break; case 499: /* ColConstraintElem: CHECK '(' a_expr ')' opt_no_inherit */ -#line 3938 "preproc.y" +#line 3936 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 41036 "preproc.c" +#line 41034 "preproc.c" break; case 500: /* ColConstraintElem: DEFAULT b_expr */ -#line 3942 "preproc.y" +#line 3940 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } -#line 41044 "preproc.c" +#line 41042 "preproc.c" break; case 501: /* ColConstraintElem: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList */ -#line 3946 "preproc.y" +#line 3944 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("generated"),(yyvsp[-3].str),mm_strdup("as identity"),(yyvsp[0].str)); } -#line 41052 "preproc.c" +#line 41050 "preproc.c" break; case 502: /* ColConstraintElem: GENERATED generated_when AS '(' a_expr ')' STORED */ -#line 3950 "preproc.y" +#line 3948 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("generated"),(yyvsp[-5].str),mm_strdup("as ("),(yyvsp[-2].str),mm_strdup(") stored")); } -#line 41060 "preproc.c" +#line 41058 "preproc.c" break; case 503: /* ColConstraintElem: REFERENCES qualified_name opt_column_list key_match key_actions */ -#line 3954 "preproc.y" +#line 3952 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("references"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41068 "preproc.c" +#line 41066 "preproc.c" break; case 504: /* opt_unique_null_treatment: NULLS_P DISTINCT */ -#line 3962 "preproc.y" +#line 3960 "preproc.y" { (yyval.str) = mm_strdup("nulls distinct"); } -#line 41076 "preproc.c" +#line 41074 "preproc.c" break; case 505: /* opt_unique_null_treatment: NULLS_P NOT DISTINCT */ -#line 3966 "preproc.y" +#line 3964 "preproc.y" { (yyval.str) = mm_strdup("nulls not distinct"); } -#line 41084 "preproc.c" +#line 41082 "preproc.c" break; case 506: /* opt_unique_null_treatment: %empty */ -#line 3970 "preproc.y" +#line 3968 "preproc.y" { (yyval.str)=EMPTY; } -#line 41091 "preproc.c" +#line 41089 "preproc.c" break; case 507: /* generated_when: ALWAYS */ -#line 3977 "preproc.y" +#line 3975 "preproc.y" { (yyval.str) = mm_strdup("always"); } -#line 41099 "preproc.c" +#line 41097 "preproc.c" break; case 508: /* generated_when: BY DEFAULT */ -#line 3981 "preproc.y" +#line 3979 "preproc.y" { (yyval.str) = mm_strdup("by default"); } -#line 41107 "preproc.c" +#line 41105 "preproc.c" break; case 509: /* ConstraintAttr: DEFERRABLE */ -#line 3989 "preproc.y" +#line 3987 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } -#line 41115 "preproc.c" +#line 41113 "preproc.c" break; case 510: /* ConstraintAttr: NOT DEFERRABLE */ -#line 3993 "preproc.y" +#line 3991 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } -#line 41123 "preproc.c" +#line 41121 "preproc.c" break; case 511: /* ConstraintAttr: INITIALLY DEFERRED */ -#line 3997 "preproc.y" +#line 3995 "preproc.y" { (yyval.str) = mm_strdup("initially deferred"); } -#line 41131 "preproc.c" +#line 41129 "preproc.c" break; case 512: /* ConstraintAttr: INITIALLY IMMEDIATE */ -#line 4001 "preproc.y" +#line 3999 "preproc.y" { (yyval.str) = mm_strdup("initially immediate"); } -#line 41139 "preproc.c" +#line 41137 "preproc.c" break; case 513: /* TableLikeClause: LIKE qualified_name TableLikeOptionList */ -#line 4009 "preproc.y" +#line 4007 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("like"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41147 "preproc.c" +#line 41145 "preproc.c" break; case 514: /* TableLikeOptionList: TableLikeOptionList INCLUDING TableLikeOption */ -#line 4017 "preproc.y" +#line 4015 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("including"),(yyvsp[0].str)); } -#line 41155 "preproc.c" +#line 41153 "preproc.c" break; case 515: /* TableLikeOptionList: TableLikeOptionList EXCLUDING TableLikeOption */ -#line 4021 "preproc.y" +#line 4019 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("excluding"),(yyvsp[0].str)); } -#line 41163 "preproc.c" +#line 41161 "preproc.c" break; case 516: /* TableLikeOptionList: %empty */ -#line 4025 "preproc.y" +#line 4023 "preproc.y" { (yyval.str)=EMPTY; } -#line 41170 "preproc.c" +#line 41168 "preproc.c" break; case 517: /* TableLikeOption: COMMENTS */ -#line 4032 "preproc.y" +#line 4030 "preproc.y" { (yyval.str) = mm_strdup("comments"); } -#line 41178 "preproc.c" +#line 41176 "preproc.c" break; case 518: /* TableLikeOption: COMPRESSION */ -#line 4036 "preproc.y" +#line 4034 "preproc.y" { (yyval.str) = mm_strdup("compression"); } -#line 41186 "preproc.c" +#line 41184 "preproc.c" break; case 519: /* TableLikeOption: CONSTRAINTS */ -#line 4040 "preproc.y" +#line 4038 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } -#line 41194 "preproc.c" +#line 41192 "preproc.c" break; case 520: /* TableLikeOption: DEFAULTS */ -#line 4044 "preproc.y" +#line 4042 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } -#line 41202 "preproc.c" +#line 41200 "preproc.c" break; case 521: /* TableLikeOption: IDENTITY_P */ -#line 4048 "preproc.y" +#line 4046 "preproc.y" { (yyval.str) = mm_strdup("identity"); } -#line 41210 "preproc.c" +#line 41208 "preproc.c" break; case 522: /* TableLikeOption: GENERATED */ -#line 4052 "preproc.y" +#line 4050 "preproc.y" { (yyval.str) = mm_strdup("generated"); } -#line 41218 "preproc.c" +#line 41216 "preproc.c" break; case 523: /* TableLikeOption: INDEXES */ -#line 4056 "preproc.y" +#line 4054 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } -#line 41226 "preproc.c" +#line 41224 "preproc.c" break; case 524: /* TableLikeOption: STATISTICS */ -#line 4060 "preproc.y" +#line 4058 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } -#line 41234 "preproc.c" +#line 41232 "preproc.c" break; case 525: /* TableLikeOption: STORAGE */ -#line 4064 "preproc.y" +#line 4062 "preproc.y" { (yyval.str) = mm_strdup("storage"); } -#line 41242 "preproc.c" +#line 41240 "preproc.c" break; case 526: /* TableLikeOption: ALL */ -#line 4068 "preproc.y" +#line 4066 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 41250 "preproc.c" +#line 41248 "preproc.c" break; case 527: /* TableConstraint: CONSTRAINT name ConstraintElem */ -#line 4076 "preproc.y" +#line 4074 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41258 "preproc.c" +#line 41256 "preproc.c" break; case 528: /* TableConstraint: ConstraintElem */ -#line 4080 "preproc.y" +#line 4078 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41266 "preproc.c" +#line 41264 "preproc.c" break; case 529: /* ConstraintElem: CHECK '(' a_expr ')' ConstraintAttributeSpec */ -#line 4088 "preproc.y" +#line 4086 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 41274 "preproc.c" +#line 41272 "preproc.c" break; case 530: /* ConstraintElem: UNIQUE opt_unique_null_treatment '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */ -#line 4092 "preproc.y" +#line 4090 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("unique"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41282 "preproc.c" +#line 41280 "preproc.c" break; case 531: /* ConstraintElem: UNIQUE ExistingIndex ConstraintAttributeSpec */ -#line 4096 "preproc.y" +#line 4094 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("unique"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41290 "preproc.c" +#line 41288 "preproc.c" break; case 532: /* ConstraintElem: PRIMARY KEY '(' columnList ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec */ -#line 4100 "preproc.y" +#line 4098 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("primary key ("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41298 "preproc.c" +#line 41296 "preproc.c" break; case 533: /* ConstraintElem: PRIMARY KEY ExistingIndex ConstraintAttributeSpec */ -#line 4104 "preproc.y" +#line 4102 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("primary key"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41306 "preproc.c" +#line 41304 "preproc.c" break; case 534: /* ConstraintElem: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec */ -#line 4108 "preproc.y" +#line 4106 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("exclude"),(yyvsp[-8].str),mm_strdup("("),(yyvsp[-6].str),mm_strdup(")"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41314 "preproc.c" +#line 41312 "preproc.c" break; case 535: /* ConstraintElem: FOREIGN KEY '(' columnList ')' REFERENCES qualified_name opt_column_list key_match key_actions ConstraintAttributeSpec */ -#line 4112 "preproc.y" +#line 4110 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("foreign key ("),(yyvsp[-7].str),mm_strdup(") references"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41322 "preproc.c" +#line 41320 "preproc.c" break; case 536: /* opt_no_inherit: NO INHERIT */ -#line 4120 "preproc.y" +#line 4118 "preproc.y" { (yyval.str) = mm_strdup("no inherit"); } -#line 41330 "preproc.c" +#line 41328 "preproc.c" break; case 537: /* opt_no_inherit: %empty */ -#line 4124 "preproc.y" +#line 4122 "preproc.y" { (yyval.str)=EMPTY; } -#line 41337 "preproc.c" +#line 41335 "preproc.c" break; case 538: /* opt_column_list: '(' columnList ')' */ -#line 4131 "preproc.y" +#line 4129 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41345 "preproc.c" +#line 41343 "preproc.c" break; case 539: /* opt_column_list: %empty */ -#line 4135 "preproc.y" +#line 4133 "preproc.y" { (yyval.str)=EMPTY; } -#line 41352 "preproc.c" +#line 41350 "preproc.c" break; case 540: /* columnList: columnElem */ -#line 4142 "preproc.y" +#line 4140 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41360 "preproc.c" +#line 41358 "preproc.c" break; case 541: /* columnList: columnList ',' columnElem */ -#line 4146 "preproc.y" +#line 4144 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 41368 "preproc.c" +#line 41366 "preproc.c" break; case 542: /* columnElem: ColId */ -#line 4154 "preproc.y" +#line 4152 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41376 "preproc.c" +#line 41374 "preproc.c" break; case 543: /* opt_c_include: INCLUDE '(' columnList ')' */ -#line 4162 "preproc.y" +#line 4160 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("include ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41384 "preproc.c" +#line 41382 "preproc.c" break; case 544: /* opt_c_include: %empty */ -#line 4166 "preproc.y" +#line 4164 "preproc.y" { (yyval.str)=EMPTY; } -#line 41391 "preproc.c" +#line 41389 "preproc.c" break; case 545: /* key_match: MATCH FULL */ -#line 4173 "preproc.y" +#line 4171 "preproc.y" { (yyval.str) = mm_strdup("match full"); } -#line 41399 "preproc.c" +#line 41397 "preproc.c" break; case 546: /* key_match: MATCH PARTIAL */ -#line 4177 "preproc.y" +#line 4175 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = mm_strdup("match partial"); } -#line 41408 "preproc.c" +#line 41406 "preproc.c" break; case 547: /* key_match: MATCH SIMPLE */ -#line 4182 "preproc.y" +#line 4180 "preproc.y" { (yyval.str) = mm_strdup("match simple"); } -#line 41416 "preproc.c" +#line 41414 "preproc.c" break; case 548: /* key_match: %empty */ -#line 4186 "preproc.y" +#line 4184 "preproc.y" { (yyval.str)=EMPTY; } -#line 41423 "preproc.c" +#line 41421 "preproc.c" break; case 549: /* ExclusionConstraintList: ExclusionConstraintElem */ -#line 4193 "preproc.y" +#line 4191 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41431 "preproc.c" +#line 41429 "preproc.c" break; case 550: /* ExclusionConstraintList: ExclusionConstraintList ',' ExclusionConstraintElem */ -#line 4197 "preproc.y" +#line 4195 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 41439 "preproc.c" +#line 41437 "preproc.c" break; case 551: /* ExclusionConstraintElem: index_elem WITH any_operator */ -#line 4205 "preproc.y" +#line 4203 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("with"),(yyvsp[0].str)); } -#line 41447 "preproc.c" +#line 41445 "preproc.c" break; case 552: /* ExclusionConstraintElem: index_elem WITH OPERATOR '(' any_operator ')' */ -#line 4209 "preproc.y" +#line 4207 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-5].str),mm_strdup("with operator ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41455 "preproc.c" +#line 41453 "preproc.c" break; case 553: /* OptWhereClause: WHERE '(' a_expr ')' */ -#line 4217 "preproc.y" +#line 4215 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("where ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41463 "preproc.c" +#line 41461 "preproc.c" break; case 554: /* OptWhereClause: %empty */ -#line 4221 "preproc.y" +#line 4219 "preproc.y" { (yyval.str)=EMPTY; } -#line 41470 "preproc.c" +#line 41468 "preproc.c" break; case 555: /* key_actions: key_update */ -#line 4228 "preproc.y" +#line 4226 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41478 "preproc.c" +#line 41476 "preproc.c" break; case 556: /* key_actions: key_delete */ -#line 4232 "preproc.y" +#line 4230 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41486 "preproc.c" +#line 41484 "preproc.c" break; case 557: /* key_actions: key_update key_delete */ -#line 4236 "preproc.y" +#line 4234 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41494 "preproc.c" +#line 41492 "preproc.c" break; case 558: /* key_actions: key_delete key_update */ -#line 4240 "preproc.y" +#line 4238 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41502 "preproc.c" +#line 41500 "preproc.c" break; case 559: /* key_actions: %empty */ -#line 4244 "preproc.y" +#line 4242 "preproc.y" { (yyval.str)=EMPTY; } -#line 41509 "preproc.c" +#line 41507 "preproc.c" break; case 560: /* key_update: ON UPDATE key_action */ -#line 4251 "preproc.y" +#line 4249 "preproc.y" { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(2,mm_strdup("on update"),(yyvsp[0].str)); } -#line 41518 "preproc.c" +#line 41515 "preproc.c" break; case 561: /* key_delete: ON DELETE_P key_action */ -#line 4260 "preproc.y" +#line 4257 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on delete"),(yyvsp[0].str)); } -#line 41526 "preproc.c" +#line 41523 "preproc.c" break; case 562: /* key_action: NO ACTION */ -#line 4268 "preproc.y" +#line 4265 "preproc.y" { (yyval.str) = mm_strdup("no action"); } -#line 41534 "preproc.c" +#line 41531 "preproc.c" break; case 563: /* key_action: RESTRICT */ -#line 4272 "preproc.y" +#line 4269 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } -#line 41542 "preproc.c" +#line 41539 "preproc.c" break; case 564: /* key_action: CASCADE */ -#line 4276 "preproc.y" +#line 4273 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } -#line 41550 "preproc.c" +#line 41547 "preproc.c" break; case 565: /* key_action: SET NULL_P opt_column_list */ -#line 4280 "preproc.y" +#line 4277 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set null"),(yyvsp[0].str)); } -#line 41558 "preproc.c" +#line 41555 "preproc.c" break; case 566: /* key_action: SET DEFAULT opt_column_list */ -#line 4284 "preproc.y" +#line 4281 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set default"),(yyvsp[0].str)); } -#line 41566 "preproc.c" +#line 41563 "preproc.c" break; case 567: /* OptInherit: INHERITS '(' qualified_name_list ')' */ -#line 4292 "preproc.y" +#line 4289 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("inherits ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41574 "preproc.c" +#line 41571 "preproc.c" break; case 568: /* OptInherit: %empty */ -#line 4296 "preproc.y" +#line 4293 "preproc.y" { (yyval.str)=EMPTY; } -#line 41581 "preproc.c" +#line 41578 "preproc.c" break; case 569: /* OptPartitionSpec: PartitionSpec */ -#line 4303 "preproc.y" +#line 4300 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41589 "preproc.c" +#line 41586 "preproc.c" break; case 570: /* OptPartitionSpec: %empty */ -#line 4307 "preproc.y" +#line 4304 "preproc.y" { (yyval.str)=EMPTY; } -#line 41596 "preproc.c" +#line 41593 "preproc.c" break; case 571: /* PartitionSpec: PARTITION BY ColId '(' part_params ')' */ -#line 4314 "preproc.y" +#line 4311 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("partition by"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41604 "preproc.c" +#line 41601 "preproc.c" break; case 572: /* part_params: part_elem */ -#line 4322 "preproc.y" +#line 4319 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41612 "preproc.c" +#line 41609 "preproc.c" break; case 573: /* part_params: part_params ',' part_elem */ -#line 4326 "preproc.y" +#line 4323 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 41620 "preproc.c" +#line 41617 "preproc.c" break; case 574: /* part_elem: ColId opt_collate opt_class */ -#line 4334 "preproc.y" +#line 4331 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41628 "preproc.c" +#line 41625 "preproc.c" break; case 575: /* part_elem: func_expr_windowless opt_collate opt_class */ -#line 4338 "preproc.y" +#line 4335 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41636 "preproc.c" +#line 41633 "preproc.c" break; case 576: /* part_elem: '(' a_expr ')' opt_collate opt_class */ -#line 4342 "preproc.y" +#line 4339 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41644 "preproc.c" +#line 41641 "preproc.c" break; case 577: /* table_access_method_clause: USING name */ -#line 4350 "preproc.y" +#line 4347 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } -#line 41652 "preproc.c" +#line 41649 "preproc.c" break; case 578: /* table_access_method_clause: %empty */ -#line 4354 "preproc.y" +#line 4351 "preproc.y" { (yyval.str)=EMPTY; } -#line 41659 "preproc.c" +#line 41656 "preproc.c" break; case 579: /* OptWith: WITH reloptions */ -#line 4361 "preproc.y" +#line 4358 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } -#line 41667 "preproc.c" +#line 41664 "preproc.c" break; case 580: /* OptWith: WITHOUT OIDS */ -#line 4365 "preproc.y" +#line 4362 "preproc.y" { (yyval.str) = mm_strdup("without oids"); } -#line 41675 "preproc.c" +#line 41672 "preproc.c" break; case 581: /* OptWith: %empty */ -#line 4369 "preproc.y" +#line 4366 "preproc.y" { (yyval.str)=EMPTY; } -#line 41682 "preproc.c" +#line 41679 "preproc.c" break; case 582: /* OnCommitOption: ON COMMIT DROP */ -#line 4376 "preproc.y" +#line 4373 "preproc.y" { (yyval.str) = mm_strdup("on commit drop"); } -#line 41690 "preproc.c" +#line 41687 "preproc.c" break; case 583: /* OnCommitOption: ON COMMIT DELETE_P ROWS */ -#line 4380 "preproc.y" +#line 4377 "preproc.y" { (yyval.str) = mm_strdup("on commit delete rows"); } -#line 41698 "preproc.c" +#line 41695 "preproc.c" break; case 584: /* OnCommitOption: ON COMMIT PRESERVE ROWS */ -#line 4384 "preproc.y" +#line 4381 "preproc.y" { (yyval.str) = mm_strdup("on commit preserve rows"); } -#line 41706 "preproc.c" +#line 41703 "preproc.c" break; case 585: /* OnCommitOption: %empty */ -#line 4388 "preproc.y" +#line 4385 "preproc.y" { (yyval.str)=EMPTY; } -#line 41713 "preproc.c" +#line 41710 "preproc.c" break; case 586: /* OptTableSpace: TABLESPACE name */ -#line 4395 "preproc.y" +#line 4392 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tablespace"),(yyvsp[0].str)); } -#line 41721 "preproc.c" +#line 41718 "preproc.c" break; case 587: /* OptTableSpace: %empty */ -#line 4399 "preproc.y" +#line 4396 "preproc.y" { (yyval.str)=EMPTY; } -#line 41728 "preproc.c" +#line 41725 "preproc.c" break; case 588: /* OptConsTableSpace: USING INDEX TABLESPACE name */ -#line 4406 "preproc.y" +#line 4403 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index tablespace"),(yyvsp[0].str)); } -#line 41736 "preproc.c" +#line 41733 "preproc.c" break; case 589: /* OptConsTableSpace: %empty */ -#line 4410 "preproc.y" +#line 4407 "preproc.y" { (yyval.str)=EMPTY; } -#line 41743 "preproc.c" +#line 41740 "preproc.c" break; case 590: /* ExistingIndex: USING INDEX name */ -#line 4417 "preproc.y" +#line 4414 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using index"),(yyvsp[0].str)); } -#line 41751 "preproc.c" +#line 41748 "preproc.c" break; case 591: /* CreateStatsStmt: CREATE STATISTICS any_name opt_name_list ON stats_params FROM from_list */ -#line 4425 "preproc.y" +#line 4422 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create statistics"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 41759 "preproc.c" +#line 41756 "preproc.c" break; case 592: /* CreateStatsStmt: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list */ -#line 4429 "preproc.y" +#line 4426 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create statistics if not exists"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 41767 "preproc.c" +#line 41764 "preproc.c" break; case 593: /* stats_params: stats_param */ -#line 4437 "preproc.y" +#line 4434 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41775 "preproc.c" +#line 41772 "preproc.c" break; case 594: /* stats_params: stats_params ',' stats_param */ -#line 4441 "preproc.y" +#line 4438 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 41783 "preproc.c" +#line 41780 "preproc.c" break; case 595: /* stats_param: ColId */ -#line 4449 "preproc.y" +#line 4446 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41791 "preproc.c" +#line 41788 "preproc.c" break; case 596: /* stats_param: func_expr_windowless */ -#line 4453 "preproc.y" +#line 4450 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41799 "preproc.c" +#line 41796 "preproc.c" break; case 597: /* stats_param: '(' a_expr ')' */ -#line 4457 "preproc.y" +#line 4454 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41807 "preproc.c" +#line 41804 "preproc.c" break; case 598: /* AlterStatsStmt: ALTER STATISTICS any_name SET STATISTICS SignedIconst */ -#line 4465 "preproc.y" +#line 4462 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } -#line 41815 "preproc.c" +#line 41812 "preproc.c" break; case 599: /* AlterStatsStmt: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS SignedIconst */ -#line 4469 "preproc.y" +#line 4466 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics if exists"),(yyvsp[-3].str),mm_strdup("set statistics"),(yyvsp[0].str)); } -#line 41823 "preproc.c" +#line 41820 "preproc.c" break; case 600: /* create_as_target: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace */ -#line 4477 "preproc.y" +#line 4474 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41831 "preproc.c" +#line 41828 "preproc.c" break; case 601: /* opt_with_data: WITH DATA_P */ -#line 4485 "preproc.y" +#line 4482 "preproc.y" { (yyval.str) = mm_strdup("with data"); } -#line 41839 "preproc.c" +#line 41836 "preproc.c" break; case 602: /* opt_with_data: WITH NO DATA_P */ -#line 4489 "preproc.y" +#line 4486 "preproc.y" { (yyval.str) = mm_strdup("with no data"); } -#line 41847 "preproc.c" +#line 41844 "preproc.c" break; case 603: /* opt_with_data: %empty */ -#line 4493 "preproc.y" +#line 4490 "preproc.y" { (yyval.str)=EMPTY; } -#line 41854 "preproc.c" +#line 41851 "preproc.c" break; case 604: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data */ -#line 4500 "preproc.y" +#line 4497 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-6].str),mm_strdup("materialized view"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41862 "preproc.c" +#line 41859 "preproc.c" break; case 605: /* CreateMatViewStmt: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data */ -#line 4504 "preproc.y" +#line 4501 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-9].str),mm_strdup("materialized view if not exists"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41870 "preproc.c" +#line 41867 "preproc.c" break; case 606: /* create_mv_target: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace */ -#line 4512 "preproc.y" +#line 4509 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41878 "preproc.c" +#line 41875 "preproc.c" break; case 607: /* OptNoLog: UNLOGGED */ -#line 4520 "preproc.y" +#line 4517 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } -#line 41886 "preproc.c" +#line 41883 "preproc.c" break; case 608: /* OptNoLog: %empty */ -#line 4524 "preproc.y" +#line 4521 "preproc.y" { (yyval.str)=EMPTY; } -#line 41893 "preproc.c" +#line 41890 "preproc.c" break; case 609: /* RefreshMatViewStmt: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data */ -#line 4531 "preproc.y" +#line 4528 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("refresh materialized view"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41901 "preproc.c" +#line 41898 "preproc.c" break; case 610: /* CreateSeqStmt: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList */ -#line 4539 "preproc.y" +#line 4536 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-3].str),mm_strdup("sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41909 "preproc.c" +#line 41906 "preproc.c" break; case 611: /* CreateSeqStmt: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList */ -#line 4543 "preproc.y" +#line 4540 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-6].str),mm_strdup("sequence if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41917 "preproc.c" +#line 41914 "preproc.c" break; case 612: /* AlterSeqStmt: ALTER SEQUENCE qualified_name SeqOptList */ -#line 4551 "preproc.y" +#line 4548 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41925 "preproc.c" +#line 41922 "preproc.c" break; case 613: /* AlterSeqStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList */ -#line 4555 "preproc.y" +#line 4552 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter sequence if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41933 "preproc.c" +#line 41930 "preproc.c" break; case 614: /* OptSeqOptList: SeqOptList */ -#line 4563 "preproc.y" +#line 4560 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41941 "preproc.c" +#line 41938 "preproc.c" break; case 615: /* OptSeqOptList: %empty */ -#line 4567 "preproc.y" +#line 4564 "preproc.y" { (yyval.str)=EMPTY; } -#line 41948 "preproc.c" +#line 41945 "preproc.c" break; case 616: /* OptParenthesizedSeqOptList: '(' SeqOptList ')' */ -#line 4574 "preproc.y" +#line 4571 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 41956 "preproc.c" +#line 41953 "preproc.c" break; case 617: /* OptParenthesizedSeqOptList: %empty */ -#line 4578 "preproc.y" +#line 4575 "preproc.y" { (yyval.str)=EMPTY; } -#line 41963 "preproc.c" +#line 41960 "preproc.c" break; case 618: /* SeqOptList: SeqOptElem */ -#line 4585 "preproc.y" +#line 4582 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 41971 "preproc.c" +#line 41968 "preproc.c" break; case 619: /* SeqOptList: SeqOptList SeqOptElem */ -#line 4589 "preproc.y" +#line 4586 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 41979 "preproc.c" +#line 41976 "preproc.c" break; case 620: /* SeqOptElem: AS SimpleTypename */ -#line 4597 "preproc.y" +#line 4594 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } -#line 41987 "preproc.c" +#line 41984 "preproc.c" break; case 621: /* SeqOptElem: CACHE NumericOnly */ -#line 4601 "preproc.y" +#line 4598 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cache"),(yyvsp[0].str)); } -#line 41995 "preproc.c" +#line 41992 "preproc.c" break; case 622: /* SeqOptElem: CYCLE */ -#line 4605 "preproc.y" +#line 4602 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } -#line 42003 "preproc.c" +#line 42000 "preproc.c" break; case 623: /* SeqOptElem: NO CYCLE */ -#line 4609 "preproc.y" +#line 4606 "preproc.y" { (yyval.str) = mm_strdup("no cycle"); } -#line 42011 "preproc.c" +#line 42008 "preproc.c" break; case 624: /* SeqOptElem: INCREMENT opt_by NumericOnly */ -#line 4613 "preproc.y" +#line 4610 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("increment"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42019 "preproc.c" +#line 42016 "preproc.c" break; case 625: /* SeqOptElem: MAXVALUE NumericOnly */ -#line 4617 "preproc.y" +#line 4614 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("maxvalue"),(yyvsp[0].str)); } -#line 42027 "preproc.c" +#line 42024 "preproc.c" break; case 626: /* SeqOptElem: MINVALUE NumericOnly */ -#line 4621 "preproc.y" +#line 4618 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("minvalue"),(yyvsp[0].str)); } -#line 42035 "preproc.c" +#line 42032 "preproc.c" break; case 627: /* SeqOptElem: NO MAXVALUE */ -#line 4625 "preproc.y" +#line 4622 "preproc.y" { (yyval.str) = mm_strdup("no maxvalue"); } -#line 42043 "preproc.c" +#line 42040 "preproc.c" break; case 628: /* SeqOptElem: NO MINVALUE */ -#line 4629 "preproc.y" +#line 4626 "preproc.y" { (yyval.str) = mm_strdup("no minvalue"); } -#line 42051 "preproc.c" +#line 42048 "preproc.c" break; case 629: /* SeqOptElem: OWNED BY any_name */ -#line 4633 "preproc.y" +#line 4630 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owned by"),(yyvsp[0].str)); } -#line 42059 "preproc.c" +#line 42056 "preproc.c" break; case 630: /* SeqOptElem: SEQUENCE NAME_P any_name */ -#line 4637 "preproc.y" +#line 4634 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sequence name"),(yyvsp[0].str)); } -#line 42067 "preproc.c" +#line 42064 "preproc.c" break; case 631: /* SeqOptElem: START opt_with NumericOnly */ -#line 4641 "preproc.y" +#line 4638 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("start"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42075 "preproc.c" +#line 42072 "preproc.c" break; case 632: /* SeqOptElem: RESTART */ -#line 4645 "preproc.y" +#line 4642 "preproc.y" { (yyval.str) = mm_strdup("restart"); } -#line 42083 "preproc.c" +#line 42080 "preproc.c" break; case 633: /* SeqOptElem: RESTART opt_with NumericOnly */ -#line 4649 "preproc.y" +#line 4646 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("restart"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42091 "preproc.c" +#line 42088 "preproc.c" break; case 634: /* opt_by: BY */ -#line 4657 "preproc.y" +#line 4654 "preproc.y" { (yyval.str) = mm_strdup("by"); } -#line 42099 "preproc.c" +#line 42096 "preproc.c" break; case 635: /* opt_by: %empty */ -#line 4661 "preproc.y" +#line 4658 "preproc.y" { (yyval.str)=EMPTY; } -#line 42106 "preproc.c" +#line 42103 "preproc.c" break; case 636: /* NumericOnly: ecpg_fconst */ -#line 4668 "preproc.y" +#line 4665 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42114 "preproc.c" +#line 42111 "preproc.c" break; case 637: /* NumericOnly: '+' ecpg_fconst */ -#line 4672 "preproc.y" +#line 4669 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } -#line 42122 "preproc.c" +#line 42119 "preproc.c" break; case 638: /* NumericOnly: '-' ecpg_fconst */ -#line 4676 "preproc.y" +#line 4673 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } -#line 42130 "preproc.c" +#line 42127 "preproc.c" break; case 639: /* NumericOnly: SignedIconst */ -#line 4680 "preproc.y" +#line 4677 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42138 "preproc.c" +#line 42135 "preproc.c" break; case 640: /* NumericOnly_list: NumericOnly */ -#line 4688 "preproc.y" +#line 4685 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42146 "preproc.c" +#line 42143 "preproc.c" break; case 641: /* NumericOnly_list: NumericOnly_list ',' NumericOnly */ -#line 4692 "preproc.y" +#line 4689 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 42154 "preproc.c" +#line 42151 "preproc.c" break; case 642: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name */ -#line 4700 "preproc.y" +#line 4697 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("language"),(yyvsp[0].str)); } -#line 42162 "preproc.c" +#line 42159 "preproc.c" break; case 643: /* CreatePLangStmt: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator */ -#line 4704 "preproc.y" +#line 4701 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create"),(yyvsp[-8].str),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("language"),(yyvsp[-4].str),mm_strdup("handler"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42170 "preproc.c" +#line 42167 "preproc.c" break; case 644: /* opt_trusted: TRUSTED */ -#line 4712 "preproc.y" +#line 4709 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } -#line 42178 "preproc.c" +#line 42175 "preproc.c" break; case 645: /* opt_trusted: %empty */ -#line 4716 "preproc.y" +#line 4713 "preproc.y" { (yyval.str)=EMPTY; } -#line 42185 "preproc.c" +#line 42182 "preproc.c" break; case 646: /* handler_name: name */ -#line 4723 "preproc.y" +#line 4720 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42193 "preproc.c" +#line 42190 "preproc.c" break; case 647: /* handler_name: name attrs */ -#line 4727 "preproc.y" +#line 4724 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42201 "preproc.c" +#line 42198 "preproc.c" break; case 648: /* opt_inline_handler: INLINE_P handler_name */ -#line 4735 "preproc.y" +#line 4732 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("inline"),(yyvsp[0].str)); } -#line 42209 "preproc.c" +#line 42206 "preproc.c" break; case 649: /* opt_inline_handler: %empty */ -#line 4739 "preproc.y" +#line 4736 "preproc.y" { (yyval.str)=EMPTY; } -#line 42216 "preproc.c" +#line 42213 "preproc.c" break; case 650: /* validator_clause: VALIDATOR handler_name */ -#line 4746 "preproc.y" +#line 4743 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validator"),(yyvsp[0].str)); } -#line 42224 "preproc.c" +#line 42221 "preproc.c" break; case 651: /* validator_clause: NO VALIDATOR */ -#line 4750 "preproc.y" +#line 4747 "preproc.y" { (yyval.str) = mm_strdup("no validator"); } -#line 42232 "preproc.c" +#line 42229 "preproc.c" break; case 652: /* opt_validator: validator_clause */ -#line 4758 "preproc.y" +#line 4755 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42240 "preproc.c" +#line 42237 "preproc.c" break; case 653: /* opt_validator: %empty */ -#line 4762 "preproc.y" +#line 4759 "preproc.y" { (yyval.str)=EMPTY; } -#line 42247 "preproc.c" +#line 42244 "preproc.c" break; case 654: /* opt_procedural: PROCEDURAL */ -#line 4769 "preproc.y" +#line 4766 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } -#line 42255 "preproc.c" +#line 42252 "preproc.c" break; case 655: /* opt_procedural: %empty */ -#line 4773 "preproc.y" +#line 4770 "preproc.y" { (yyval.str)=EMPTY; } -#line 42262 "preproc.c" +#line 42259 "preproc.c" break; case 656: /* CreateTableSpaceStmt: CREATE TABLESPACE name OptTableSpaceOwner LOCATION ecpg_sconst opt_reloptions */ -#line 4780 "preproc.y" +#line 4777 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create tablespace"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("location"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42270 "preproc.c" +#line 42267 "preproc.c" break; case 657: /* OptTableSpaceOwner: OWNER RoleSpec */ -#line 4788 "preproc.y" +#line 4785 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("owner"),(yyvsp[0].str)); } -#line 42278 "preproc.c" +#line 42275 "preproc.c" break; case 658: /* OptTableSpaceOwner: %empty */ -#line 4792 "preproc.y" +#line 4789 "preproc.y" { (yyval.str)=EMPTY; } -#line 42285 "preproc.c" +#line 42282 "preproc.c" break; case 659: /* DropTableSpaceStmt: DROP TABLESPACE name */ -#line 4799 "preproc.y" +#line 4796 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop tablespace"),(yyvsp[0].str)); } -#line 42293 "preproc.c" +#line 42290 "preproc.c" break; case 660: /* DropTableSpaceStmt: DROP TABLESPACE IF_P EXISTS name */ -#line 4803 "preproc.y" +#line 4800 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop tablespace if exists"),(yyvsp[0].str)); } -#line 42301 "preproc.c" +#line 42298 "preproc.c" break; case 661: /* CreateExtensionStmt: CREATE EXTENSION name opt_with create_extension_opt_list */ -#line 4811 "preproc.y" +#line 4808 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create extension"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42309 "preproc.c" +#line 42306 "preproc.c" break; case 662: /* CreateExtensionStmt: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list */ -#line 4815 "preproc.y" +#line 4812 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create extension if not exists"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42317 "preproc.c" +#line 42314 "preproc.c" break; case 663: /* create_extension_opt_list: create_extension_opt_list create_extension_opt_item */ -#line 4823 "preproc.y" +#line 4820 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42325 "preproc.c" +#line 42322 "preproc.c" break; case 664: /* create_extension_opt_list: %empty */ -#line 4827 "preproc.y" +#line 4824 "preproc.y" { (yyval.str)=EMPTY; } -#line 42332 "preproc.c" +#line 42329 "preproc.c" break; case 665: /* create_extension_opt_item: SCHEMA name */ -#line 4834 "preproc.y" +#line 4831 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } -#line 42340 "preproc.c" +#line 42337 "preproc.c" break; case 666: /* create_extension_opt_item: VERSION_P NonReservedWord_or_Sconst */ -#line 4838 "preproc.y" +#line 4835 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } -#line 42348 "preproc.c" +#line 42345 "preproc.c" break; case 667: /* create_extension_opt_item: FROM NonReservedWord_or_Sconst */ -#line 4842 "preproc.y" +#line 4839 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } -#line 42357 "preproc.c" +#line 42354 "preproc.c" break; case 668: /* create_extension_opt_item: CASCADE */ -#line 4847 "preproc.y" +#line 4844 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } -#line 42365 "preproc.c" +#line 42362 "preproc.c" break; case 669: /* AlterExtensionStmt: ALTER EXTENSION name UPDATE alter_extension_opt_list */ -#line 4855 "preproc.y" +#line 4852 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter extension"),(yyvsp[-2].str),mm_strdup("update"),(yyvsp[0].str)); } -#line 42373 "preproc.c" +#line 42370 "preproc.c" break; case 670: /* alter_extension_opt_list: alter_extension_opt_list alter_extension_opt_item */ -#line 4863 "preproc.y" +#line 4860 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42381 "preproc.c" +#line 42378 "preproc.c" break; case 671: /* alter_extension_opt_list: %empty */ -#line 4867 "preproc.y" +#line 4864 "preproc.y" { (yyval.str)=EMPTY; } -#line 42388 "preproc.c" +#line 42385 "preproc.c" break; case 672: /* alter_extension_opt_item: TO NonReservedWord_or_Sconst */ -#line 4874 "preproc.y" +#line 4871 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } -#line 42396 "preproc.c" +#line 42393 "preproc.c" break; case 673: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_name name */ -#line 4882 "preproc.y" +#line 4879 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42404 "preproc.c" +#line 42401 "preproc.c" break; case 674: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop object_type_any_name any_name */ -#line 4886 "preproc.y" +#line 4883 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42412 "preproc.c" +#line 42409 "preproc.c" break; case 675: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes */ -#line 4890 "preproc.y" +#line 4887 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("aggregate"),(yyvsp[0].str)); } -#line 42420 "preproc.c" +#line 42417 "preproc.c" break; case 676: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')' */ -#line 4894 "preproc.y" +#line 4891 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("alter extension"),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("cast ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } -#line 42428 "preproc.c" +#line 42425 "preproc.c" break; case 677: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop DOMAIN_P Typename */ -#line 4898 "preproc.y" +#line 4895 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("domain"),(yyvsp[0].str)); } -#line 42436 "preproc.c" +#line 42433 "preproc.c" break; case 678: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes */ -#line 4902 "preproc.y" +#line 4899 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("function"),(yyvsp[0].str)); } -#line 42444 "preproc.c" +#line 42441 "preproc.c" break; case 679: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes */ -#line 4906 "preproc.y" +#line 4903 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("operator"),(yyvsp[0].str)); } -#line 42452 "preproc.c" +#line 42449 "preproc.c" break; case 680: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name */ -#line 4910 "preproc.y" +#line 4907 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter extension"),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("operator class"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } -#line 42460 "preproc.c" +#line 42457 "preproc.c" break; case 681: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name */ -#line 4914 "preproc.y" +#line 4911 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter extension"),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("operator family"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } -#line 42468 "preproc.c" +#line 42465 "preproc.c" break; case 682: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes */ -#line 4918 "preproc.y" +#line 4915 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("procedure"),(yyvsp[0].str)); } -#line 42476 "preproc.c" +#line 42473 "preproc.c" break; case 683: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes */ -#line 4922 "preproc.y" +#line 4919 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("routine"),(yyvsp[0].str)); } -#line 42484 "preproc.c" +#line 42481 "preproc.c" break; case 684: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name */ -#line 4926 "preproc.y" +#line 4923 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter extension"),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("transform for"),(yyvsp[-2].str),mm_strdup("language"),(yyvsp[0].str)); } -#line 42492 "preproc.c" +#line 42489 "preproc.c" break; case 685: /* AlterExtensionContentsStmt: ALTER EXTENSION name add_drop TYPE_P Typename */ -#line 4930 "preproc.y" +#line 4927 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter extension"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("type"),(yyvsp[0].str)); } -#line 42500 "preproc.c" +#line 42497 "preproc.c" break; case 686: /* CreateFdwStmt: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options */ -#line 4938 "preproc.y" +#line 4935 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create foreign data wrapper"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42508 "preproc.c" +#line 42505 "preproc.c" break; case 687: /* fdw_option: HANDLER handler_name */ -#line 4946 "preproc.y" +#line 4943 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("handler"),(yyvsp[0].str)); } -#line 42516 "preproc.c" +#line 42513 "preproc.c" break; case 688: /* fdw_option: NO HANDLER */ -#line 4950 "preproc.y" +#line 4947 "preproc.y" { (yyval.str) = mm_strdup("no handler"); } -#line 42524 "preproc.c" +#line 42521 "preproc.c" break; case 689: /* fdw_option: VALIDATOR handler_name */ -#line 4954 "preproc.y" +#line 4951 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("validator"),(yyvsp[0].str)); } -#line 42532 "preproc.c" +#line 42529 "preproc.c" break; case 690: /* fdw_option: NO VALIDATOR */ -#line 4958 "preproc.y" +#line 4955 "preproc.y" { (yyval.str) = mm_strdup("no validator"); } -#line 42540 "preproc.c" +#line 42537 "preproc.c" break; case 691: /* fdw_options: fdw_option */ -#line 4966 "preproc.y" +#line 4963 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42548 "preproc.c" +#line 42545 "preproc.c" break; case 692: /* fdw_options: fdw_options fdw_option */ -#line 4970 "preproc.y" +#line 4967 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42556 "preproc.c" +#line 42553 "preproc.c" break; case 693: /* opt_fdw_options: fdw_options */ -#line 4978 "preproc.y" +#line 4975 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42564 "preproc.c" +#line 42561 "preproc.c" break; case 694: /* opt_fdw_options: %empty */ -#line 4982 "preproc.y" +#line 4979 "preproc.y" { (yyval.str)=EMPTY; } -#line 42571 "preproc.c" +#line 42568 "preproc.c" break; case 695: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options */ -#line 4989 "preproc.y" +#line 4986 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42579 "preproc.c" +#line 42576 "preproc.c" break; case 696: /* AlterFdwStmt: ALTER FOREIGN DATA_P WRAPPER name fdw_options */ -#line 4993 "preproc.y" +#line 4990 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter foreign data wrapper"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42587 "preproc.c" +#line 42584 "preproc.c" break; case 697: /* create_generic_options: OPTIONS '(' generic_option_list ')' */ -#line 5001 "preproc.y" +#line 4998 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("options ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 42595 "preproc.c" +#line 42592 "preproc.c" break; case 698: /* create_generic_options: %empty */ -#line 5005 "preproc.y" +#line 5002 "preproc.y" { (yyval.str)=EMPTY; } -#line 42602 "preproc.c" +#line 42599 "preproc.c" break; case 699: /* generic_option_list: generic_option_elem */ -#line 5012 "preproc.y" +#line 5009 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42610 "preproc.c" +#line 42607 "preproc.c" break; case 700: /* generic_option_list: generic_option_list ',' generic_option_elem */ -#line 5016 "preproc.y" +#line 5013 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 42618 "preproc.c" +#line 42615 "preproc.c" break; case 701: /* alter_generic_options: OPTIONS '(' alter_generic_option_list ')' */ -#line 5024 "preproc.y" +#line 5021 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("options ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 42626 "preproc.c" +#line 42623 "preproc.c" break; case 702: /* alter_generic_option_list: alter_generic_option_elem */ -#line 5032 "preproc.y" +#line 5029 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42634 "preproc.c" +#line 42631 "preproc.c" break; case 703: /* alter_generic_option_list: alter_generic_option_list ',' alter_generic_option_elem */ -#line 5036 "preproc.y" +#line 5033 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 42642 "preproc.c" +#line 42639 "preproc.c" break; case 704: /* alter_generic_option_elem: generic_option_elem */ -#line 5044 "preproc.y" +#line 5041 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42650 "preproc.c" +#line 42647 "preproc.c" break; case 705: /* alter_generic_option_elem: SET generic_option_elem */ -#line 5048 "preproc.y" +#line 5045 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("set"),(yyvsp[0].str)); } -#line 42658 "preproc.c" +#line 42655 "preproc.c" break; case 706: /* alter_generic_option_elem: ADD_P generic_option_elem */ -#line 5052 "preproc.y" +#line 5049 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("add"),(yyvsp[0].str)); } -#line 42666 "preproc.c" +#line 42663 "preproc.c" break; case 707: /* alter_generic_option_elem: DROP generic_option_name */ -#line 5056 "preproc.y" +#line 5053 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop"),(yyvsp[0].str)); } -#line 42674 "preproc.c" +#line 42671 "preproc.c" break; case 708: /* generic_option_elem: generic_option_name generic_option_arg */ -#line 5064 "preproc.y" +#line 5061 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42682 "preproc.c" +#line 42679 "preproc.c" break; case 709: /* generic_option_name: ColLabel */ -#line 5072 "preproc.y" +#line 5069 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42690 "preproc.c" +#line 42687 "preproc.c" break; case 710: /* generic_option_arg: ecpg_sconst */ -#line 5080 "preproc.y" +#line 5077 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42698 "preproc.c" +#line 42695 "preproc.c" break; case 711: /* CreateForeignServerStmt: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */ -#line 5088 "preproc.y" +#line 5085 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create server"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("foreign data wrapper"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42706 "preproc.c" +#line 42703 "preproc.c" break; case 712: /* CreateForeignServerStmt: CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options */ -#line 5092 "preproc.y" +#line 5089 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create server if not exists"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),mm_strdup("foreign data wrapper"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42714 "preproc.c" +#line 42711 "preproc.c" break; case 713: /* opt_type: TYPE_P ecpg_sconst */ -#line 5100 "preproc.y" +#line 5097 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("type"),(yyvsp[0].str)); } -#line 42722 "preproc.c" +#line 42719 "preproc.c" break; case 714: /* opt_type: %empty */ -#line 5104 "preproc.y" +#line 5101 "preproc.y" { (yyval.str)=EMPTY; } -#line 42729 "preproc.c" +#line 42726 "preproc.c" break; case 715: /* foreign_server_version: VERSION_P ecpg_sconst */ -#line 5111 "preproc.y" +#line 5108 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } -#line 42737 "preproc.c" +#line 42734 "preproc.c" break; case 716: /* foreign_server_version: VERSION_P NULL_P */ -#line 5115 "preproc.y" +#line 5112 "preproc.y" { (yyval.str) = mm_strdup("version null"); } -#line 42745 "preproc.c" +#line 42742 "preproc.c" break; case 717: /* opt_foreign_server_version: foreign_server_version */ -#line 5123 "preproc.y" +#line 5120 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42753 "preproc.c" +#line 42750 "preproc.c" break; case 718: /* opt_foreign_server_version: %empty */ -#line 5127 "preproc.y" +#line 5124 "preproc.y" { (yyval.str)=EMPTY; } -#line 42760 "preproc.c" +#line 42757 "preproc.c" break; case 719: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version alter_generic_options */ -#line 5134 "preproc.y" +#line 5131 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42768 "preproc.c" +#line 42765 "preproc.c" break; case 720: /* AlterForeignServerStmt: ALTER SERVER name foreign_server_version */ -#line 5138 "preproc.y" +#line 5135 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42776 "preproc.c" +#line 42773 "preproc.c" break; case 721: /* AlterForeignServerStmt: ALTER SERVER name alter_generic_options */ -#line 5142 "preproc.y" +#line 5139 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42784 "preproc.c" +#line 42781 "preproc.c" break; case 722: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */ -#line 5150 "preproc.y" +#line 5147 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42792 "preproc.c" +#line 42789 "preproc.c" break; case 723: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options */ -#line 5154 "preproc.y" +#line 5151 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table if not exists"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42800 "preproc.c" +#line 42797 "preproc.c" break; case 724: /* CreateForeignTableStmt: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */ -#line 5158 "preproc.y" +#line 5155 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table"),(yyvsp[-8].str),mm_strdup("partition of"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42808 "preproc.c" +#line 42805 "preproc.c" break; case 725: /* CreateForeignTableStmt: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options */ -#line 5162 "preproc.y" +#line 5159 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create foreign table if not exists"),(yyvsp[-8].str),mm_strdup("partition of"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42816 "preproc.c" +#line 42813 "preproc.c" break; case 726: /* ImportForeignSchemaStmt: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options */ -#line 5170 "preproc.y" +#line 5167 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("import foreign schema"),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("from server"),(yyvsp[-3].str),mm_strdup("into"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42824 "preproc.c" +#line 42821 "preproc.c" break; case 727: /* import_qualification_type: LIMIT TO */ -#line 5178 "preproc.y" +#line 5175 "preproc.y" { (yyval.str) = mm_strdup("limit to"); } -#line 42832 "preproc.c" +#line 42829 "preproc.c" break; case 728: /* import_qualification_type: EXCEPT */ -#line 5182 "preproc.y" +#line 5179 "preproc.y" { (yyval.str) = mm_strdup("except"); } -#line 42840 "preproc.c" +#line 42837 "preproc.c" break; case 729: /* import_qualification: import_qualification_type '(' relation_expr_list ')' */ -#line 5190 "preproc.y" +#line 5187 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 42848 "preproc.c" +#line 42845 "preproc.c" break; case 730: /* import_qualification: %empty */ -#line 5194 "preproc.y" +#line 5191 "preproc.y" { (yyval.str)=EMPTY; } -#line 42855 "preproc.c" +#line 42852 "preproc.c" break; case 731: /* CreateUserMappingStmt: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options */ -#line 5201 "preproc.y" +#line 5198 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create user mapping for"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42863 "preproc.c" +#line 42860 "preproc.c" break; case 732: /* CreateUserMappingStmt: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options */ -#line 5205 "preproc.y" +#line 5202 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create user mapping if not exists for"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42871 "preproc.c" +#line 42868 "preproc.c" break; case 733: /* auth_ident: RoleSpec */ -#line 5213 "preproc.y" +#line 5210 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 42879 "preproc.c" +#line 42876 "preproc.c" break; case 734: /* auth_ident: USER */ -#line 5217 "preproc.y" +#line 5214 "preproc.y" { (yyval.str) = mm_strdup("user"); } -#line 42887 "preproc.c" +#line 42884 "preproc.c" break; case 735: /* DropUserMappingStmt: DROP USER MAPPING FOR auth_ident SERVER name */ -#line 5225 "preproc.y" +#line 5222 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop user mapping for"),(yyvsp[-2].str),mm_strdup("server"),(yyvsp[0].str)); } -#line 42895 "preproc.c" +#line 42892 "preproc.c" break; case 736: /* DropUserMappingStmt: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name */ -#line 5229 "preproc.y" +#line 5226 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop user mapping if exists for"),(yyvsp[-2].str),mm_strdup("server"),(yyvsp[0].str)); } -#line 42903 "preproc.c" +#line 42900 "preproc.c" break; case 737: /* AlterUserMappingStmt: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options */ -#line 5237 "preproc.y" +#line 5234 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter user mapping for"),(yyvsp[-3].str),mm_strdup("server"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42911 "preproc.c" +#line 42908 "preproc.c" break; case 738: /* CreatePolicyStmt: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */ -#line 5245 "preproc.y" +#line 5242 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create policy"),(yyvsp[-7].str),mm_strdup("on"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42919 "preproc.c" +#line 42916 "preproc.c" break; case 739: /* AlterPolicyStmt: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck */ -#line 5253 "preproc.y" +#line 5250 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter policy"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 42927 "preproc.c" +#line 42924 "preproc.c" break; case 740: /* RowSecurityOptionalExpr: USING '(' a_expr ')' */ -#line 5261 "preproc.y" +#line 5258 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("using ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 42935 "preproc.c" +#line 42932 "preproc.c" break; case 741: /* RowSecurityOptionalExpr: %empty */ -#line 5265 "preproc.y" +#line 5262 "preproc.y" { (yyval.str)=EMPTY; } -#line 42942 "preproc.c" +#line 42939 "preproc.c" break; case 742: /* RowSecurityOptionalWithCheck: WITH CHECK '(' a_expr ')' */ -#line 5272 "preproc.y" +#line 5269 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("with check ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 42950 "preproc.c" +#line 42947 "preproc.c" break; case 743: /* RowSecurityOptionalWithCheck: %empty */ -#line 5276 "preproc.y" +#line 5273 "preproc.y" { (yyval.str)=EMPTY; } -#line 42957 "preproc.c" +#line 42954 "preproc.c" break; case 744: /* RowSecurityDefaultToRole: TO role_list */ -#line 5283 "preproc.y" +#line 5280 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } -#line 42965 "preproc.c" +#line 42962 "preproc.c" break; case 745: /* RowSecurityDefaultToRole: %empty */ -#line 5287 "preproc.y" +#line 5284 "preproc.y" { (yyval.str)=EMPTY; } -#line 42972 "preproc.c" +#line 42969 "preproc.c" break; case 746: /* RowSecurityOptionalToRole: TO role_list */ -#line 5294 "preproc.y" +#line 5291 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to"),(yyvsp[0].str)); } -#line 42980 "preproc.c" +#line 42977 "preproc.c" break; case 747: /* RowSecurityOptionalToRole: %empty */ -#line 5298 "preproc.y" +#line 5295 "preproc.y" { (yyval.str)=EMPTY; } -#line 42987 "preproc.c" +#line 42984 "preproc.c" break; case 748: /* RowSecurityDefaultPermissive: AS ecpg_ident */ -#line 5305 "preproc.y" +#line 5302 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } -#line 42995 "preproc.c" +#line 42992 "preproc.c" break; case 749: /* RowSecurityDefaultPermissive: %empty */ -#line 5309 "preproc.y" +#line 5306 "preproc.y" { (yyval.str)=EMPTY; } -#line 43002 "preproc.c" +#line 42999 "preproc.c" break; case 750: /* RowSecurityDefaultForCmd: FOR row_security_cmd */ -#line 5316 "preproc.y" +#line 5313 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for"),(yyvsp[0].str)); } -#line 43010 "preproc.c" +#line 43007 "preproc.c" break; case 751: /* RowSecurityDefaultForCmd: %empty */ -#line 5320 "preproc.y" +#line 5317 "preproc.y" { (yyval.str)=EMPTY; } -#line 43017 "preproc.c" +#line 43014 "preproc.c" break; case 752: /* row_security_cmd: ALL */ -#line 5327 "preproc.y" +#line 5324 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 43025 "preproc.c" +#line 43022 "preproc.c" break; case 753: /* row_security_cmd: SELECT */ -#line 5331 "preproc.y" +#line 5328 "preproc.y" { (yyval.str) = mm_strdup("select"); } -#line 43033 "preproc.c" +#line 43030 "preproc.c" break; case 754: /* row_security_cmd: INSERT */ -#line 5335 "preproc.y" +#line 5332 "preproc.y" { (yyval.str) = mm_strdup("insert"); } -#line 43041 "preproc.c" +#line 43038 "preproc.c" break; case 755: /* row_security_cmd: UPDATE */ -#line 5339 "preproc.y" +#line 5336 "preproc.y" { (yyval.str) = mm_strdup("update"); } -#line 43049 "preproc.c" +#line 43046 "preproc.c" break; case 756: /* row_security_cmd: DELETE_P */ -#line 5343 "preproc.y" +#line 5340 "preproc.y" { (yyval.str) = mm_strdup("delete"); } -#line 43057 "preproc.c" +#line 43054 "preproc.c" break; case 757: /* CreateAmStmt: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name */ -#line 5351 "preproc.y" +#line 5348 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create access method"),(yyvsp[-4].str),mm_strdup("type"),(yyvsp[-2].str),mm_strdup("handler"),(yyvsp[0].str)); } -#line 43065 "preproc.c" +#line 43062 "preproc.c" break; case 758: /* am_type: INDEX */ -#line 5359 "preproc.y" +#line 5356 "preproc.y" { (yyval.str) = mm_strdup("index"); } -#line 43073 "preproc.c" +#line 43070 "preproc.c" break; case 759: /* am_type: TABLE */ -#line 5363 "preproc.y" +#line 5360 "preproc.y" { (yyval.str) = mm_strdup("table"); } -#line 43081 "preproc.c" +#line 43078 "preproc.c" break; case 760: /* CreateTrigStmt: CREATE opt_or_replace TRIGGER name TriggerActionTime TriggerEvents ON qualified_name TriggerReferencing TriggerForSpec TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' */ -#line 5371 "preproc.y" +#line 5368 "preproc.y" { (yyval.str) = cat_str(17,mm_strdup("create"),(yyvsp[-15].str),mm_strdup("trigger"),(yyvsp[-13].str),(yyvsp[-12].str),(yyvsp[-11].str),mm_strdup("on"),(yyvsp[-9].str),(yyvsp[-8].str),(yyvsp[-7].str),(yyvsp[-6].str),mm_strdup("execute"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43089 "preproc.c" +#line 43086 "preproc.c" break; case 761: /* CreateTrigStmt: CREATE opt_or_replace CONSTRAINT TRIGGER name AFTER TriggerEvents ON qualified_name OptConstrFromTable ConstraintAttributeSpec FOR EACH ROW TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' */ -#line 5375 "preproc.y" +#line 5372 "preproc.y" { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(18,mm_strdup("create"),(yyvsp[-19].str),mm_strdup("constraint trigger"),(yyvsp[-16].str),mm_strdup("after"),(yyvsp[-14].str),mm_strdup("on"),(yyvsp[-12].str),(yyvsp[-11].str),(yyvsp[-10].str),mm_strdup("for each row"),(yyvsp[-6].str),mm_strdup("execute"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43098 "preproc.c" +#line 43094 "preproc.c" break; case 762: /* TriggerActionTime: BEFORE */ -#line 5384 "preproc.y" +#line 5380 "preproc.y" { (yyval.str) = mm_strdup("before"); } -#line 43106 "preproc.c" +#line 43102 "preproc.c" break; case 763: /* TriggerActionTime: AFTER */ -#line 5388 "preproc.y" +#line 5384 "preproc.y" { (yyval.str) = mm_strdup("after"); } -#line 43114 "preproc.c" +#line 43110 "preproc.c" break; case 764: /* TriggerActionTime: INSTEAD OF */ -#line 5392 "preproc.y" +#line 5388 "preproc.y" { (yyval.str) = mm_strdup("instead of"); } -#line 43122 "preproc.c" +#line 43118 "preproc.c" break; case 765: /* TriggerEvents: TriggerOneEvent */ -#line 5400 "preproc.y" +#line 5396 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43130 "preproc.c" +#line 43126 "preproc.c" break; case 766: /* TriggerEvents: TriggerEvents OR TriggerOneEvent */ -#line 5404 "preproc.y" +#line 5400 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("or"),(yyvsp[0].str)); } -#line 43138 "preproc.c" +#line 43134 "preproc.c" break; case 767: /* TriggerOneEvent: INSERT */ -#line 5412 "preproc.y" +#line 5408 "preproc.y" { (yyval.str) = mm_strdup("insert"); } -#line 43146 "preproc.c" +#line 43142 "preproc.c" break; case 768: /* TriggerOneEvent: DELETE_P */ -#line 5416 "preproc.y" +#line 5412 "preproc.y" { (yyval.str) = mm_strdup("delete"); } -#line 43154 "preproc.c" +#line 43150 "preproc.c" break; case 769: /* TriggerOneEvent: UPDATE */ -#line 5420 "preproc.y" +#line 5416 "preproc.y" { (yyval.str) = mm_strdup("update"); } -#line 43162 "preproc.c" +#line 43158 "preproc.c" break; case 770: /* TriggerOneEvent: UPDATE OF columnList */ -#line 5424 "preproc.y" +#line 5420 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("update of"),(yyvsp[0].str)); } -#line 43170 "preproc.c" +#line 43166 "preproc.c" break; case 771: /* TriggerOneEvent: TRUNCATE */ -#line 5428 "preproc.y" +#line 5424 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } -#line 43178 "preproc.c" +#line 43174 "preproc.c" break; case 772: /* TriggerReferencing: REFERENCING TriggerTransitions */ -#line 5436 "preproc.y" +#line 5432 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("referencing"),(yyvsp[0].str)); } -#line 43186 "preproc.c" +#line 43182 "preproc.c" break; case 773: /* TriggerReferencing: %empty */ -#line 5440 "preproc.y" +#line 5436 "preproc.y" { (yyval.str)=EMPTY; } -#line 43193 "preproc.c" +#line 43189 "preproc.c" break; case 774: /* TriggerTransitions: TriggerTransition */ -#line 5447 "preproc.y" +#line 5443 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43201 "preproc.c" +#line 43197 "preproc.c" break; case 775: /* TriggerTransitions: TriggerTransitions TriggerTransition */ -#line 5451 "preproc.y" +#line 5447 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43209 "preproc.c" +#line 43205 "preproc.c" break; case 776: /* TriggerTransition: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName */ -#line 5459 "preproc.y" +#line 5455 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43217 "preproc.c" +#line 43213 "preproc.c" break; case 777: /* TransitionOldOrNew: NEW */ -#line 5467 "preproc.y" +#line 5463 "preproc.y" { (yyval.str) = mm_strdup("new"); } -#line 43225 "preproc.c" +#line 43221 "preproc.c" break; case 778: /* TransitionOldOrNew: OLD */ -#line 5471 "preproc.y" +#line 5467 "preproc.y" { (yyval.str) = mm_strdup("old"); } -#line 43233 "preproc.c" +#line 43229 "preproc.c" break; case 779: /* TransitionRowOrTable: TABLE */ -#line 5479 "preproc.y" +#line 5475 "preproc.y" { (yyval.str) = mm_strdup("table"); } -#line 43241 "preproc.c" +#line 43237 "preproc.c" break; case 780: /* TransitionRowOrTable: ROW */ -#line 5483 "preproc.y" +#line 5479 "preproc.y" { (yyval.str) = mm_strdup("row"); } -#line 43249 "preproc.c" +#line 43245 "preproc.c" break; case 781: /* TransitionRelName: ColId */ -#line 5491 "preproc.y" +#line 5487 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43257 "preproc.c" +#line 43253 "preproc.c" break; case 782: /* TriggerForSpec: FOR TriggerForOptEach TriggerForType */ -#line 5499 "preproc.y" +#line 5495 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("for"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43265 "preproc.c" +#line 43261 "preproc.c" break; case 783: /* TriggerForSpec: %empty */ -#line 5503 "preproc.y" +#line 5499 "preproc.y" { (yyval.str)=EMPTY; } -#line 43272 "preproc.c" +#line 43268 "preproc.c" break; case 784: /* TriggerForOptEach: EACH */ -#line 5510 "preproc.y" +#line 5506 "preproc.y" { (yyval.str) = mm_strdup("each"); } -#line 43280 "preproc.c" +#line 43276 "preproc.c" break; case 785: /* TriggerForOptEach: %empty */ -#line 5514 "preproc.y" +#line 5510 "preproc.y" { (yyval.str)=EMPTY; } -#line 43287 "preproc.c" +#line 43283 "preproc.c" break; case 786: /* TriggerForType: ROW */ -#line 5521 "preproc.y" +#line 5517 "preproc.y" { (yyval.str) = mm_strdup("row"); } -#line 43295 "preproc.c" +#line 43291 "preproc.c" break; case 787: /* TriggerForType: STATEMENT */ -#line 5525 "preproc.y" +#line 5521 "preproc.y" { (yyval.str) = mm_strdup("statement"); } -#line 43303 "preproc.c" +#line 43299 "preproc.c" break; case 788: /* TriggerWhen: WHEN '(' a_expr ')' */ -#line 5533 "preproc.y" +#line 5529 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43311 "preproc.c" +#line 43307 "preproc.c" break; case 789: /* TriggerWhen: %empty */ -#line 5537 "preproc.y" +#line 5533 "preproc.y" { (yyval.str)=EMPTY; } -#line 43318 "preproc.c" +#line 43314 "preproc.c" break; case 790: /* FUNCTION_or_PROCEDURE: FUNCTION */ -#line 5544 "preproc.y" +#line 5540 "preproc.y" { (yyval.str) = mm_strdup("function"); } -#line 43326 "preproc.c" +#line 43322 "preproc.c" break; case 791: /* FUNCTION_or_PROCEDURE: PROCEDURE */ -#line 5548 "preproc.y" +#line 5544 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } -#line 43334 "preproc.c" +#line 43330 "preproc.c" break; case 792: /* TriggerFuncArgs: TriggerFuncArg */ -#line 5556 "preproc.y" +#line 5552 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43342 "preproc.c" +#line 43338 "preproc.c" break; case 793: /* TriggerFuncArgs: TriggerFuncArgs ',' TriggerFuncArg */ -#line 5560 "preproc.y" +#line 5556 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 43350 "preproc.c" +#line 43346 "preproc.c" break; case 794: /* TriggerFuncArgs: %empty */ -#line 5564 "preproc.y" +#line 5560 "preproc.y" { (yyval.str)=EMPTY; } -#line 43357 "preproc.c" +#line 43353 "preproc.c" break; case 795: /* TriggerFuncArg: Iconst */ -#line 5571 "preproc.y" +#line 5567 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43365 "preproc.c" +#line 43361 "preproc.c" break; case 796: /* TriggerFuncArg: ecpg_fconst */ -#line 5575 "preproc.y" +#line 5571 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43373 "preproc.c" +#line 43369 "preproc.c" break; case 797: /* TriggerFuncArg: ecpg_sconst */ -#line 5579 "preproc.y" +#line 5575 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43381 "preproc.c" +#line 43377 "preproc.c" break; case 798: /* TriggerFuncArg: ColLabel */ -#line 5583 "preproc.y" +#line 5579 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43389 "preproc.c" +#line 43385 "preproc.c" break; case 799: /* OptConstrFromTable: FROM qualified_name */ -#line 5591 "preproc.y" +#line 5587 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } -#line 43397 "preproc.c" +#line 43393 "preproc.c" break; case 800: /* OptConstrFromTable: %empty */ -#line 5595 "preproc.y" +#line 5591 "preproc.y" { (yyval.str)=EMPTY; } -#line 43404 "preproc.c" +#line 43400 "preproc.c" break; case 801: /* ConstraintAttributeSpec: %empty */ -#line 5602 "preproc.y" +#line 5598 "preproc.y" { (yyval.str)=EMPTY; } -#line 43411 "preproc.c" +#line 43407 "preproc.c" break; case 802: /* ConstraintAttributeSpec: ConstraintAttributeSpec ConstraintAttributeElem */ -#line 5605 "preproc.y" +#line 5601 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43419 "preproc.c" +#line 43415 "preproc.c" break; case 803: /* ConstraintAttributeElem: NOT DEFERRABLE */ -#line 5613 "preproc.y" +#line 5609 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } -#line 43427 "preproc.c" +#line 43423 "preproc.c" break; case 804: /* ConstraintAttributeElem: DEFERRABLE */ -#line 5617 "preproc.y" +#line 5613 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } -#line 43435 "preproc.c" +#line 43431 "preproc.c" break; case 805: /* ConstraintAttributeElem: INITIALLY IMMEDIATE */ -#line 5621 "preproc.y" +#line 5617 "preproc.y" { (yyval.str) = mm_strdup("initially immediate"); } -#line 43443 "preproc.c" +#line 43439 "preproc.c" break; case 806: /* ConstraintAttributeElem: INITIALLY DEFERRED */ -#line 5625 "preproc.y" +#line 5621 "preproc.y" { (yyval.str) = mm_strdup("initially deferred"); } -#line 43451 "preproc.c" +#line 43447 "preproc.c" break; case 807: /* ConstraintAttributeElem: NOT VALID */ -#line 5629 "preproc.y" +#line 5625 "preproc.y" { (yyval.str) = mm_strdup("not valid"); } -#line 43459 "preproc.c" +#line 43455 "preproc.c" break; case 808: /* ConstraintAttributeElem: NO INHERIT */ -#line 5633 "preproc.y" +#line 5629 "preproc.y" { (yyval.str) = mm_strdup("no inherit"); } -#line 43467 "preproc.c" +#line 43463 "preproc.c" break; case 809: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */ -#line 5641 "preproc.y" +#line 5637 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("create event trigger"),(yyvsp[-7].str),mm_strdup("on"),(yyvsp[-5].str),mm_strdup("execute"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("( )")); } -#line 43475 "preproc.c" +#line 43471 "preproc.c" break; case 810: /* CreateEventTrigStmt: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')' */ -#line 5645 "preproc.y" +#line 5641 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create event trigger"),(yyvsp[-9].str),mm_strdup("on"),(yyvsp[-7].str),mm_strdup("when"),(yyvsp[-5].str),mm_strdup("execute"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("( )")); } -#line 43483 "preproc.c" +#line 43479 "preproc.c" break; case 811: /* event_trigger_when_list: event_trigger_when_item */ -#line 5653 "preproc.y" +#line 5649 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43491 "preproc.c" +#line 43487 "preproc.c" break; case 812: /* event_trigger_when_list: event_trigger_when_list AND event_trigger_when_item */ -#line 5657 "preproc.y" +#line 5653 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } -#line 43499 "preproc.c" +#line 43495 "preproc.c" break; case 813: /* event_trigger_when_item: ColId IN_P '(' event_trigger_value_list ')' */ -#line 5665 "preproc.y" +#line 5661 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("in ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43507 "preproc.c" +#line 43503 "preproc.c" break; case 814: /* event_trigger_value_list: SCONST */ -#line 5673 "preproc.y" +#line 5669 "preproc.y" { (yyval.str) = mm_strdup("sconst"); } -#line 43515 "preproc.c" +#line 43511 "preproc.c" break; case 815: /* event_trigger_value_list: event_trigger_value_list ',' SCONST */ -#line 5677 "preproc.y" +#line 5673 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup(", sconst")); } -#line 43523 "preproc.c" +#line 43519 "preproc.c" break; case 816: /* AlterEventTrigStmt: ALTER EVENT TRIGGER name enable_trigger */ -#line 5685 "preproc.y" +#line 5681 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter event trigger"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43531 "preproc.c" +#line 43527 "preproc.c" break; case 817: /* enable_trigger: ENABLE_P */ -#line 5693 "preproc.y" +#line 5689 "preproc.y" { (yyval.str) = mm_strdup("enable"); } -#line 43539 "preproc.c" +#line 43535 "preproc.c" break; case 818: /* enable_trigger: ENABLE_P REPLICA */ -#line 5697 "preproc.y" +#line 5693 "preproc.y" { (yyval.str) = mm_strdup("enable replica"); } -#line 43547 "preproc.c" +#line 43543 "preproc.c" break; case 819: /* enable_trigger: ENABLE_P ALWAYS */ -#line 5701 "preproc.y" +#line 5697 "preproc.y" { (yyval.str) = mm_strdup("enable always"); } -#line 43555 "preproc.c" +#line 43551 "preproc.c" break; case 820: /* enable_trigger: DISABLE_P */ -#line 5705 "preproc.y" +#line 5701 "preproc.y" { (yyval.str) = mm_strdup("disable"); } -#line 43563 "preproc.c" +#line 43559 "preproc.c" break; case 821: /* CreateAssertionStmt: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec */ -#line 5713 "preproc.y" +#line 5709 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(6,mm_strdup("create assertion"),(yyvsp[-5].str),mm_strdup("check ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 43572 "preproc.c" +#line 43568 "preproc.c" break; case 822: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name aggr_args definition */ -#line 5722 "preproc.y" +#line 5718 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create"),(yyvsp[-4].str),mm_strdup("aggregate"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43580 "preproc.c" +#line 43576 "preproc.c" break; case 823: /* DefineStmt: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition */ -#line 5726 "preproc.y" +#line 5722 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create"),(yyvsp[-3].str),mm_strdup("aggregate"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43588 "preproc.c" +#line 43584 "preproc.c" break; case 824: /* DefineStmt: CREATE OPERATOR any_operator definition */ -#line 5730 "preproc.y" +#line 5726 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create operator"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43596 "preproc.c" +#line 43592 "preproc.c" break; case 825: /* DefineStmt: CREATE TYPE_P any_name definition */ -#line 5734 "preproc.y" +#line 5730 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create type"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43604 "preproc.c" +#line 43600 "preproc.c" break; case 826: /* DefineStmt: CREATE TYPE_P any_name */ -#line 5738 "preproc.y" +#line 5734 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("create type"),(yyvsp[0].str)); } -#line 43612 "preproc.c" +#line 43608 "preproc.c" break; case 827: /* DefineStmt: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')' */ -#line 5742 "preproc.y" +#line 5738 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create type"),(yyvsp[-4].str),mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43620 "preproc.c" +#line 43616 "preproc.c" break; case 828: /* DefineStmt: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')' */ -#line 5746 "preproc.y" +#line 5742 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create type"),(yyvsp[-5].str),mm_strdup("as enum ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43628 "preproc.c" +#line 43624 "preproc.c" break; case 829: /* DefineStmt: CREATE TYPE_P any_name AS RANGE definition */ -#line 5750 "preproc.y" +#line 5746 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create type"),(yyvsp[-3].str),mm_strdup("as range"),(yyvsp[0].str)); } -#line 43636 "preproc.c" +#line 43632 "preproc.c" break; case 830: /* DefineStmt: CREATE TEXT_P SEARCH PARSER any_name definition */ -#line 5754 "preproc.y" +#line 5750 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search parser"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43644 "preproc.c" +#line 43640 "preproc.c" break; case 831: /* DefineStmt: CREATE TEXT_P SEARCH DICTIONARY any_name definition */ -#line 5758 "preproc.y" +#line 5754 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search dictionary"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43652 "preproc.c" +#line 43648 "preproc.c" break; case 832: /* DefineStmt: CREATE TEXT_P SEARCH TEMPLATE any_name definition */ -#line 5762 "preproc.y" +#line 5758 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search template"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43660 "preproc.c" +#line 43656 "preproc.c" break; case 833: /* DefineStmt: CREATE TEXT_P SEARCH CONFIGURATION any_name definition */ -#line 5766 "preproc.y" +#line 5762 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create text search configuration"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43668 "preproc.c" +#line 43664 "preproc.c" break; case 834: /* DefineStmt: CREATE COLLATION any_name definition */ -#line 5770 "preproc.y" +#line 5766 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create collation"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43676 "preproc.c" +#line 43672 "preproc.c" break; case 835: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name definition */ -#line 5774 "preproc.y" +#line 5770 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create collation if not exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43684 "preproc.c" +#line 43680 "preproc.c" break; case 836: /* DefineStmt: CREATE COLLATION any_name FROM any_name */ -#line 5778 "preproc.y" +#line 5774 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create collation"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 43692 "preproc.c" +#line 43688 "preproc.c" break; case 837: /* DefineStmt: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name */ -#line 5782 "preproc.y" +#line 5778 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create collation if not exists"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 43700 "preproc.c" +#line 43696 "preproc.c" break; case 838: /* definition: '(' def_list ')' */ -#line 5790 "preproc.y" +#line 5786 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43708 "preproc.c" +#line 43704 "preproc.c" break; case 839: /* def_list: def_elem */ -#line 5798 "preproc.y" +#line 5794 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43716 "preproc.c" +#line 43712 "preproc.c" break; case 840: /* def_list: def_list ',' def_elem */ -#line 5802 "preproc.y" +#line 5798 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 43724 "preproc.c" +#line 43720 "preproc.c" break; case 841: /* def_elem: ColLabel '=' def_arg */ -#line 5810 "preproc.y" +#line 5806 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 43732 "preproc.c" +#line 43728 "preproc.c" break; case 842: /* def_elem: ColLabel */ -#line 5814 "preproc.y" +#line 5810 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43740 "preproc.c" +#line 43736 "preproc.c" break; case 843: /* def_arg: func_type */ -#line 5822 "preproc.y" +#line 5818 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43748 "preproc.c" +#line 43744 "preproc.c" break; case 844: /* def_arg: reserved_keyword */ -#line 5826 "preproc.y" +#line 5822 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43756 "preproc.c" +#line 43752 "preproc.c" break; case 845: /* def_arg: qual_all_Op */ -#line 5830 "preproc.y" +#line 5826 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43764 "preproc.c" +#line 43760 "preproc.c" break; case 846: /* def_arg: NumericOnly */ -#line 5834 "preproc.y" +#line 5830 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43772 "preproc.c" +#line 43768 "preproc.c" break; case 847: /* def_arg: ecpg_sconst */ -#line 5838 "preproc.y" +#line 5834 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43780 "preproc.c" +#line 43776 "preproc.c" break; case 848: /* def_arg: NONE */ -#line 5842 "preproc.y" +#line 5838 "preproc.y" { (yyval.str) = mm_strdup("none"); } -#line 43788 "preproc.c" +#line 43784 "preproc.c" break; case 849: /* old_aggr_definition: '(' old_aggr_list ')' */ -#line 5850 "preproc.y" +#line 5846 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 43796 "preproc.c" +#line 43792 "preproc.c" break; case 850: /* old_aggr_list: old_aggr_elem */ -#line 5858 "preproc.y" +#line 5854 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43804 "preproc.c" +#line 43800 "preproc.c" break; case 851: /* old_aggr_list: old_aggr_list ',' old_aggr_elem */ -#line 5862 "preproc.y" +#line 5858 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 43812 "preproc.c" +#line 43808 "preproc.c" break; case 852: /* old_aggr_elem: ecpg_ident '=' def_arg */ -#line 5870 "preproc.y" +#line 5866 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 43820 "preproc.c" +#line 43816 "preproc.c" break; case 853: /* opt_enum_val_list: enum_val_list */ -#line 5878 "preproc.y" +#line 5874 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43828 "preproc.c" +#line 43824 "preproc.c" break; case 854: /* opt_enum_val_list: %empty */ -#line 5882 "preproc.y" +#line 5878 "preproc.y" { (yyval.str)=EMPTY; } -#line 43835 "preproc.c" +#line 43831 "preproc.c" break; case 855: /* enum_val_list: ecpg_sconst */ -#line 5889 "preproc.y" +#line 5885 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43843 "preproc.c" +#line 43839 "preproc.c" break; case 856: /* enum_val_list: enum_val_list ',' ecpg_sconst */ -#line 5893 "preproc.y" +#line 5889 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 43851 "preproc.c" +#line 43847 "preproc.c" break; case 857: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst */ -#line 5901 "preproc.y" +#line 5897 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter type"),(yyvsp[-4].str),mm_strdup("add value"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43859 "preproc.c" +#line 43855 "preproc.c" break; case 858: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst BEFORE ecpg_sconst */ -#line 5905 "preproc.y" +#line 5901 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter type"),(yyvsp[-6].str),mm_strdup("add value"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("before"),(yyvsp[0].str)); } -#line 43867 "preproc.c" +#line 43863 "preproc.c" break; case 859: /* AlterEnumStmt: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists ecpg_sconst AFTER ecpg_sconst */ -#line 5909 "preproc.y" +#line 5905 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter type"),(yyvsp[-6].str),mm_strdup("add value"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("after"),(yyvsp[0].str)); } -#line 43875 "preproc.c" +#line 43871 "preproc.c" break; case 860: /* AlterEnumStmt: ALTER TYPE_P any_name RENAME VALUE_P ecpg_sconst TO ecpg_sconst */ -#line 5913 "preproc.y" +#line 5909 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter type"),(yyvsp[-5].str),mm_strdup("rename value"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 43883 "preproc.c" +#line 43879 "preproc.c" break; case 861: /* opt_if_not_exists: IF_P NOT EXISTS */ -#line 5921 "preproc.y" +#line 5917 "preproc.y" { (yyval.str) = mm_strdup("if not exists"); } -#line 43891 "preproc.c" +#line 43887 "preproc.c" break; case 862: /* opt_if_not_exists: %empty */ -#line 5925 "preproc.y" +#line 5921 "preproc.y" { (yyval.str)=EMPTY; } -#line 43898 "preproc.c" +#line 43894 "preproc.c" break; case 863: /* CreateOpClassStmt: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list */ -#line 5932 "preproc.y" +#line 5928 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create operator class"),(yyvsp[-9].str),(yyvsp[-8].str),mm_strdup("for type"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } -#line 43906 "preproc.c" +#line 43902 "preproc.c" break; case 864: /* opclass_item_list: opclass_item */ -#line 5940 "preproc.y" +#line 5936 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 43914 "preproc.c" +#line 43910 "preproc.c" break; case 865: /* opclass_item_list: opclass_item_list ',' opclass_item */ -#line 5944 "preproc.y" +#line 5940 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 43922 "preproc.c" +#line 43918 "preproc.c" break; case 866: /* opclass_item: OPERATOR Iconst any_operator opclass_purpose opt_recheck */ -#line 5952 "preproc.y" +#line 5948 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43930 "preproc.c" +#line 43926 "preproc.c" break; case 867: /* opclass_item: OPERATOR Iconst operator_with_argtypes opclass_purpose opt_recheck */ -#line 5956 "preproc.y" +#line 5952 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43938 "preproc.c" +#line 43934 "preproc.c" break; case 868: /* opclass_item: FUNCTION Iconst function_with_argtypes */ -#line 5960 "preproc.y" +#line 5956 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("function"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 43946 "preproc.c" +#line 43942 "preproc.c" break; case 869: /* opclass_item: FUNCTION Iconst '(' type_list ')' function_with_argtypes */ -#line 5964 "preproc.y" +#line 5960 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("function"),(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 43954 "preproc.c" +#line 43950 "preproc.c" break; case 870: /* opclass_item: STORAGE Typename */ -#line 5968 "preproc.y" +#line 5964 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("storage"),(yyvsp[0].str)); } -#line 43962 "preproc.c" +#line 43958 "preproc.c" break; case 871: /* opt_default: DEFAULT */ -#line 5976 "preproc.y" +#line 5972 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 43970 "preproc.c" +#line 43966 "preproc.c" break; case 872: /* opt_default: %empty */ -#line 5980 "preproc.y" +#line 5976 "preproc.y" { (yyval.str)=EMPTY; } -#line 43977 "preproc.c" +#line 43973 "preproc.c" break; case 873: /* opt_opfamily: FAMILY any_name */ -#line 5987 "preproc.y" +#line 5983 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("family"),(yyvsp[0].str)); } -#line 43985 "preproc.c" +#line 43981 "preproc.c" break; case 874: /* opt_opfamily: %empty */ -#line 5991 "preproc.y" +#line 5987 "preproc.y" { (yyval.str)=EMPTY; } -#line 43992 "preproc.c" +#line 43988 "preproc.c" break; case 875: /* opclass_purpose: FOR SEARCH */ -#line 5998 "preproc.y" +#line 5994 "preproc.y" { (yyval.str) = mm_strdup("for search"); } -#line 44000 "preproc.c" +#line 43996 "preproc.c" break; case 876: /* opclass_purpose: FOR ORDER BY any_name */ -#line 6002 "preproc.y" +#line 5998 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for order by"),(yyvsp[0].str)); } -#line 44008 "preproc.c" +#line 44004 "preproc.c" break; case 877: /* opclass_purpose: %empty */ -#line 6006 "preproc.y" +#line 6002 "preproc.y" { (yyval.str)=EMPTY; } -#line 44015 "preproc.c" +#line 44011 "preproc.c" break; case 878: /* opt_recheck: RECHECK */ -#line 6013 "preproc.y" +#line 6009 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = mm_strdup("recheck"); } -#line 44024 "preproc.c" +#line 44020 "preproc.c" break; case 879: /* opt_recheck: %empty */ -#line 6018 "preproc.y" +#line 6014 "preproc.y" { (yyval.str)=EMPTY; } -#line 44031 "preproc.c" +#line 44027 "preproc.c" break; case 880: /* CreateOpFamilyStmt: CREATE OPERATOR FAMILY any_name USING name */ -#line 6025 "preproc.y" +#line 6021 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create operator family"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } -#line 44039 "preproc.c" +#line 44035 "preproc.c" break; case 881: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list */ -#line 6033 "preproc.y" +#line 6029 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } -#line 44047 "preproc.c" +#line 44043 "preproc.c" break; case 882: /* AlterOpFamilyStmt: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list */ -#line 6037 "preproc.y" +#line 6033 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("drop"),(yyvsp[0].str)); } -#line 44055 "preproc.c" +#line 44051 "preproc.c" break; case 883: /* opclass_drop_list: opclass_drop */ -#line 6045 "preproc.y" +#line 6041 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 44063 "preproc.c" +#line 44059 "preproc.c" break; case 884: /* opclass_drop_list: opclass_drop_list ',' opclass_drop */ -#line 6049 "preproc.y" +#line 6045 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 44071 "preproc.c" +#line 44067 "preproc.c" break; case 885: /* opclass_drop: OPERATOR Iconst '(' type_list ')' */ -#line 6057 "preproc.y" +#line 6053 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("operator"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 44079 "preproc.c" +#line 44075 "preproc.c" break; case 886: /* opclass_drop: FUNCTION Iconst '(' type_list ')' */ -#line 6061 "preproc.y" +#line 6057 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("function"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 44087 "preproc.c" +#line 44083 "preproc.c" break; case 887: /* DropOpClassStmt: DROP OPERATOR CLASS any_name USING name opt_drop_behavior */ -#line 6069 "preproc.y" +#line 6065 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator class"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44095 "preproc.c" +#line 44091 "preproc.c" break; case 888: /* DropOpClassStmt: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior */ -#line 6073 "preproc.y" +#line 6069 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator class if exists"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44103 "preproc.c" +#line 44099 "preproc.c" break; case 889: /* DropOpFamilyStmt: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior */ -#line 6081 "preproc.y" +#line 6077 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator family"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44111 "preproc.c" +#line 44107 "preproc.c" break; case 890: /* DropOpFamilyStmt: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior */ -#line 6085 "preproc.y" +#line 6081 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop operator family if exists"),(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44119 "preproc.c" +#line 44115 "preproc.c" break; case 891: /* DropOwnedStmt: DROP OWNED BY role_list opt_drop_behavior */ -#line 6093 "preproc.y" +#line 6089 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop owned by"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44127 "preproc.c" +#line 44123 "preproc.c" break; case 892: /* ReassignOwnedStmt: REASSIGN OWNED BY role_list TO RoleSpec */ -#line 6101 "preproc.y" +#line 6097 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("reassign owned by"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 44135 "preproc.c" +#line 44131 "preproc.c" break; case 893: /* DropStmt: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior */ -#line 6109 "preproc.y" +#line 6105 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44143 "preproc.c" +#line 44139 "preproc.c" break; case 894: /* DropStmt: DROP object_type_any_name any_name_list opt_drop_behavior */ -#line 6113 "preproc.y" +#line 6109 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44151 "preproc.c" +#line 44147 "preproc.c" break; case 895: /* DropStmt: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior */ -#line 6117 "preproc.y" +#line 6113 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("drop"),(yyvsp[-4].str),mm_strdup("if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44159 "preproc.c" +#line 44155 "preproc.c" break; case 896: /* DropStmt: DROP drop_type_name name_list opt_drop_behavior */ -#line 6121 "preproc.y" +#line 6117 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("drop"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44167 "preproc.c" +#line 44163 "preproc.c" break; case 897: /* DropStmt: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior */ -#line 6125 "preproc.y" +#line 6121 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("drop"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("on"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44175 "preproc.c" +#line 44171 "preproc.c" break; case 898: /* DropStmt: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior */ -#line 6129 "preproc.y" +#line 6125 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("drop"),(yyvsp[-6].str),mm_strdup("if exists"),(yyvsp[-3].str),mm_strdup("on"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44183 "preproc.c" +#line 44179 "preproc.c" break; case 899: /* DropStmt: DROP TYPE_P type_name_list opt_drop_behavior */ -#line 6133 "preproc.y" +#line 6129 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop type"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44191 "preproc.c" +#line 44187 "preproc.c" break; case 900: /* DropStmt: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior */ -#line 6137 "preproc.y" +#line 6133 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop type if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44199 "preproc.c" +#line 44195 "preproc.c" break; case 901: /* DropStmt: DROP DOMAIN_P type_name_list opt_drop_behavior */ -#line 6141 "preproc.y" +#line 6137 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop domain"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44207 "preproc.c" +#line 44203 "preproc.c" break; case 902: /* DropStmt: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior */ -#line 6145 "preproc.y" +#line 6141 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop domain if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44215 "preproc.c" +#line 44211 "preproc.c" break; case 903: /* DropStmt: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior */ -#line 6149 "preproc.y" +#line 6145 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop index concurrently"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44223 "preproc.c" +#line 44219 "preproc.c" break; case 904: /* DropStmt: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior */ -#line 6153 "preproc.y" +#line 6149 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop index concurrently if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44231 "preproc.c" +#line 44227 "preproc.c" break; case 905: /* object_type_any_name: TABLE */ -#line 6161 "preproc.y" +#line 6157 "preproc.y" { (yyval.str) = mm_strdup("table"); } -#line 44239 "preproc.c" +#line 44235 "preproc.c" break; case 906: /* object_type_any_name: SEQUENCE */ -#line 6165 "preproc.y" +#line 6161 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } -#line 44247 "preproc.c" +#line 44243 "preproc.c" break; case 907: /* object_type_any_name: VIEW */ -#line 6169 "preproc.y" +#line 6165 "preproc.y" { (yyval.str) = mm_strdup("view"); } -#line 44255 "preproc.c" +#line 44251 "preproc.c" break; case 908: /* object_type_any_name: MATERIALIZED VIEW */ -#line 6173 "preproc.y" +#line 6169 "preproc.y" { (yyval.str) = mm_strdup("materialized view"); } -#line 44263 "preproc.c" +#line 44259 "preproc.c" break; case 909: /* object_type_any_name: INDEX */ -#line 6177 "preproc.y" +#line 6173 "preproc.y" { (yyval.str) = mm_strdup("index"); } -#line 44271 "preproc.c" +#line 44267 "preproc.c" break; case 910: /* object_type_any_name: FOREIGN TABLE */ -#line 6181 "preproc.y" +#line 6177 "preproc.y" { (yyval.str) = mm_strdup("foreign table"); } -#line 44279 "preproc.c" +#line 44275 "preproc.c" break; case 911: /* object_type_any_name: COLLATION */ -#line 6185 "preproc.y" +#line 6181 "preproc.y" { (yyval.str) = mm_strdup("collation"); } -#line 44287 "preproc.c" +#line 44283 "preproc.c" break; case 912: /* object_type_any_name: CONVERSION_P */ -#line 6189 "preproc.y" +#line 6185 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } -#line 44295 "preproc.c" +#line 44291 "preproc.c" break; case 913: /* object_type_any_name: STATISTICS */ -#line 6193 "preproc.y" +#line 6189 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } -#line 44303 "preproc.c" +#line 44299 "preproc.c" break; case 914: /* object_type_any_name: TEXT_P SEARCH PARSER */ -#line 6197 "preproc.y" +#line 6193 "preproc.y" { (yyval.str) = mm_strdup("text search parser"); } -#line 44311 "preproc.c" +#line 44307 "preproc.c" break; case 915: /* object_type_any_name: TEXT_P SEARCH DICTIONARY */ -#line 6201 "preproc.y" +#line 6197 "preproc.y" { (yyval.str) = mm_strdup("text search dictionary"); } -#line 44319 "preproc.c" +#line 44315 "preproc.c" break; case 916: /* object_type_any_name: TEXT_P SEARCH TEMPLATE */ -#line 6205 "preproc.y" +#line 6201 "preproc.y" { (yyval.str) = mm_strdup("text search template"); } -#line 44327 "preproc.c" +#line 44323 "preproc.c" break; case 917: /* object_type_any_name: TEXT_P SEARCH CONFIGURATION */ -#line 6209 "preproc.y" +#line 6205 "preproc.y" { (yyval.str) = mm_strdup("text search configuration"); } -#line 44335 "preproc.c" +#line 44331 "preproc.c" break; case 918: /* object_type_name: drop_type_name */ -#line 6217 "preproc.y" +#line 6213 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 44343 "preproc.c" +#line 44339 "preproc.c" break; case 919: /* object_type_name: DATABASE */ -#line 6221 "preproc.y" +#line 6217 "preproc.y" { (yyval.str) = mm_strdup("database"); } -#line 44351 "preproc.c" +#line 44347 "preproc.c" break; case 920: /* object_type_name: ROLE */ -#line 6225 "preproc.y" +#line 6221 "preproc.y" { (yyval.str) = mm_strdup("role"); } -#line 44359 "preproc.c" +#line 44355 "preproc.c" break; case 921: /* object_type_name: SUBSCRIPTION */ -#line 6229 "preproc.y" +#line 6225 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } -#line 44367 "preproc.c" +#line 44363 "preproc.c" break; case 922: /* object_type_name: TABLESPACE */ -#line 6233 "preproc.y" +#line 6229 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } -#line 44375 "preproc.c" +#line 44371 "preproc.c" break; case 923: /* drop_type_name: ACCESS METHOD */ -#line 6241 "preproc.y" +#line 6237 "preproc.y" { (yyval.str) = mm_strdup("access method"); } -#line 44383 "preproc.c" +#line 44379 "preproc.c" break; case 924: /* drop_type_name: EVENT TRIGGER */ -#line 6245 "preproc.y" +#line 6241 "preproc.y" { (yyval.str) = mm_strdup("event trigger"); } -#line 44391 "preproc.c" +#line 44387 "preproc.c" break; case 925: /* drop_type_name: EXTENSION */ -#line 6249 "preproc.y" +#line 6245 "preproc.y" { (yyval.str) = mm_strdup("extension"); } -#line 44399 "preproc.c" +#line 44395 "preproc.c" break; case 926: /* drop_type_name: FOREIGN DATA_P WRAPPER */ -#line 6253 "preproc.y" +#line 6249 "preproc.y" { (yyval.str) = mm_strdup("foreign data wrapper"); } -#line 44407 "preproc.c" +#line 44403 "preproc.c" break; case 927: /* drop_type_name: opt_procedural LANGUAGE */ -#line 6257 "preproc.y" +#line 6253 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("language")); } -#line 44415 "preproc.c" +#line 44411 "preproc.c" break; case 928: /* drop_type_name: PUBLICATION */ -#line 6261 "preproc.y" +#line 6257 "preproc.y" { (yyval.str) = mm_strdup("publication"); } -#line 44423 "preproc.c" +#line 44419 "preproc.c" break; case 929: /* drop_type_name: SCHEMA */ -#line 6265 "preproc.y" +#line 6261 "preproc.y" { (yyval.str) = mm_strdup("schema"); } -#line 44431 "preproc.c" +#line 44427 "preproc.c" break; case 930: /* drop_type_name: SERVER */ -#line 6269 "preproc.y" +#line 6265 "preproc.y" { (yyval.str) = mm_strdup("server"); } -#line 44439 "preproc.c" +#line 44435 "preproc.c" break; case 931: /* object_type_name_on_any_name: POLICY */ -#line 6277 "preproc.y" +#line 6273 "preproc.y" { (yyval.str) = mm_strdup("policy"); } -#line 44447 "preproc.c" +#line 44443 "preproc.c" break; case 932: /* object_type_name_on_any_name: RULE */ -#line 6281 "preproc.y" +#line 6277 "preproc.y" { (yyval.str) = mm_strdup("rule"); } -#line 44455 "preproc.c" +#line 44451 "preproc.c" break; case 933: /* object_type_name_on_any_name: TRIGGER */ -#line 6285 "preproc.y" +#line 6281 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } -#line 44463 "preproc.c" +#line 44459 "preproc.c" break; case 934: /* any_name_list: any_name */ -#line 6293 "preproc.y" +#line 6289 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 44471 "preproc.c" +#line 44467 "preproc.c" break; case 935: /* any_name_list: any_name_list ',' any_name */ -#line 6297 "preproc.y" +#line 6293 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 44479 "preproc.c" +#line 44475 "preproc.c" break; case 936: /* any_name: ColId */ -#line 6305 "preproc.y" +#line 6301 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 44487 "preproc.c" +#line 44483 "preproc.c" break; case 937: /* any_name: ColId attrs */ -#line 6309 "preproc.y" +#line 6305 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44495 "preproc.c" +#line 44491 "preproc.c" break; case 938: /* attrs: '.' attr_name */ -#line 6317 "preproc.y" +#line 6313 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("."),(yyvsp[0].str)); } -#line 44503 "preproc.c" +#line 44499 "preproc.c" break; case 939: /* attrs: attrs '.' attr_name */ -#line 6321 "preproc.y" +#line 6317 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } -#line 44511 "preproc.c" +#line 44507 "preproc.c" break; case 940: /* type_name_list: Typename */ -#line 6329 "preproc.y" +#line 6325 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 44519 "preproc.c" +#line 44515 "preproc.c" break; case 941: /* type_name_list: type_name_list ',' Typename */ -#line 6333 "preproc.y" +#line 6329 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 44527 "preproc.c" +#line 44523 "preproc.c" break; case 942: /* TruncateStmt: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior */ -#line 6341 "preproc.y" +#line 6337 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("truncate"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44535 "preproc.c" +#line 44531 "preproc.c" break; case 943: /* opt_restart_seqs: CONTINUE_P IDENTITY_P */ -#line 6349 "preproc.y" +#line 6345 "preproc.y" { (yyval.str) = mm_strdup("continue identity"); } -#line 44543 "preproc.c" +#line 44539 "preproc.c" break; case 944: /* opt_restart_seqs: RESTART IDENTITY_P */ -#line 6353 "preproc.y" +#line 6349 "preproc.y" { (yyval.str) = mm_strdup("restart identity"); } -#line 44551 "preproc.c" +#line 44547 "preproc.c" break; case 945: /* opt_restart_seqs: %empty */ -#line 6357 "preproc.y" +#line 6353 "preproc.y" { (yyval.str)=EMPTY; } -#line 44558 "preproc.c" +#line 44554 "preproc.c" break; case 946: /* CommentStmt: COMMENT ON object_type_any_name any_name IS comment_text */ -#line 6364 "preproc.y" +#line 6360 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("comment on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44566 "preproc.c" +#line 44562 "preproc.c" break; case 947: /* CommentStmt: COMMENT ON COLUMN any_name IS comment_text */ -#line 6368 "preproc.y" +#line 6364 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on column"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44574 "preproc.c" +#line 44570 "preproc.c" break; case 948: /* CommentStmt: COMMENT ON object_type_name name IS comment_text */ -#line 6372 "preproc.y" +#line 6368 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("comment on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44582 "preproc.c" +#line 44578 "preproc.c" break; case 949: /* CommentStmt: COMMENT ON TYPE_P Typename IS comment_text */ -#line 6376 "preproc.y" +#line 6372 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on type"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44590 "preproc.c" +#line 44586 "preproc.c" break; case 950: /* CommentStmt: COMMENT ON DOMAIN_P Typename IS comment_text */ -#line 6380 "preproc.y" +#line 6376 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on domain"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44598 "preproc.c" +#line 44594 "preproc.c" break; case 951: /* CommentStmt: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text */ -#line 6384 "preproc.y" +#line 6380 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on aggregate"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44606 "preproc.c" +#line 44602 "preproc.c" break; case 952: /* CommentStmt: COMMENT ON FUNCTION function_with_argtypes IS comment_text */ -#line 6388 "preproc.y" +#line 6384 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on function"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44614 "preproc.c" +#line 44610 "preproc.c" break; case 953: /* CommentStmt: COMMENT ON OPERATOR operator_with_argtypes IS comment_text */ -#line 6392 "preproc.y" +#line 6388 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on operator"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44622 "preproc.c" +#line 44618 "preproc.c" break; case 954: /* CommentStmt: COMMENT ON CONSTRAINT name ON any_name IS comment_text */ -#line 6396 "preproc.y" +#line 6392 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on constraint"),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44630 "preproc.c" +#line 44626 "preproc.c" break; case 955: /* CommentStmt: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text */ -#line 6400 "preproc.y" +#line 6396 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on constraint"),(yyvsp[-5].str),mm_strdup("on domain"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44638 "preproc.c" +#line 44634 "preproc.c" break; case 956: /* CommentStmt: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text */ -#line 6404 "preproc.y" +#line 6400 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("comment on"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("on"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44646 "preproc.c" +#line 44642 "preproc.c" break; case 957: /* CommentStmt: COMMENT ON PROCEDURE function_with_argtypes IS comment_text */ -#line 6408 "preproc.y" +#line 6404 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on procedure"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44654 "preproc.c" +#line 44650 "preproc.c" break; case 958: /* CommentStmt: COMMENT ON ROUTINE function_with_argtypes IS comment_text */ -#line 6412 "preproc.y" +#line 6408 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on routine"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44662 "preproc.c" +#line 44658 "preproc.c" break; case 959: /* CommentStmt: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text */ -#line 6416 "preproc.y" +#line 6412 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on transform for"),(yyvsp[-4].str),mm_strdup("language"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44670 "preproc.c" +#line 44666 "preproc.c" break; case 960: /* CommentStmt: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text */ -#line 6420 "preproc.y" +#line 6416 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on operator class"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44678 "preproc.c" +#line 44674 "preproc.c" break; case 961: /* CommentStmt: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text */ -#line 6424 "preproc.y" +#line 6420 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on operator family"),(yyvsp[-4].str),mm_strdup("using"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44686 "preproc.c" +#line 44682 "preproc.c" break; case 962: /* CommentStmt: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text */ -#line 6428 "preproc.y" +#line 6424 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("comment on large object"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44694 "preproc.c" +#line 44690 "preproc.c" break; case 963: /* CommentStmt: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text */ -#line 6432 "preproc.y" +#line 6428 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("comment on cast ("),(yyvsp[-5].str),mm_strdup("as"),(yyvsp[-3].str),mm_strdup(") is"),(yyvsp[0].str)); } -#line 44702 "preproc.c" +#line 44698 "preproc.c" break; case 964: /* comment_text: ecpg_sconst */ -#line 6440 "preproc.y" +#line 6436 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 44710 "preproc.c" +#line 44706 "preproc.c" break; case 965: /* comment_text: NULL_P */ -#line 6444 "preproc.y" +#line 6440 "preproc.y" { (yyval.str) = mm_strdup("null"); } -#line 44718 "preproc.c" +#line 44714 "preproc.c" break; case 966: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label */ -#line 6452 "preproc.y" +#line 6448 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44726 "preproc.c" +#line 44722 "preproc.c" break; case 967: /* SecLabelStmt: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label */ -#line 6456 "preproc.y" +#line 6452 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on column"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44734 "preproc.c" +#line 44730 "preproc.c" break; case 968: /* SecLabelStmt: SECURITY LABEL opt_provider ON object_type_name name IS security_label */ -#line 6460 "preproc.y" +#line 6456 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44742 "preproc.c" +#line 44738 "preproc.c" break; case 969: /* SecLabelStmt: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label */ -#line 6464 "preproc.y" +#line 6460 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on type"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44750 "preproc.c" +#line 44746 "preproc.c" break; case 970: /* SecLabelStmt: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label */ -#line 6468 "preproc.y" +#line 6464 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on domain"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44758 "preproc.c" +#line 44754 "preproc.c" break; case 971: /* SecLabelStmt: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label */ -#line 6472 "preproc.y" +#line 6468 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on aggregate"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44766 "preproc.c" +#line 44762 "preproc.c" break; case 972: /* SecLabelStmt: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label */ -#line 6476 "preproc.y" +#line 6472 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on function"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44774 "preproc.c" +#line 44770 "preproc.c" break; case 973: /* SecLabelStmt: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label */ -#line 6480 "preproc.y" +#line 6476 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-6].str),mm_strdup("on large object"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44782 "preproc.c" +#line 44778 "preproc.c" break; case 974: /* SecLabelStmt: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label */ -#line 6484 "preproc.y" +#line 6480 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on procedure"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44790 "preproc.c" +#line 44786 "preproc.c" break; case 975: /* SecLabelStmt: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label */ -#line 6488 "preproc.y" +#line 6484 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("security label"),(yyvsp[-5].str),mm_strdup("on routine"),(yyvsp[-2].str),mm_strdup("is"),(yyvsp[0].str)); } -#line 44798 "preproc.c" +#line 44794 "preproc.c" break; case 976: /* opt_provider: FOR NonReservedWord_or_Sconst */ -#line 6496 "preproc.y" +#line 6492 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for"),(yyvsp[0].str)); } -#line 44806 "preproc.c" +#line 44802 "preproc.c" break; case 977: /* opt_provider: %empty */ -#line 6500 "preproc.y" +#line 6496 "preproc.y" { (yyval.str)=EMPTY; } -#line 44813 "preproc.c" +#line 44809 "preproc.c" break; case 978: /* security_label: ecpg_sconst */ -#line 6507 "preproc.y" +#line 6503 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 44821 "preproc.c" +#line 44817 "preproc.c" break; case 979: /* security_label: NULL_P */ -#line 6511 "preproc.y" +#line 6507 "preproc.y" { (yyval.str) = mm_strdup("null"); } -#line 44829 "preproc.c" +#line 44825 "preproc.c" break; case 980: /* FetchStmt: FETCH fetch_args */ -#line 6519 "preproc.y" +#line 6515 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("fetch"),(yyvsp[0].str)); } -#line 44837 "preproc.c" +#line 44833 "preproc.c" break; case 981: /* FetchStmt: MOVE fetch_args */ -#line 6523 "preproc.y" +#line 6519 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("move"),(yyvsp[0].str)); } -#line 44845 "preproc.c" +#line 44841 "preproc.c" break; case 982: /* FetchStmt: FETCH fetch_args ecpg_fetch_into */ -#line 6527 "preproc.y" +#line 6523 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("fetch"), (yyvsp[-1].str)); } -#line 44853 "preproc.c" +#line 44849 "preproc.c" break; case 983: /* FetchStmt: FETCH FORWARD cursor_name opt_ecpg_fetch_into */ -#line 6531 "preproc.y" +#line 6527 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); @@ -44862,11 +44858,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("fetch forward"), cursor_marker); } -#line 44866 "preproc.c" +#line 44862 "preproc.c" break; case 984: /* FetchStmt: FETCH FORWARD from_in cursor_name opt_ecpg_fetch_into */ -#line 6540 "preproc.y" +#line 6536 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); @@ -44875,11 +44871,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("fetch forward from"), cursor_marker); } -#line 44879 "preproc.c" +#line 44875 "preproc.c" break; case 985: /* FetchStmt: FETCH BACKWARD cursor_name opt_ecpg_fetch_into */ -#line 6549 "preproc.y" +#line 6545 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); @@ -44888,11 +44884,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("fetch backward"), cursor_marker); } -#line 44892 "preproc.c" +#line 44888 "preproc.c" break; case 986: /* FetchStmt: FETCH BACKWARD from_in cursor_name opt_ecpg_fetch_into */ -#line 6558 "preproc.y" +#line 6554 "preproc.y" { char *cursor_marker = (yyvsp[-1].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[-1].str); struct cursor *ptr = add_additional_variables((yyvsp[-1].str), false); @@ -44901,11 +44897,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("fetch backward from"), cursor_marker); } -#line 44905 "preproc.c" +#line 44901 "preproc.c" break; case 987: /* FetchStmt: MOVE FORWARD cursor_name */ -#line 6567 "preproc.y" +#line 6563 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); @@ -44914,11 +44910,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("move forward"), cursor_marker); } -#line 44918 "preproc.c" +#line 44914 "preproc.c" break; case 988: /* FetchStmt: MOVE FORWARD from_in cursor_name */ -#line 6576 "preproc.y" +#line 6572 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); @@ -44927,11 +44923,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("move forward from"), cursor_marker); } -#line 44931 "preproc.c" +#line 44927 "preproc.c" break; case 989: /* FetchStmt: MOVE BACKWARD cursor_name */ -#line 6585 "preproc.y" +#line 6581 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); @@ -44940,11 +44936,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("move backward"), cursor_marker); } -#line 44944 "preproc.c" +#line 44940 "preproc.c" break; case 990: /* FetchStmt: MOVE BACKWARD from_in cursor_name */ -#line 6594 "preproc.y" +#line 6590 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); @@ -44953,11 +44949,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, mm_strdup("move backward from"), cursor_marker); } -#line 44957 "preproc.c" +#line 44953 "preproc.c" break; case 991: /* fetch_args: cursor_name */ -#line 6607 "preproc.y" +#line 6603 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -44971,11 +44967,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = (yyvsp[0].str); } -#line 44975 "preproc.c" +#line 44971 "preproc.c" break; case 992: /* fetch_args: from_in cursor_name */ -#line 6621 "preproc.y" +#line 6617 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -44989,11 +44985,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 44993 "preproc.c" +#line 44989 "preproc.c" break; case 993: /* fetch_args: NEXT opt_from_in cursor_name */ -#line 6635 "preproc.y" +#line 6631 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45007,11 +45003,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,mm_strdup("next"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45011 "preproc.c" +#line 45007 "preproc.c" break; case 994: /* fetch_args: PRIOR opt_from_in cursor_name */ -#line 6649 "preproc.y" +#line 6645 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45025,11 +45021,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,mm_strdup("prior"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45029 "preproc.c" +#line 45025 "preproc.c" break; case 995: /* fetch_args: FIRST_P opt_from_in cursor_name */ -#line 6663 "preproc.y" +#line 6659 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45043,11 +45039,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,mm_strdup("first"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45047 "preproc.c" +#line 45043 "preproc.c" break; case 996: /* fetch_args: LAST_P opt_from_in cursor_name */ -#line 6677 "preproc.y" +#line 6673 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45061,11 +45057,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,mm_strdup("last"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45065 "preproc.c" +#line 45061 "preproc.c" break; case 997: /* fetch_args: ABSOLUTE_P SignedIconst opt_from_in cursor_name */ -#line 6691 "preproc.y" +#line 6687 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45084,11 +45080,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(4,mm_strdup("absolute"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45088 "preproc.c" +#line 45084 "preproc.c" break; case 998: /* fetch_args: RELATIVE_P SignedIconst opt_from_in cursor_name */ -#line 6710 "preproc.y" +#line 6706 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45107,11 +45103,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(4,mm_strdup("relative"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45111 "preproc.c" +#line 45107 "preproc.c" break; case 999: /* fetch_args: SignedIconst opt_from_in cursor_name */ -#line 6729 "preproc.y" +#line 6725 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45130,11 +45126,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45134 "preproc.c" +#line 45130 "preproc.c" break; case 1000: /* fetch_args: ALL opt_from_in cursor_name */ -#line 6748 "preproc.y" +#line 6744 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45148,11 +45144,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,mm_strdup("all"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45152 "preproc.c" +#line 45148 "preproc.c" break; case 1001: /* fetch_args: FORWARD SignedIconst opt_from_in cursor_name */ -#line 6762 "preproc.y" +#line 6758 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45171,11 +45167,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(4,mm_strdup("forward"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45175 "preproc.c" +#line 45171 "preproc.c" break; case 1002: /* fetch_args: FORWARD ALL opt_from_in cursor_name */ -#line 6781 "preproc.y" +#line 6777 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45189,11 +45185,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,mm_strdup("forward all"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45193 "preproc.c" +#line 45189 "preproc.c" break; case 1003: /* fetch_args: BACKWARD SignedIconst opt_from_in cursor_name */ -#line 6795 "preproc.y" +#line 6791 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45212,11 +45208,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(4,mm_strdup("backward"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45216 "preproc.c" +#line 45212 "preproc.c" break; case 1004: /* fetch_args: BACKWARD ALL opt_from_in cursor_name */ -#line 6814 "preproc.y" +#line 6810 "preproc.y" { struct cursor *ptr = add_additional_variables((yyvsp[0].str), false); if (ptr -> connection) @@ -45230,5198 +45226,5195 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3,mm_strdup("backward all"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45234 "preproc.c" +#line 45230 "preproc.c" break; case 1005: /* from_in: FROM */ -#line 6832 "preproc.y" +#line 6828 "preproc.y" { (yyval.str) = mm_strdup("from"); } -#line 45242 "preproc.c" +#line 45238 "preproc.c" break; case 1006: /* from_in: IN_P */ -#line 6836 "preproc.y" +#line 6832 "preproc.y" { (yyval.str) = mm_strdup("in"); } -#line 45250 "preproc.c" +#line 45246 "preproc.c" break; case 1007: /* opt_from_in: from_in */ -#line 6844 "preproc.y" +#line 6840 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45258 "preproc.c" +#line 45254 "preproc.c" break; case 1008: /* opt_from_in: %empty */ -#line 6848 "preproc.y" +#line 6844 "preproc.y" { (yyval.str)=EMPTY; } -#line 45265 "preproc.c" +#line 45261 "preproc.c" break; case 1009: /* GrantStmt: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by */ -#line 6855 "preproc.y" +#line 6851 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("grant"),(yyvsp[-6].str),mm_strdup("on"),(yyvsp[-4].str),mm_strdup("to"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45273 "preproc.c" +#line 45269 "preproc.c" break; case 1010: /* RevokeStmt: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */ -#line 6863 "preproc.y" +#line 6859 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("revoke"),(yyvsp[-6].str),mm_strdup("on"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45281 "preproc.c" +#line 45277 "preproc.c" break; case 1011: /* RevokeStmt: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior */ -#line 6867 "preproc.y" +#line 6863 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("revoke grant option for"),(yyvsp[-6].str),mm_strdup("on"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45289 "preproc.c" +#line 45285 "preproc.c" break; case 1012: /* privileges: privilege_list */ -#line 6875 "preproc.y" +#line 6871 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45297 "preproc.c" +#line 45293 "preproc.c" break; case 1013: /* privileges: ALL */ -#line 6879 "preproc.y" +#line 6875 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 45305 "preproc.c" +#line 45301 "preproc.c" break; case 1014: /* privileges: ALL PRIVILEGES */ -#line 6883 "preproc.y" +#line 6879 "preproc.y" { (yyval.str) = mm_strdup("all privileges"); } -#line 45313 "preproc.c" +#line 45309 "preproc.c" break; case 1015: /* privileges: ALL '(' columnList ')' */ -#line 6887 "preproc.y" +#line 6883 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("all ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 45321 "preproc.c" +#line 45317 "preproc.c" break; case 1016: /* privileges: ALL PRIVILEGES '(' columnList ')' */ -#line 6891 "preproc.y" +#line 6887 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("all privileges ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 45329 "preproc.c" +#line 45325 "preproc.c" break; case 1017: /* privilege_list: privilege */ -#line 6899 "preproc.y" +#line 6895 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45337 "preproc.c" +#line 45333 "preproc.c" break; case 1018: /* privilege_list: privilege_list ',' privilege */ -#line 6903 "preproc.y" +#line 6899 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 45345 "preproc.c" +#line 45341 "preproc.c" break; case 1019: /* privilege: SELECT opt_column_list */ -#line 6911 "preproc.y" +#line 6907 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("select"),(yyvsp[0].str)); } -#line 45353 "preproc.c" +#line 45349 "preproc.c" break; case 1020: /* privilege: REFERENCES opt_column_list */ -#line 6915 "preproc.y" +#line 6911 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("references"),(yyvsp[0].str)); } -#line 45361 "preproc.c" +#line 45357 "preproc.c" break; case 1021: /* privilege: CREATE opt_column_list */ -#line 6919 "preproc.y" +#line 6915 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("create"),(yyvsp[0].str)); } -#line 45369 "preproc.c" +#line 45365 "preproc.c" break; case 1022: /* privilege: ALTER SYSTEM_P */ -#line 6923 "preproc.y" +#line 6919 "preproc.y" { (yyval.str) = mm_strdup("alter system"); } -#line 45377 "preproc.c" +#line 45373 "preproc.c" break; case 1023: /* privilege: ColId opt_column_list */ -#line 6927 "preproc.y" +#line 6923 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45385 "preproc.c" +#line 45381 "preproc.c" break; case 1024: /* parameter_name_list: parameter_name */ -#line 6935 "preproc.y" +#line 6931 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45393 "preproc.c" +#line 45389 "preproc.c" break; case 1025: /* parameter_name_list: parameter_name_list ',' parameter_name */ -#line 6939 "preproc.y" +#line 6935 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 45401 "preproc.c" +#line 45397 "preproc.c" break; case 1026: /* parameter_name: ColId */ -#line 6947 "preproc.y" +#line 6943 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45409 "preproc.c" +#line 45405 "preproc.c" break; case 1027: /* parameter_name: parameter_name '.' ColId */ -#line 6951 "preproc.y" +#line 6947 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } -#line 45417 "preproc.c" +#line 45413 "preproc.c" break; case 1028: /* privilege_target: qualified_name_list */ -#line 6959 "preproc.y" +#line 6955 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45425 "preproc.c" +#line 45421 "preproc.c" break; case 1029: /* privilege_target: TABLE qualified_name_list */ -#line 6963 "preproc.y" +#line 6959 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } -#line 45433 "preproc.c" +#line 45429 "preproc.c" break; case 1030: /* privilege_target: SEQUENCE qualified_name_list */ -#line 6967 "preproc.y" +#line 6963 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("sequence"),(yyvsp[0].str)); } -#line 45441 "preproc.c" +#line 45437 "preproc.c" break; case 1031: /* privilege_target: FOREIGN DATA_P WRAPPER name_list */ -#line 6971 "preproc.y" +#line 6967 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("foreign data wrapper"),(yyvsp[0].str)); } -#line 45449 "preproc.c" +#line 45445 "preproc.c" break; case 1032: /* privilege_target: FOREIGN SERVER name_list */ -#line 6975 "preproc.y" +#line 6971 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("foreign server"),(yyvsp[0].str)); } -#line 45457 "preproc.c" +#line 45453 "preproc.c" break; case 1033: /* privilege_target: FUNCTION function_with_argtypes_list */ -#line 6979 "preproc.y" +#line 6975 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("function"),(yyvsp[0].str)); } -#line 45465 "preproc.c" +#line 45461 "preproc.c" break; case 1034: /* privilege_target: PROCEDURE function_with_argtypes_list */ -#line 6983 "preproc.y" +#line 6979 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("procedure"),(yyvsp[0].str)); } -#line 45473 "preproc.c" +#line 45469 "preproc.c" break; case 1035: /* privilege_target: ROUTINE function_with_argtypes_list */ -#line 6987 "preproc.y" +#line 6983 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("routine"),(yyvsp[0].str)); } -#line 45481 "preproc.c" +#line 45477 "preproc.c" break; case 1036: /* privilege_target: DATABASE name_list */ -#line 6991 "preproc.y" +#line 6987 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("database"),(yyvsp[0].str)); } -#line 45489 "preproc.c" +#line 45485 "preproc.c" break; case 1037: /* privilege_target: DOMAIN_P any_name_list */ -#line 6995 "preproc.y" +#line 6991 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("domain"),(yyvsp[0].str)); } -#line 45497 "preproc.c" +#line 45493 "preproc.c" break; case 1038: /* privilege_target: LANGUAGE name_list */ -#line 6999 "preproc.y" +#line 6995 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } -#line 45505 "preproc.c" +#line 45501 "preproc.c" break; case 1039: /* privilege_target: LARGE_P OBJECT_P NumericOnly_list */ -#line 7003 "preproc.y" +#line 6999 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("large object"),(yyvsp[0].str)); } -#line 45513 "preproc.c" +#line 45509 "preproc.c" break; case 1040: /* privilege_target: PARAMETER parameter_name_list */ -#line 7007 "preproc.y" +#line 7003 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("parameter"),(yyvsp[0].str)); } -#line 45521 "preproc.c" +#line 45517 "preproc.c" break; case 1041: /* privilege_target: SCHEMA name_list */ -#line 7011 "preproc.y" +#line 7007 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("schema"),(yyvsp[0].str)); } -#line 45529 "preproc.c" +#line 45525 "preproc.c" break; case 1042: /* privilege_target: TABLESPACE name_list */ -#line 7015 "preproc.y" +#line 7011 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tablespace"),(yyvsp[0].str)); } -#line 45537 "preproc.c" +#line 45533 "preproc.c" break; case 1043: /* privilege_target: TYPE_P any_name_list */ -#line 7019 "preproc.y" +#line 7015 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("type"),(yyvsp[0].str)); } -#line 45545 "preproc.c" +#line 45541 "preproc.c" break; case 1044: /* privilege_target: ALL TABLES IN_P SCHEMA name_list */ -#line 7023 "preproc.y" +#line 7019 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all tables in schema"),(yyvsp[0].str)); } -#line 45553 "preproc.c" +#line 45549 "preproc.c" break; case 1045: /* privilege_target: ALL SEQUENCES IN_P SCHEMA name_list */ -#line 7027 "preproc.y" +#line 7023 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all sequences in schema"),(yyvsp[0].str)); } -#line 45561 "preproc.c" +#line 45557 "preproc.c" break; case 1046: /* privilege_target: ALL FUNCTIONS IN_P SCHEMA name_list */ -#line 7031 "preproc.y" +#line 7027 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all functions in schema"),(yyvsp[0].str)); } -#line 45569 "preproc.c" +#line 45565 "preproc.c" break; case 1047: /* privilege_target: ALL PROCEDURES IN_P SCHEMA name_list */ -#line 7035 "preproc.y" +#line 7031 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all procedures in schema"),(yyvsp[0].str)); } -#line 45577 "preproc.c" +#line 45573 "preproc.c" break; case 1048: /* privilege_target: ALL ROUTINES IN_P SCHEMA name_list */ -#line 7039 "preproc.y" +#line 7035 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("all routines in schema"),(yyvsp[0].str)); } -#line 45585 "preproc.c" +#line 45581 "preproc.c" break; case 1049: /* grantee_list: grantee */ -#line 7047 "preproc.y" +#line 7043 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45593 "preproc.c" +#line 45589 "preproc.c" break; case 1050: /* grantee_list: grantee_list ',' grantee */ -#line 7051 "preproc.y" +#line 7047 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 45601 "preproc.c" +#line 45597 "preproc.c" break; case 1051: /* grantee: RoleSpec */ -#line 7059 "preproc.y" +#line 7055 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45609 "preproc.c" +#line 45605 "preproc.c" break; case 1052: /* grantee: GROUP_P RoleSpec */ -#line 7063 "preproc.y" +#line 7059 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("group"),(yyvsp[0].str)); } -#line 45617 "preproc.c" +#line 45613 "preproc.c" break; case 1053: /* opt_grant_grant_option: WITH GRANT OPTION */ -#line 7071 "preproc.y" +#line 7067 "preproc.y" { (yyval.str) = mm_strdup("with grant option"); } -#line 45625 "preproc.c" +#line 45621 "preproc.c" break; case 1054: /* opt_grant_grant_option: %empty */ -#line 7075 "preproc.y" +#line 7071 "preproc.y" { (yyval.str)=EMPTY; } -#line 45632 "preproc.c" +#line 45628 "preproc.c" break; case 1055: /* GrantRoleStmt: GRANT privilege_list TO role_list opt_grant_admin_option opt_granted_by */ -#line 7082 "preproc.y" +#line 7078 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("grant"),(yyvsp[-4].str),mm_strdup("to"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45640 "preproc.c" +#line 45636 "preproc.c" break; case 1056: /* RevokeRoleStmt: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior */ -#line 7090 "preproc.y" +#line 7086 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("revoke"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45648 "preproc.c" +#line 45644 "preproc.c" break; case 1057: /* RevokeRoleStmt: REVOKE ADMIN OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior */ -#line 7094 "preproc.y" +#line 7090 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("revoke admin option for"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45656 "preproc.c" +#line 45652 "preproc.c" break; case 1058: /* opt_grant_admin_option: WITH ADMIN OPTION */ -#line 7102 "preproc.y" +#line 7098 "preproc.y" { (yyval.str) = mm_strdup("with admin option"); } -#line 45664 "preproc.c" +#line 45660 "preproc.c" break; case 1059: /* opt_grant_admin_option: %empty */ -#line 7106 "preproc.y" +#line 7102 "preproc.y" { (yyval.str)=EMPTY; } -#line 45671 "preproc.c" +#line 45667 "preproc.c" break; case 1060: /* opt_granted_by: GRANTED BY RoleSpec */ -#line 7113 "preproc.y" +#line 7109 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("granted by"),(yyvsp[0].str)); } -#line 45679 "preproc.c" +#line 45675 "preproc.c" break; case 1061: /* opt_granted_by: %empty */ -#line 7117 "preproc.y" +#line 7113 "preproc.y" { (yyval.str)=EMPTY; } -#line 45686 "preproc.c" +#line 45682 "preproc.c" break; case 1062: /* AlterDefaultPrivilegesStmt: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction */ -#line 7124 "preproc.y" +#line 7120 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter default privileges"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45694 "preproc.c" +#line 45690 "preproc.c" break; case 1063: /* DefACLOptionList: DefACLOptionList DefACLOption */ -#line 7132 "preproc.y" +#line 7128 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45702 "preproc.c" +#line 45698 "preproc.c" break; case 1064: /* DefACLOptionList: %empty */ -#line 7136 "preproc.y" +#line 7132 "preproc.y" { (yyval.str)=EMPTY; } -#line 45709 "preproc.c" +#line 45705 "preproc.c" break; case 1065: /* DefACLOption: IN_P SCHEMA name_list */ -#line 7143 "preproc.y" +#line 7139 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("in schema"),(yyvsp[0].str)); } -#line 45717 "preproc.c" +#line 45713 "preproc.c" break; case 1066: /* DefACLOption: FOR ROLE role_list */ -#line 7147 "preproc.y" +#line 7143 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for role"),(yyvsp[0].str)); } -#line 45725 "preproc.c" +#line 45721 "preproc.c" break; case 1067: /* DefACLOption: FOR USER role_list */ -#line 7151 "preproc.y" +#line 7147 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for user"),(yyvsp[0].str)); } -#line 45733 "preproc.c" +#line 45729 "preproc.c" break; case 1068: /* DefACLAction: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option */ -#line 7159 "preproc.y" +#line 7155 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("grant"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("to"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45741 "preproc.c" +#line 45737 "preproc.c" break; case 1069: /* DefACLAction: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */ -#line 7163 "preproc.y" +#line 7159 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("revoke"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("from"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45749 "preproc.c" +#line 45745 "preproc.c" break; case 1070: /* DefACLAction: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior */ -#line 7167 "preproc.y" +#line 7163 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("revoke grant option for"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("from"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45757 "preproc.c" +#line 45753 "preproc.c" break; case 1071: /* defacl_privilege_target: TABLES */ -#line 7175 "preproc.y" +#line 7171 "preproc.y" { (yyval.str) = mm_strdup("tables"); } -#line 45765 "preproc.c" +#line 45761 "preproc.c" break; case 1072: /* defacl_privilege_target: FUNCTIONS */ -#line 7179 "preproc.y" +#line 7175 "preproc.y" { (yyval.str) = mm_strdup("functions"); } -#line 45773 "preproc.c" +#line 45769 "preproc.c" break; case 1073: /* defacl_privilege_target: ROUTINES */ -#line 7183 "preproc.y" +#line 7179 "preproc.y" { (yyval.str) = mm_strdup("routines"); } -#line 45781 "preproc.c" +#line 45777 "preproc.c" break; case 1074: /* defacl_privilege_target: SEQUENCES */ -#line 7187 "preproc.y" +#line 7183 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } -#line 45789 "preproc.c" +#line 45785 "preproc.c" break; case 1075: /* defacl_privilege_target: TYPES_P */ -#line 7191 "preproc.y" +#line 7187 "preproc.y" { (yyval.str) = mm_strdup("types"); } -#line 45797 "preproc.c" +#line 45793 "preproc.c" break; case 1076: /* defacl_privilege_target: SCHEMAS */ -#line 7195 "preproc.y" +#line 7191 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } -#line 45805 "preproc.c" +#line 45801 "preproc.c" break; case 1077: /* IndexStmt: CREATE opt_unique INDEX opt_concurrently opt_index_name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause */ -#line 7203 "preproc.y" +#line 7199 "preproc.y" { (yyval.str) = cat_str(16,mm_strdup("create"),(yyvsp[-14].str),mm_strdup("index"),(yyvsp[-12].str),(yyvsp[-11].str),mm_strdup("on"),(yyvsp[-9].str),(yyvsp[-8].str),mm_strdup("("),(yyvsp[-6].str),mm_strdup(")"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45813 "preproc.c" +#line 45809 "preproc.c" break; case 1078: /* IndexStmt: CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause */ -#line 7207 "preproc.y" +#line 7203 "preproc.y" { (yyval.str) = cat_str(17,mm_strdup("create"),(yyvsp[-17].str),mm_strdup("index"),(yyvsp[-15].str),mm_strdup("if not exists"),(yyvsp[-11].str),mm_strdup("on"),(yyvsp[-9].str),(yyvsp[-8].str),mm_strdup("("),(yyvsp[-6].str),mm_strdup(")"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45821 "preproc.c" +#line 45817 "preproc.c" break; case 1079: /* opt_unique: UNIQUE */ -#line 7215 "preproc.y" +#line 7211 "preproc.y" { (yyval.str) = mm_strdup("unique"); } -#line 45829 "preproc.c" +#line 45825 "preproc.c" break; case 1080: /* opt_unique: %empty */ -#line 7219 "preproc.y" +#line 7215 "preproc.y" { (yyval.str)=EMPTY; } -#line 45836 "preproc.c" +#line 45832 "preproc.c" break; case 1081: /* opt_concurrently: CONCURRENTLY */ -#line 7226 "preproc.y" +#line 7222 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } -#line 45844 "preproc.c" +#line 45840 "preproc.c" break; case 1082: /* opt_concurrently: %empty */ -#line 7230 "preproc.y" +#line 7226 "preproc.y" { (yyval.str)=EMPTY; } -#line 45851 "preproc.c" +#line 45847 "preproc.c" break; case 1083: /* opt_index_name: name */ -#line 7237 "preproc.y" +#line 7233 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45859 "preproc.c" +#line 45855 "preproc.c" break; case 1084: /* opt_index_name: %empty */ -#line 7241 "preproc.y" +#line 7237 "preproc.y" { (yyval.str)=EMPTY; } -#line 45866 "preproc.c" +#line 45862 "preproc.c" break; case 1085: /* access_method_clause: USING name */ -#line 7248 "preproc.y" +#line 7244 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } -#line 45874 "preproc.c" +#line 45870 "preproc.c" break; case 1086: /* access_method_clause: %empty */ -#line 7252 "preproc.y" +#line 7248 "preproc.y" { (yyval.str)=EMPTY; } -#line 45881 "preproc.c" +#line 45877 "preproc.c" break; case 1087: /* index_params: index_elem */ -#line 7259 "preproc.y" +#line 7255 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45889 "preproc.c" +#line 45885 "preproc.c" break; case 1088: /* index_params: index_params ',' index_elem */ -#line 7263 "preproc.y" +#line 7259 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 45897 "preproc.c" +#line 45893 "preproc.c" break; case 1089: /* index_elem_options: opt_collate opt_class opt_asc_desc opt_nulls_order */ -#line 7271 "preproc.y" +#line 7267 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45905 "preproc.c" +#line 45901 "preproc.c" break; case 1090: /* index_elem_options: opt_collate any_name reloptions opt_asc_desc opt_nulls_order */ -#line 7275 "preproc.y" +#line 7271 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45913 "preproc.c" +#line 45909 "preproc.c" break; case 1091: /* index_elem: ColId index_elem_options */ -#line 7283 "preproc.y" +#line 7279 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45921 "preproc.c" +#line 45917 "preproc.c" break; case 1092: /* index_elem: func_expr_windowless index_elem_options */ -#line 7287 "preproc.y" +#line 7283 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 45929 "preproc.c" +#line 45925 "preproc.c" break; case 1093: /* index_elem: '(' a_expr ')' index_elem_options */ -#line 7291 "preproc.y" +#line 7287 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 45937 "preproc.c" +#line 45933 "preproc.c" break; case 1094: /* opt_include: INCLUDE '(' index_including_params ')' */ -#line 7299 "preproc.y" +#line 7295 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("include ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 45945 "preproc.c" +#line 45941 "preproc.c" break; case 1095: /* opt_include: %empty */ -#line 7303 "preproc.y" +#line 7299 "preproc.y" { (yyval.str)=EMPTY; } -#line 45952 "preproc.c" +#line 45948 "preproc.c" break; case 1096: /* index_including_params: index_elem */ -#line 7310 "preproc.y" +#line 7306 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45960 "preproc.c" +#line 45956 "preproc.c" break; case 1097: /* index_including_params: index_including_params ',' index_elem */ -#line 7314 "preproc.y" +#line 7310 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 45968 "preproc.c" +#line 45964 "preproc.c" break; case 1098: /* opt_collate: COLLATE any_name */ -#line 7322 "preproc.y" +#line 7318 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("collate"),(yyvsp[0].str)); } -#line 45976 "preproc.c" +#line 45972 "preproc.c" break; case 1099: /* opt_collate: %empty */ -#line 7326 "preproc.y" +#line 7322 "preproc.y" { (yyval.str)=EMPTY; } -#line 45983 "preproc.c" +#line 45979 "preproc.c" break; case 1100: /* opt_class: any_name */ -#line 7333 "preproc.y" +#line 7329 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 45991 "preproc.c" +#line 45987 "preproc.c" break; case 1101: /* opt_class: %empty */ -#line 7337 "preproc.y" +#line 7333 "preproc.y" { (yyval.str)=EMPTY; } -#line 45998 "preproc.c" +#line 45994 "preproc.c" break; case 1102: /* opt_asc_desc: ASC */ -#line 7344 "preproc.y" +#line 7340 "preproc.y" { (yyval.str) = mm_strdup("asc"); } -#line 46006 "preproc.c" +#line 46002 "preproc.c" break; case 1103: /* opt_asc_desc: DESC */ -#line 7348 "preproc.y" +#line 7344 "preproc.y" { (yyval.str) = mm_strdup("desc"); } -#line 46014 "preproc.c" +#line 46010 "preproc.c" break; case 1104: /* opt_asc_desc: %empty */ -#line 7352 "preproc.y" +#line 7348 "preproc.y" { (yyval.str)=EMPTY; } -#line 46021 "preproc.c" +#line 46017 "preproc.c" break; case 1105: /* opt_nulls_order: NULLS_LA FIRST_P */ -#line 7359 "preproc.y" +#line 7355 "preproc.y" { (yyval.str) = mm_strdup("nulls first"); } -#line 46029 "preproc.c" +#line 46025 "preproc.c" break; case 1106: /* opt_nulls_order: NULLS_LA LAST_P */ -#line 7363 "preproc.y" +#line 7359 "preproc.y" { (yyval.str) = mm_strdup("nulls last"); } -#line 46037 "preproc.c" +#line 46033 "preproc.c" break; case 1107: /* opt_nulls_order: %empty */ -#line 7367 "preproc.y" +#line 7363 "preproc.y" { (yyval.str)=EMPTY; } -#line 46044 "preproc.c" +#line 46040 "preproc.c" break; case 1108: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body */ -#line 7374 "preproc.y" +#line 7370 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create"),(yyvsp[-7].str),mm_strdup("function"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("returns"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46052 "preproc.c" +#line 46048 "preproc.c" break; case 1109: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS TABLE '(' table_func_column_list ')' opt_createfunc_opt_list opt_routine_body */ -#line 7378 "preproc.y" +#line 7374 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create"),(yyvsp[-10].str),mm_strdup("function"),(yyvsp[-8].str),(yyvsp[-7].str),mm_strdup("returns table ("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46060 "preproc.c" +#line 46056 "preproc.c" break; case 1110: /* CreateFunctionStmt: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */ -#line 7382 "preproc.y" +#line 7378 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-5].str),mm_strdup("function"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46068 "preproc.c" +#line 46064 "preproc.c" break; case 1111: /* CreateFunctionStmt: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body */ -#line 7386 "preproc.y" +#line 7382 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create"),(yyvsp[-5].str),mm_strdup("procedure"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46076 "preproc.c" +#line 46072 "preproc.c" break; case 1112: /* opt_or_replace: OR REPLACE */ -#line 7394 "preproc.y" +#line 7390 "preproc.y" { (yyval.str) = mm_strdup("or replace"); } -#line 46084 "preproc.c" +#line 46080 "preproc.c" break; case 1113: /* opt_or_replace: %empty */ -#line 7398 "preproc.y" +#line 7394 "preproc.y" { (yyval.str)=EMPTY; } -#line 46091 "preproc.c" +#line 46087 "preproc.c" break; case 1114: /* func_args: '(' func_args_list ')' */ -#line 7405 "preproc.y" +#line 7401 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 46099 "preproc.c" +#line 46095 "preproc.c" break; case 1115: /* func_args: '(' ')' */ -#line 7409 "preproc.y" +#line 7405 "preproc.y" { (yyval.str) = mm_strdup("( )"); } -#line 46107 "preproc.c" +#line 46103 "preproc.c" break; case 1116: /* func_args_list: func_arg */ -#line 7417 "preproc.y" +#line 7413 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46115 "preproc.c" +#line 46111 "preproc.c" break; case 1117: /* func_args_list: func_args_list ',' func_arg */ -#line 7421 "preproc.y" +#line 7417 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46123 "preproc.c" +#line 46119 "preproc.c" break; case 1118: /* function_with_argtypes_list: function_with_argtypes */ -#line 7429 "preproc.y" +#line 7425 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46131 "preproc.c" +#line 46127 "preproc.c" break; case 1119: /* function_with_argtypes_list: function_with_argtypes_list ',' function_with_argtypes */ -#line 7433 "preproc.y" +#line 7429 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46139 "preproc.c" +#line 46135 "preproc.c" break; case 1120: /* function_with_argtypes: func_name func_args */ -#line 7441 "preproc.y" +#line 7437 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46147 "preproc.c" +#line 46143 "preproc.c" break; case 1121: /* function_with_argtypes: type_func_name_keyword */ -#line 7445 "preproc.y" +#line 7441 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46155 "preproc.c" +#line 46151 "preproc.c" break; case 1122: /* function_with_argtypes: ColId */ -#line 7449 "preproc.y" +#line 7445 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46163 "preproc.c" +#line 46159 "preproc.c" break; case 1123: /* function_with_argtypes: ColId indirection */ -#line 7453 "preproc.y" +#line 7449 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46171 "preproc.c" +#line 46167 "preproc.c" break; case 1124: /* func_args_with_defaults: '(' func_args_with_defaults_list ')' */ -#line 7461 "preproc.y" +#line 7457 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 46179 "preproc.c" +#line 46175 "preproc.c" break; case 1125: /* func_args_with_defaults: '(' ')' */ -#line 7465 "preproc.y" +#line 7461 "preproc.y" { (yyval.str) = mm_strdup("( )"); } -#line 46187 "preproc.c" +#line 46183 "preproc.c" break; case 1126: /* func_args_with_defaults_list: func_arg_with_default */ -#line 7473 "preproc.y" +#line 7469 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46195 "preproc.c" +#line 46191 "preproc.c" break; case 1127: /* func_args_with_defaults_list: func_args_with_defaults_list ',' func_arg_with_default */ -#line 7477 "preproc.y" +#line 7473 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46203 "preproc.c" +#line 46199 "preproc.c" break; case 1128: /* func_arg: arg_class param_name func_type */ -#line 7485 "preproc.y" +#line 7481 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46211 "preproc.c" +#line 46207 "preproc.c" break; case 1129: /* func_arg: param_name arg_class func_type */ -#line 7489 "preproc.y" +#line 7485 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46219 "preproc.c" +#line 46215 "preproc.c" break; case 1130: /* func_arg: param_name func_type */ -#line 7493 "preproc.y" +#line 7489 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46227 "preproc.c" +#line 46223 "preproc.c" break; case 1131: /* func_arg: arg_class func_type */ -#line 7497 "preproc.y" +#line 7493 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46235 "preproc.c" +#line 46231 "preproc.c" break; case 1132: /* func_arg: func_type */ -#line 7501 "preproc.y" +#line 7497 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46243 "preproc.c" +#line 46239 "preproc.c" break; case 1133: /* arg_class: IN_P */ -#line 7509 "preproc.y" +#line 7505 "preproc.y" { (yyval.str) = mm_strdup("in"); } -#line 46251 "preproc.c" +#line 46247 "preproc.c" break; case 1134: /* arg_class: OUT_P */ -#line 7513 "preproc.y" +#line 7509 "preproc.y" { (yyval.str) = mm_strdup("out"); } -#line 46259 "preproc.c" +#line 46255 "preproc.c" break; case 1135: /* arg_class: INOUT */ -#line 7517 "preproc.y" +#line 7513 "preproc.y" { (yyval.str) = mm_strdup("inout"); } -#line 46267 "preproc.c" +#line 46263 "preproc.c" break; case 1136: /* arg_class: IN_P OUT_P */ -#line 7521 "preproc.y" +#line 7517 "preproc.y" { (yyval.str) = mm_strdup("in out"); } -#line 46275 "preproc.c" +#line 46271 "preproc.c" break; case 1137: /* arg_class: VARIADIC */ -#line 7525 "preproc.y" +#line 7521 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } -#line 46283 "preproc.c" +#line 46279 "preproc.c" break; case 1138: /* param_name: type_function_name */ -#line 7533 "preproc.y" +#line 7529 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46291 "preproc.c" +#line 46287 "preproc.c" break; case 1139: /* func_return: func_type */ -#line 7541 "preproc.y" +#line 7537 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46299 "preproc.c" +#line 46295 "preproc.c" break; case 1140: /* func_type: Typename */ -#line 7549 "preproc.y" +#line 7545 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46307 "preproc.c" +#line 46303 "preproc.c" break; case 1141: /* func_type: type_function_name attrs '%' TYPE_P */ -#line 7553 "preproc.y" +#line 7549 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("% type")); } -#line 46315 "preproc.c" +#line 46311 "preproc.c" break; case 1142: /* func_type: SETOF type_function_name attrs '%' TYPE_P */ -#line 7557 "preproc.y" +#line 7553 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("setof"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("% type")); } -#line 46323 "preproc.c" +#line 46319 "preproc.c" break; case 1143: /* func_arg_with_default: func_arg */ -#line 7565 "preproc.y" +#line 7561 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46331 "preproc.c" +#line 46327 "preproc.c" break; case 1144: /* func_arg_with_default: func_arg DEFAULT a_expr */ -#line 7569 "preproc.y" +#line 7565 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("default"),(yyvsp[0].str)); } -#line 46339 "preproc.c" +#line 46335 "preproc.c" break; case 1145: /* func_arg_with_default: func_arg '=' a_expr */ -#line 7573 "preproc.y" +#line 7569 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 46347 "preproc.c" +#line 46343 "preproc.c" break; case 1146: /* aggr_arg: func_arg */ -#line 7581 "preproc.y" +#line 7577 "preproc.y" { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = (yyvsp[0].str); } -#line 46356 "preproc.c" +#line 46351 "preproc.c" break; case 1147: /* aggr_args: '(' '*' ')' */ -#line 7590 "preproc.y" +#line 7585 "preproc.y" { (yyval.str) = mm_strdup("( * )"); } -#line 46364 "preproc.c" +#line 46359 "preproc.c" break; case 1148: /* aggr_args: '(' aggr_args_list ')' */ -#line 7594 "preproc.y" +#line 7589 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 46372 "preproc.c" +#line 46367 "preproc.c" break; case 1149: /* aggr_args: '(' ORDER BY aggr_args_list ')' */ -#line 7598 "preproc.y" +#line 7593 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("( order by"),(yyvsp[-1].str),mm_strdup(")")); } -#line 46380 "preproc.c" +#line 46375 "preproc.c" break; case 1150: /* aggr_args: '(' aggr_args_list ORDER BY aggr_args_list ')' */ -#line 7602 "preproc.y" +#line 7597 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-4].str),mm_strdup("order by"),(yyvsp[-1].str),mm_strdup(")")); } -#line 46388 "preproc.c" +#line 46383 "preproc.c" break; case 1151: /* aggr_args_list: aggr_arg */ -#line 7610 "preproc.y" +#line 7605 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46396 "preproc.c" +#line 46391 "preproc.c" break; case 1152: /* aggr_args_list: aggr_args_list ',' aggr_arg */ -#line 7614 "preproc.y" +#line 7609 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46404 "preproc.c" +#line 46399 "preproc.c" break; case 1153: /* aggregate_with_argtypes: func_name aggr_args */ -#line 7622 "preproc.y" +#line 7617 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46412 "preproc.c" +#line 46407 "preproc.c" break; case 1154: /* aggregate_with_argtypes_list: aggregate_with_argtypes */ -#line 7630 "preproc.y" +#line 7625 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46420 "preproc.c" +#line 46415 "preproc.c" break; case 1155: /* aggregate_with_argtypes_list: aggregate_with_argtypes_list ',' aggregate_with_argtypes */ -#line 7634 "preproc.y" +#line 7629 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46428 "preproc.c" +#line 46423 "preproc.c" break; case 1156: /* opt_createfunc_opt_list: createfunc_opt_list */ -#line 7642 "preproc.y" +#line 7637 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46436 "preproc.c" +#line 46431 "preproc.c" break; case 1157: /* opt_createfunc_opt_list: %empty */ -#line 7646 "preproc.y" +#line 7641 "preproc.y" { (yyval.str)=EMPTY; } -#line 46443 "preproc.c" +#line 46438 "preproc.c" break; case 1158: /* createfunc_opt_list: createfunc_opt_item */ -#line 7653 "preproc.y" +#line 7648 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46451 "preproc.c" +#line 46446 "preproc.c" break; case 1159: /* createfunc_opt_list: createfunc_opt_list createfunc_opt_item */ -#line 7657 "preproc.y" +#line 7652 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46459 "preproc.c" +#line 46454 "preproc.c" break; case 1160: /* common_func_opt_item: CALLED ON NULL_P INPUT_P */ -#line 7665 "preproc.y" +#line 7660 "preproc.y" { (yyval.str) = mm_strdup("called on null input"); } -#line 46467 "preproc.c" +#line 46462 "preproc.c" break; case 1161: /* common_func_opt_item: RETURNS NULL_P ON NULL_P INPUT_P */ -#line 7669 "preproc.y" +#line 7664 "preproc.y" { (yyval.str) = mm_strdup("returns null on null input"); } -#line 46475 "preproc.c" +#line 46470 "preproc.c" break; case 1162: /* common_func_opt_item: STRICT_P */ -#line 7673 "preproc.y" +#line 7668 "preproc.y" { (yyval.str) = mm_strdup("strict"); } -#line 46483 "preproc.c" +#line 46478 "preproc.c" break; case 1163: /* common_func_opt_item: IMMUTABLE */ -#line 7677 "preproc.y" +#line 7672 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } -#line 46491 "preproc.c" +#line 46486 "preproc.c" break; case 1164: /* common_func_opt_item: STABLE */ -#line 7681 "preproc.y" +#line 7676 "preproc.y" { (yyval.str) = mm_strdup("stable"); } -#line 46499 "preproc.c" +#line 46494 "preproc.c" break; case 1165: /* common_func_opt_item: VOLATILE */ -#line 7685 "preproc.y" +#line 7680 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } -#line 46507 "preproc.c" +#line 46502 "preproc.c" break; case 1166: /* common_func_opt_item: EXTERNAL SECURITY DEFINER */ -#line 7689 "preproc.y" +#line 7684 "preproc.y" { (yyval.str) = mm_strdup("external security definer"); } -#line 46515 "preproc.c" +#line 46510 "preproc.c" break; case 1167: /* common_func_opt_item: EXTERNAL SECURITY INVOKER */ -#line 7693 "preproc.y" +#line 7688 "preproc.y" { (yyval.str) = mm_strdup("external security invoker"); } -#line 46523 "preproc.c" +#line 46518 "preproc.c" break; case 1168: /* common_func_opt_item: SECURITY DEFINER */ -#line 7697 "preproc.y" +#line 7692 "preproc.y" { (yyval.str) = mm_strdup("security definer"); } -#line 46531 "preproc.c" +#line 46526 "preproc.c" break; case 1169: /* common_func_opt_item: SECURITY INVOKER */ -#line 7701 "preproc.y" +#line 7696 "preproc.y" { (yyval.str) = mm_strdup("security invoker"); } -#line 46539 "preproc.c" +#line 46534 "preproc.c" break; case 1170: /* common_func_opt_item: LEAKPROOF */ -#line 7705 "preproc.y" +#line 7700 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } -#line 46547 "preproc.c" +#line 46542 "preproc.c" break; case 1171: /* common_func_opt_item: NOT LEAKPROOF */ -#line 7709 "preproc.y" +#line 7704 "preproc.y" { (yyval.str) = mm_strdup("not leakproof"); } -#line 46555 "preproc.c" +#line 46550 "preproc.c" break; case 1172: /* common_func_opt_item: COST NumericOnly */ -#line 7713 "preproc.y" +#line 7708 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cost"),(yyvsp[0].str)); } -#line 46563 "preproc.c" +#line 46558 "preproc.c" break; case 1173: /* common_func_opt_item: ROWS NumericOnly */ -#line 7717 "preproc.y" +#line 7712 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("rows"),(yyvsp[0].str)); } -#line 46571 "preproc.c" +#line 46566 "preproc.c" break; case 1174: /* common_func_opt_item: SUPPORT any_name */ -#line 7721 "preproc.y" +#line 7716 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("support"),(yyvsp[0].str)); } -#line 46579 "preproc.c" +#line 46574 "preproc.c" break; case 1175: /* common_func_opt_item: FunctionSetResetClause */ -#line 7725 "preproc.y" +#line 7720 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46587 "preproc.c" +#line 46582 "preproc.c" break; case 1176: /* common_func_opt_item: PARALLEL ColId */ -#line 7729 "preproc.y" +#line 7724 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("parallel"),(yyvsp[0].str)); } -#line 46595 "preproc.c" +#line 46590 "preproc.c" break; case 1177: /* createfunc_opt_item: AS func_as */ -#line 7737 "preproc.y" +#line 7732 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } -#line 46603 "preproc.c" +#line 46598 "preproc.c" break; case 1178: /* createfunc_opt_item: LANGUAGE NonReservedWord_or_Sconst */ -#line 7741 "preproc.y" +#line 7736 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } -#line 46611 "preproc.c" +#line 46606 "preproc.c" break; case 1179: /* createfunc_opt_item: TRANSFORM transform_type_list */ -#line 7745 "preproc.y" +#line 7740 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("transform"),(yyvsp[0].str)); } -#line 46619 "preproc.c" +#line 46614 "preproc.c" break; case 1180: /* createfunc_opt_item: WINDOW */ -#line 7749 "preproc.y" +#line 7744 "preproc.y" { (yyval.str) = mm_strdup("window"); } -#line 46627 "preproc.c" +#line 46622 "preproc.c" break; case 1181: /* createfunc_opt_item: common_func_opt_item */ -#line 7753 "preproc.y" +#line 7748 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46635 "preproc.c" +#line 46630 "preproc.c" break; case 1182: /* func_as: ecpg_sconst */ -#line 7761 "preproc.y" +#line 7756 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46643 "preproc.c" +#line 46638 "preproc.c" break; case 1183: /* func_as: ecpg_sconst ',' ecpg_sconst */ -#line 7765 "preproc.y" +#line 7760 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46651 "preproc.c" +#line 46646 "preproc.c" break; case 1184: /* ReturnStmt: RETURN a_expr */ -#line 7773 "preproc.y" +#line 7768 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("return"),(yyvsp[0].str)); } -#line 46659 "preproc.c" +#line 46654 "preproc.c" break; case 1185: /* opt_routine_body: ReturnStmt */ -#line 7781 "preproc.y" +#line 7776 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46667 "preproc.c" +#line 46662 "preproc.c" break; case 1186: /* opt_routine_body: BEGIN_P ATOMIC routine_body_stmt_list END_P */ -#line 7785 "preproc.y" +#line 7780 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("begin atomic"),(yyvsp[-1].str),mm_strdup("end")); } -#line 46675 "preproc.c" +#line 46670 "preproc.c" break; case 1187: /* opt_routine_body: %empty */ -#line 7789 "preproc.y" +#line 7784 "preproc.y" { (yyval.str)=EMPTY; } -#line 46682 "preproc.c" +#line 46677 "preproc.c" break; case 1188: /* routine_body_stmt_list: routine_body_stmt_list routine_body_stmt ';' */ -#line 7796 "preproc.y" +#line 7791 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(";")); } -#line 46690 "preproc.c" +#line 46685 "preproc.c" break; case 1189: /* routine_body_stmt_list: %empty */ -#line 7800 "preproc.y" +#line 7795 "preproc.y" { (yyval.str)=EMPTY; } -#line 46697 "preproc.c" +#line 46692 "preproc.c" break; case 1190: /* routine_body_stmt: stmt */ -#line 7807 "preproc.y" +#line 7802 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46705 "preproc.c" +#line 46700 "preproc.c" break; case 1191: /* routine_body_stmt: ReturnStmt */ -#line 7811 "preproc.y" +#line 7806 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46713 "preproc.c" +#line 46708 "preproc.c" break; case 1192: /* transform_type_list: FOR TYPE_P Typename */ -#line 7819 "preproc.y" +#line 7814 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("for type"),(yyvsp[0].str)); } -#line 46721 "preproc.c" +#line 46716 "preproc.c" break; case 1193: /* transform_type_list: transform_type_list ',' FOR TYPE_P Typename */ -#line 7823 "preproc.y" +#line 7818 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup(", for type"),(yyvsp[0].str)); } -#line 46729 "preproc.c" +#line 46724 "preproc.c" break; case 1194: /* opt_definition: WITH definition */ -#line 7831 "preproc.y" +#line 7826 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } -#line 46737 "preproc.c" +#line 46732 "preproc.c" break; case 1195: /* opt_definition: %empty */ -#line 7835 "preproc.y" +#line 7830 "preproc.y" { (yyval.str)=EMPTY; } -#line 46744 "preproc.c" +#line 46739 "preproc.c" break; case 1196: /* table_func_column: param_name func_type */ -#line 7842 "preproc.y" +#line 7837 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46752 "preproc.c" +#line 46747 "preproc.c" break; case 1197: /* table_func_column_list: table_func_column */ -#line 7850 "preproc.y" +#line 7845 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46760 "preproc.c" +#line 46755 "preproc.c" break; case 1198: /* table_func_column_list: table_func_column_list ',' table_func_column */ -#line 7854 "preproc.y" +#line 7849 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46768 "preproc.c" +#line 46763 "preproc.c" break; case 1199: /* AlterFunctionStmt: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict */ -#line 7862 "preproc.y" +#line 7857 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46776 "preproc.c" +#line 46771 "preproc.c" break; case 1200: /* AlterFunctionStmt: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict */ -#line 7866 "preproc.y" +#line 7861 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46784 "preproc.c" +#line 46779 "preproc.c" break; case 1201: /* AlterFunctionStmt: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict */ -#line 7870 "preproc.y" +#line 7865 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46792 "preproc.c" +#line 46787 "preproc.c" break; case 1202: /* alterfunc_opt_list: common_func_opt_item */ -#line 7878 "preproc.y" +#line 7873 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46800 "preproc.c" +#line 46795 "preproc.c" break; case 1203: /* alterfunc_opt_list: alterfunc_opt_list common_func_opt_item */ -#line 7882 "preproc.y" +#line 7877 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46808 "preproc.c" +#line 46803 "preproc.c" break; case 1204: /* opt_restrict: RESTRICT */ -#line 7890 "preproc.y" +#line 7885 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } -#line 46816 "preproc.c" +#line 46811 "preproc.c" break; case 1205: /* opt_restrict: %empty */ -#line 7894 "preproc.y" +#line 7889 "preproc.y" { (yyval.str)=EMPTY; } -#line 46823 "preproc.c" +#line 46818 "preproc.c" break; case 1206: /* RemoveFuncStmt: DROP FUNCTION function_with_argtypes_list opt_drop_behavior */ -#line 7901 "preproc.y" +#line 7896 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop function"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46831 "preproc.c" +#line 46826 "preproc.c" break; case 1207: /* RemoveFuncStmt: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ -#line 7905 "preproc.y" +#line 7900 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop function if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46839 "preproc.c" +#line 46834 "preproc.c" break; case 1208: /* RemoveFuncStmt: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior */ -#line 7909 "preproc.y" +#line 7904 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop procedure"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46847 "preproc.c" +#line 46842 "preproc.c" break; case 1209: /* RemoveFuncStmt: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ -#line 7913 "preproc.y" +#line 7908 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop procedure if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46855 "preproc.c" +#line 46850 "preproc.c" break; case 1210: /* RemoveFuncStmt: DROP ROUTINE function_with_argtypes_list opt_drop_behavior */ -#line 7917 "preproc.y" +#line 7912 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop routine"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46863 "preproc.c" +#line 46858 "preproc.c" break; case 1211: /* RemoveFuncStmt: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior */ -#line 7921 "preproc.y" +#line 7916 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop routine if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46871 "preproc.c" +#line 46866 "preproc.c" break; case 1212: /* RemoveAggrStmt: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior */ -#line 7929 "preproc.y" +#line 7924 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop aggregate"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46879 "preproc.c" +#line 46874 "preproc.c" break; case 1213: /* RemoveAggrStmt: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior */ -#line 7933 "preproc.y" +#line 7928 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop aggregate if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46887 "preproc.c" +#line 46882 "preproc.c" break; case 1214: /* RemoveOperStmt: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior */ -#line 7941 "preproc.y" +#line 7936 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop operator"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46895 "preproc.c" +#line 46890 "preproc.c" break; case 1215: /* RemoveOperStmt: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior */ -#line 7945 "preproc.y" +#line 7940 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop operator if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46903 "preproc.c" +#line 46898 "preproc.c" break; case 1216: /* oper_argtypes: '(' Typename ')' */ -#line 7953 "preproc.y" +#line 7948 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 46911 "preproc.c" +#line 46906 "preproc.c" break; case 1217: /* oper_argtypes: '(' Typename ',' Typename ')' */ -#line 7957 "preproc.y" +#line 7952 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 46919 "preproc.c" +#line 46914 "preproc.c" break; case 1218: /* oper_argtypes: '(' NONE ',' Typename ')' */ -#line 7961 "preproc.y" +#line 7956 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("( none ,"),(yyvsp[-1].str),mm_strdup(")")); } -#line 46927 "preproc.c" +#line 46922 "preproc.c" break; case 1219: /* oper_argtypes: '(' Typename ',' NONE ')' */ -#line 7965 "preproc.y" +#line 7960 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-3].str),mm_strdup(", none )")); } -#line 46935 "preproc.c" +#line 46930 "preproc.c" break; case 1220: /* any_operator: all_Op */ -#line 7973 "preproc.y" +#line 7968 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46943 "preproc.c" +#line 46938 "preproc.c" break; case 1221: /* any_operator: ColId '.' any_operator */ -#line 7977 "preproc.y" +#line 7972 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("."),(yyvsp[0].str)); } -#line 46951 "preproc.c" +#line 46946 "preproc.c" break; case 1222: /* operator_with_argtypes_list: operator_with_argtypes */ -#line 7985 "preproc.y" +#line 7980 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46959 "preproc.c" +#line 46954 "preproc.c" break; case 1223: /* operator_with_argtypes_list: operator_with_argtypes_list ',' operator_with_argtypes */ -#line 7989 "preproc.y" +#line 7984 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 46967 "preproc.c" +#line 46962 "preproc.c" break; case 1224: /* operator_with_argtypes: any_operator oper_argtypes */ -#line 7997 "preproc.y" +#line 7992 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46975 "preproc.c" +#line 46970 "preproc.c" break; case 1225: /* DoStmt: DO dostmt_opt_list */ -#line 8005 "preproc.y" +#line 8000 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("do"),(yyvsp[0].str)); } -#line 46983 "preproc.c" +#line 46978 "preproc.c" break; case 1226: /* dostmt_opt_list: dostmt_opt_item */ -#line 8013 "preproc.y" +#line 8008 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 46991 "preproc.c" +#line 46986 "preproc.c" break; case 1227: /* dostmt_opt_list: dostmt_opt_list dostmt_opt_item */ -#line 8017 "preproc.y" +#line 8012 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 46999 "preproc.c" +#line 46994 "preproc.c" break; case 1228: /* dostmt_opt_item: ecpg_sconst */ -#line 8025 "preproc.y" +#line 8020 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 47007 "preproc.c" +#line 47002 "preproc.c" break; case 1229: /* dostmt_opt_item: LANGUAGE NonReservedWord_or_Sconst */ -#line 8029 "preproc.y" +#line 8024 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("language"),(yyvsp[0].str)); } -#line 47015 "preproc.c" +#line 47010 "preproc.c" break; case 1230: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context */ -#line 8037 "preproc.y" +#line 8032 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create cast ("),(yyvsp[-7].str),mm_strdup("as"),(yyvsp[-5].str),mm_strdup(") with function"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 47023 "preproc.c" +#line 47018 "preproc.c" break; case 1231: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context */ -#line 8041 "preproc.y" +#line 8036 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create cast ("),(yyvsp[-6].str),mm_strdup("as"),(yyvsp[-4].str),mm_strdup(") without function"),(yyvsp[0].str)); } -#line 47031 "preproc.c" +#line 47026 "preproc.c" break; case 1232: /* CreateCastStmt: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context */ -#line 8045 "preproc.y" +#line 8040 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("create cast ("),(yyvsp[-6].str),mm_strdup("as"),(yyvsp[-4].str),mm_strdup(") with inout"),(yyvsp[0].str)); } -#line 47039 "preproc.c" +#line 47034 "preproc.c" break; case 1233: /* cast_context: AS IMPLICIT_P */ -#line 8053 "preproc.y" +#line 8048 "preproc.y" { (yyval.str) = mm_strdup("as implicit"); } -#line 47047 "preproc.c" +#line 47042 "preproc.c" break; case 1234: /* cast_context: AS ASSIGNMENT */ -#line 8057 "preproc.y" +#line 8052 "preproc.y" { (yyval.str) = mm_strdup("as assignment"); } -#line 47055 "preproc.c" +#line 47050 "preproc.c" break; case 1235: /* cast_context: %empty */ -#line 8061 "preproc.y" +#line 8056 "preproc.y" { (yyval.str)=EMPTY; } -#line 47062 "preproc.c" +#line 47057 "preproc.c" break; case 1236: /* DropCastStmt: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior */ -#line 8068 "preproc.y" +#line 8063 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("drop cast"),(yyvsp[-6].str),mm_strdup("("),(yyvsp[-4].str),mm_strdup("as"),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 47070 "preproc.c" +#line 47065 "preproc.c" break; case 1237: /* opt_if_exists: IF_P EXISTS */ -#line 8076 "preproc.y" +#line 8071 "preproc.y" { (yyval.str) = mm_strdup("if exists"); } -#line 47078 "preproc.c" +#line 47073 "preproc.c" break; case 1238: /* opt_if_exists: %empty */ -#line 8080 "preproc.y" +#line 8075 "preproc.y" { (yyval.str)=EMPTY; } -#line 47085 "preproc.c" +#line 47080 "preproc.c" break; case 1239: /* CreateTransformStmt: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')' */ -#line 8087 "preproc.y" +#line 8082 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create"),(yyvsp[-8].str),mm_strdup("transform for"),(yyvsp[-5].str),mm_strdup("language"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 47093 "preproc.c" +#line 47088 "preproc.c" break; case 1240: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes */ -#line 8095 "preproc.y" +#line 8090 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("from sql with function"),(yyvsp[-6].str),mm_strdup(", to sql with function"),(yyvsp[0].str)); } -#line 47101 "preproc.c" +#line 47096 "preproc.c" break; case 1241: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes */ -#line 8099 "preproc.y" +#line 8094 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("to sql with function"),(yyvsp[-6].str),mm_strdup(", from sql with function"),(yyvsp[0].str)); } -#line 47109 "preproc.c" +#line 47104 "preproc.c" break; case 1242: /* transform_element_list: FROM SQL_P WITH FUNCTION function_with_argtypes */ -#line 8103 "preproc.y" +#line 8098 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from sql with function"),(yyvsp[0].str)); } -#line 47117 "preproc.c" +#line 47112 "preproc.c" break; case 1243: /* transform_element_list: TO SQL_P WITH FUNCTION function_with_argtypes */ -#line 8107 "preproc.y" +#line 8102 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("to sql with function"),(yyvsp[0].str)); } -#line 47125 "preproc.c" +#line 47120 "preproc.c" break; case 1244: /* DropTransformStmt: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior */ -#line 8115 "preproc.y" +#line 8110 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("drop transform"),(yyvsp[-5].str),mm_strdup("for"),(yyvsp[-3].str),mm_strdup("language"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 47133 "preproc.c" +#line 47128 "preproc.c" break; case 1245: /* ReindexStmt: REINDEX reindex_target_type opt_concurrently qualified_name */ -#line 8123 "preproc.y" +#line 8118 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("reindex"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 47141 "preproc.c" +#line 47136 "preproc.c" break; case 1246: /* ReindexStmt: REINDEX reindex_target_multitable opt_concurrently name */ -#line 8127 "preproc.y" +#line 8122 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("reindex"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 47149 "preproc.c" +#line 47144 "preproc.c" break; case 1247: /* ReindexStmt: REINDEX '(' utility_option_list ')' reindex_target_type opt_concurrently qualified_name */ -#line 8131 "preproc.y" +#line 8126 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("reindex ("),(yyvsp[-4].str),mm_strdup(")"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 47157 "preproc.c" +#line 47152 "preproc.c" break; case 1248: /* ReindexStmt: REINDEX '(' utility_option_list ')' reindex_target_multitable opt_concurrently name */ -#line 8135 "preproc.y" +#line 8130 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("reindex ("),(yyvsp[-4].str),mm_strdup(")"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 47165 "preproc.c" +#line 47160 "preproc.c" break; case 1249: /* reindex_target_type: INDEX */ -#line 8143 "preproc.y" +#line 8138 "preproc.y" { (yyval.str) = mm_strdup("index"); } -#line 47173 "preproc.c" +#line 47168 "preproc.c" break; case 1250: /* reindex_target_type: TABLE */ -#line 8147 "preproc.y" +#line 8142 "preproc.y" { (yyval.str) = mm_strdup("table"); } -#line 47181 "preproc.c" +#line 47176 "preproc.c" break; case 1251: /* reindex_target_multitable: SCHEMA */ -#line 8155 "preproc.y" +#line 8150 "preproc.y" { (yyval.str) = mm_strdup("schema"); } -#line 47189 "preproc.c" +#line 47184 "preproc.c" break; case 1252: /* reindex_target_multitable: SYSTEM_P */ -#line 8159 "preproc.y" +#line 8154 "preproc.y" { (yyval.str) = mm_strdup("system"); } -#line 47197 "preproc.c" +#line 47192 "preproc.c" break; case 1253: /* reindex_target_multitable: DATABASE */ -#line 8163 "preproc.y" +#line 8158 "preproc.y" { (yyval.str) = mm_strdup("database"); } -#line 47205 "preproc.c" +#line 47200 "preproc.c" break; case 1254: /* AlterTblSpcStmt: ALTER TABLESPACE name SET reloptions */ -#line 8171 "preproc.y" +#line 8166 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 47213 "preproc.c" +#line 47208 "preproc.c" break; case 1255: /* AlterTblSpcStmt: ALTER TABLESPACE name RESET reloptions */ -#line 8175 "preproc.y" +#line 8170 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-2].str),mm_strdup("reset"),(yyvsp[0].str)); } -#line 47221 "preproc.c" +#line 47216 "preproc.c" break; case 1256: /* RenameStmt: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name */ -#line 8183 "preproc.y" +#line 8178 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47229 "preproc.c" +#line 47224 "preproc.c" break; case 1257: /* RenameStmt: ALTER COLLATION any_name RENAME TO name */ -#line 8187 "preproc.y" +#line 8182 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47237 "preproc.c" +#line 47232 "preproc.c" break; case 1258: /* RenameStmt: ALTER CONVERSION_P any_name RENAME TO name */ -#line 8191 "preproc.y" +#line 8186 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47245 "preproc.c" +#line 47240 "preproc.c" break; case 1259: /* RenameStmt: ALTER DATABASE name RENAME TO name */ -#line 8195 "preproc.y" +#line 8190 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47253 "preproc.c" +#line 47248 "preproc.c" break; case 1260: /* RenameStmt: ALTER DOMAIN_P any_name RENAME TO name */ -#line 8199 "preproc.y" +#line 8194 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47261 "preproc.c" +#line 47256 "preproc.c" break; case 1261: /* RenameStmt: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name */ -#line 8203 "preproc.y" +#line 8198 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter domain"),(yyvsp[-5].str),mm_strdup("rename constraint"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47269 "preproc.c" +#line 47264 "preproc.c" break; case 1262: /* RenameStmt: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name */ -#line 8207 "preproc.y" +#line 8202 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47277 "preproc.c" +#line 47272 "preproc.c" break; case 1263: /* RenameStmt: ALTER FUNCTION function_with_argtypes RENAME TO name */ -#line 8211 "preproc.y" +#line 8206 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47285 "preproc.c" +#line 47280 "preproc.c" break; case 1264: /* RenameStmt: ALTER GROUP_P RoleId RENAME TO RoleId */ -#line 8215 "preproc.y" +#line 8210 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter group"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47293 "preproc.c" +#line 47288 "preproc.c" break; case 1265: /* RenameStmt: ALTER opt_procedural LANGUAGE name RENAME TO name */ -#line 8219 "preproc.y" +#line 8214 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter"),(yyvsp[-5].str),mm_strdup("language"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47301 "preproc.c" +#line 47296 "preproc.c" break; case 1266: /* RenameStmt: ALTER OPERATOR CLASS any_name USING name RENAME TO name */ -#line 8223 "preproc.y" +#line 8218 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator class"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47309 "preproc.c" +#line 47304 "preproc.c" break; case 1267: /* RenameStmt: ALTER OPERATOR FAMILY any_name USING name RENAME TO name */ -#line 8227 "preproc.y" +#line 8222 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47317 "preproc.c" +#line 47312 "preproc.c" break; case 1268: /* RenameStmt: ALTER POLICY name ON qualified_name RENAME TO name */ -#line 8231 "preproc.y" +#line 8226 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter policy"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47325 "preproc.c" +#line 47320 "preproc.c" break; case 1269: /* RenameStmt: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name */ -#line 8235 "preproc.y" +#line 8230 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter policy if exists"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47333 "preproc.c" +#line 47328 "preproc.c" break; case 1270: /* RenameStmt: ALTER PROCEDURE function_with_argtypes RENAME TO name */ -#line 8239 "preproc.y" +#line 8234 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47341 "preproc.c" +#line 47336 "preproc.c" break; case 1271: /* RenameStmt: ALTER PUBLICATION name RENAME TO name */ -#line 8243 "preproc.y" +#line 8238 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47349 "preproc.c" +#line 47344 "preproc.c" break; case 1272: /* RenameStmt: ALTER ROUTINE function_with_argtypes RENAME TO name */ -#line 8247 "preproc.y" +#line 8242 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47357 "preproc.c" +#line 47352 "preproc.c" break; case 1273: /* RenameStmt: ALTER SCHEMA name RENAME TO name */ -#line 8251 "preproc.y" +#line 8246 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter schema"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47365 "preproc.c" +#line 47360 "preproc.c" break; case 1274: /* RenameStmt: ALTER SERVER name RENAME TO name */ -#line 8255 "preproc.y" +#line 8250 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47373 "preproc.c" +#line 47368 "preproc.c" break; case 1275: /* RenameStmt: ALTER SUBSCRIPTION name RENAME TO name */ -#line 8259 "preproc.y" +#line 8254 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47381 "preproc.c" +#line 47376 "preproc.c" break; case 1276: /* RenameStmt: ALTER TABLE relation_expr RENAME TO name */ -#line 8263 "preproc.y" +#line 8258 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47389 "preproc.c" +#line 47384 "preproc.c" break; case 1277: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name */ -#line 8267 "preproc.y" +#line 8262 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47397 "preproc.c" +#line 47392 "preproc.c" break; case 1278: /* RenameStmt: ALTER SEQUENCE qualified_name RENAME TO name */ -#line 8271 "preproc.y" +#line 8266 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47405 "preproc.c" +#line 47400 "preproc.c" break; case 1279: /* RenameStmt: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name */ -#line 8275 "preproc.y" +#line 8270 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47413 "preproc.c" +#line 47408 "preproc.c" break; case 1280: /* RenameStmt: ALTER VIEW qualified_name RENAME TO name */ -#line 8279 "preproc.y" +#line 8274 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47421 "preproc.c" +#line 47416 "preproc.c" break; case 1281: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name */ -#line 8283 "preproc.y" +#line 8278 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47429 "preproc.c" +#line 47424 "preproc.c" break; case 1282: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME TO name */ -#line 8287 "preproc.y" +#line 8282 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47437 "preproc.c" +#line 47432 "preproc.c" break; case 1283: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name */ -#line 8291 "preproc.y" +#line 8286 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47445 "preproc.c" +#line 47440 "preproc.c" break; case 1284: /* RenameStmt: ALTER INDEX qualified_name RENAME TO name */ -#line 8295 "preproc.y" +#line 8290 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter index"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47453 "preproc.c" +#line 47448 "preproc.c" break; case 1285: /* RenameStmt: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name */ -#line 8299 "preproc.y" +#line 8294 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter index if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47461 "preproc.c" +#line 47456 "preproc.c" break; case 1286: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME TO name */ -#line 8303 "preproc.y" +#line 8298 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47469 "preproc.c" +#line 47464 "preproc.c" break; case 1287: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name */ -#line 8307 "preproc.y" +#line 8302 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table if exists"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47477 "preproc.c" +#line 47472 "preproc.c" break; case 1288: /* RenameStmt: ALTER TABLE relation_expr RENAME opt_column name TO name */ -#line 8311 "preproc.y" +#line 8306 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter table"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47485 "preproc.c" +#line 47480 "preproc.c" break; case 1289: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ -#line 8315 "preproc.y" +#line 8310 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter table if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47493 "preproc.c" +#line 47488 "preproc.c" break; case 1290: /* RenameStmt: ALTER VIEW qualified_name RENAME opt_column name TO name */ -#line 8319 "preproc.y" +#line 8314 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter view"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47501 "preproc.c" +#line 47496 "preproc.c" break; case 1291: /* RenameStmt: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */ -#line 8323 "preproc.y" +#line 8318 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter view if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47509 "preproc.c" +#line 47504 "preproc.c" break; case 1292: /* RenameStmt: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name */ -#line 8327 "preproc.y" +#line 8322 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter materialized view"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47517 "preproc.c" +#line 47512 "preproc.c" break; case 1293: /* RenameStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name */ -#line 8331 "preproc.y" +#line 8326 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter materialized view if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47525 "preproc.c" +#line 47520 "preproc.c" break; case 1294: /* RenameStmt: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name */ -#line 8335 "preproc.y" +#line 8330 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter table"),(yyvsp[-5].str),mm_strdup("rename constraint"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47533 "preproc.c" +#line 47528 "preproc.c" break; case 1295: /* RenameStmt: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name */ -#line 8339 "preproc.y" +#line 8334 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter table if exists"),(yyvsp[-5].str),mm_strdup("rename constraint"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47541 "preproc.c" +#line 47536 "preproc.c" break; case 1296: /* RenameStmt: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name */ -#line 8343 "preproc.y" +#line 8338 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter foreign table"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47549 "preproc.c" +#line 47544 "preproc.c" break; case 1297: /* RenameStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name */ -#line 8347 "preproc.y" +#line 8342 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter foreign table if exists"),(yyvsp[-5].str),mm_strdup("rename"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 47557 "preproc.c" +#line 47552 "preproc.c" break; case 1298: /* RenameStmt: ALTER RULE name ON qualified_name RENAME TO name */ -#line 8351 "preproc.y" +#line 8346 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter rule"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47565 "preproc.c" +#line 47560 "preproc.c" break; case 1299: /* RenameStmt: ALTER TRIGGER name ON qualified_name RENAME TO name */ -#line 8355 "preproc.y" +#line 8350 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter trigger"),(yyvsp[-5].str),mm_strdup("on"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47573 "preproc.c" +#line 47568 "preproc.c" break; case 1300: /* RenameStmt: ALTER EVENT TRIGGER name RENAME TO name */ -#line 8359 "preproc.y" +#line 8354 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter event trigger"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47581 "preproc.c" +#line 47576 "preproc.c" break; case 1301: /* RenameStmt: ALTER ROLE RoleId RENAME TO RoleId */ -#line 8363 "preproc.y" +#line 8358 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter role"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47589 "preproc.c" +#line 47584 "preproc.c" break; case 1302: /* RenameStmt: ALTER USER RoleId RENAME TO RoleId */ -#line 8367 "preproc.y" +#line 8362 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter user"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47597 "preproc.c" +#line 47592 "preproc.c" break; case 1303: /* RenameStmt: ALTER TABLESPACE name RENAME TO name */ -#line 8371 "preproc.y" +#line 8366 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47605 "preproc.c" +#line 47600 "preproc.c" break; case 1304: /* RenameStmt: ALTER STATISTICS any_name RENAME TO name */ -#line 8375 "preproc.y" +#line 8370 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47613 "preproc.c" +#line 47608 "preproc.c" break; case 1305: /* RenameStmt: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name */ -#line 8379 "preproc.y" +#line 8374 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search parser"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47621 "preproc.c" +#line 47616 "preproc.c" break; case 1306: /* RenameStmt: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name */ -#line 8383 "preproc.y" +#line 8378 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47629 "preproc.c" +#line 47624 "preproc.c" break; case 1307: /* RenameStmt: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name */ -#line 8387 "preproc.y" +#line 8382 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search template"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47637 "preproc.c" +#line 47632 "preproc.c" break; case 1308: /* RenameStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name */ -#line 8391 "preproc.y" +#line 8386 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47645 "preproc.c" +#line 47640 "preproc.c" break; case 1309: /* RenameStmt: ALTER TYPE_P any_name RENAME TO name */ -#line 8395 "preproc.y" +#line 8390 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("rename to"),(yyvsp[0].str)); } -#line 47653 "preproc.c" +#line 47648 "preproc.c" break; case 1310: /* RenameStmt: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior */ -#line 8399 "preproc.y" +#line 8394 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter type"),(yyvsp[-6].str),mm_strdup("rename attribute"),(yyvsp[-3].str),mm_strdup("to"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 47661 "preproc.c" +#line 47656 "preproc.c" break; case 1311: /* opt_column: COLUMN */ -#line 8407 "preproc.y" +#line 8402 "preproc.y" { (yyval.str) = mm_strdup("column"); } -#line 47669 "preproc.c" +#line 47664 "preproc.c" break; case 1312: /* opt_column: %empty */ -#line 8411 "preproc.y" +#line 8406 "preproc.y" { (yyval.str)=EMPTY; } -#line 47676 "preproc.c" +#line 47671 "preproc.c" break; case 1313: /* opt_set_data: SET DATA_P */ -#line 8418 "preproc.y" +#line 8413 "preproc.y" { (yyval.str) = mm_strdup("set data"); } -#line 47684 "preproc.c" +#line 47679 "preproc.c" break; case 1314: /* opt_set_data: %empty */ -#line 8422 "preproc.y" +#line 8417 "preproc.y" { (yyval.str)=EMPTY; } -#line 47691 "preproc.c" +#line 47686 "preproc.c" break; case 1315: /* AlterObjectDependsStmt: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name */ -#line 8429 "preproc.y" +#line 8424 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter function"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } -#line 47699 "preproc.c" +#line 47694 "preproc.c" break; case 1316: /* AlterObjectDependsStmt: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name */ -#line 8433 "preproc.y" +#line 8428 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter procedure"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } -#line 47707 "preproc.c" +#line 47702 "preproc.c" break; case 1317: /* AlterObjectDependsStmt: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name */ -#line 8437 "preproc.y" +#line 8432 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter routine"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } -#line 47715 "preproc.c" +#line 47710 "preproc.c" break; case 1318: /* AlterObjectDependsStmt: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name */ -#line 8441 "preproc.y" +#line 8436 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("alter trigger"),(yyvsp[-7].str),mm_strdup("on"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } -#line 47723 "preproc.c" +#line 47718 "preproc.c" break; case 1319: /* AlterObjectDependsStmt: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name */ -#line 8445 "preproc.y" +#line 8440 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter materialized view"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } -#line 47731 "preproc.c" +#line 47726 "preproc.c" break; case 1320: /* AlterObjectDependsStmt: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name */ -#line 8449 "preproc.y" +#line 8444 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter index"),(yyvsp[-5].str),(yyvsp[-4].str),mm_strdup("depends on extension"),(yyvsp[0].str)); } -#line 47739 "preproc.c" +#line 47734 "preproc.c" break; case 1321: /* opt_no: NO */ -#line 8457 "preproc.y" +#line 8452 "preproc.y" { (yyval.str) = mm_strdup("no"); } -#line 47747 "preproc.c" +#line 47742 "preproc.c" break; case 1322: /* opt_no: %empty */ -#line 8461 "preproc.y" +#line 8456 "preproc.y" { (yyval.str)=EMPTY; } -#line 47754 "preproc.c" +#line 47749 "preproc.c" break; case 1323: /* AlterObjectSchemaStmt: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name */ -#line 8468 "preproc.y" +#line 8463 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47762 "preproc.c" +#line 47757 "preproc.c" break; case 1324: /* AlterObjectSchemaStmt: ALTER COLLATION any_name SET SCHEMA name */ -#line 8472 "preproc.y" +#line 8467 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47770 "preproc.c" +#line 47765 "preproc.c" break; case 1325: /* AlterObjectSchemaStmt: ALTER CONVERSION_P any_name SET SCHEMA name */ -#line 8476 "preproc.y" +#line 8471 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47778 "preproc.c" +#line 47773 "preproc.c" break; case 1326: /* AlterObjectSchemaStmt: ALTER DOMAIN_P any_name SET SCHEMA name */ -#line 8480 "preproc.y" +#line 8475 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47786 "preproc.c" +#line 47781 "preproc.c" break; case 1327: /* AlterObjectSchemaStmt: ALTER EXTENSION name SET SCHEMA name */ -#line 8484 "preproc.y" +#line 8479 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter extension"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47794 "preproc.c" +#line 47789 "preproc.c" break; case 1328: /* AlterObjectSchemaStmt: ALTER FUNCTION function_with_argtypes SET SCHEMA name */ -#line 8488 "preproc.y" +#line 8483 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47802 "preproc.c" +#line 47797 "preproc.c" break; case 1329: /* AlterObjectSchemaStmt: ALTER OPERATOR operator_with_argtypes SET SCHEMA name */ -#line 8492 "preproc.y" +#line 8487 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter operator"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47810 "preproc.c" +#line 47805 "preproc.c" break; case 1330: /* AlterObjectSchemaStmt: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name */ -#line 8496 "preproc.y" +#line 8491 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator class"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47818 "preproc.c" +#line 47813 "preproc.c" break; case 1331: /* AlterObjectSchemaStmt: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name */ -#line 8500 "preproc.y" +#line 8495 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47826 "preproc.c" +#line 47821 "preproc.c" break; case 1332: /* AlterObjectSchemaStmt: ALTER PROCEDURE function_with_argtypes SET SCHEMA name */ -#line 8504 "preproc.y" +#line 8499 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47834 "preproc.c" +#line 47829 "preproc.c" break; case 1333: /* AlterObjectSchemaStmt: ALTER ROUTINE function_with_argtypes SET SCHEMA name */ -#line 8508 "preproc.y" +#line 8503 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47842 "preproc.c" +#line 47837 "preproc.c" break; case 1334: /* AlterObjectSchemaStmt: ALTER TABLE relation_expr SET SCHEMA name */ -#line 8512 "preproc.y" +#line 8507 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47850 "preproc.c" +#line 47845 "preproc.c" break; case 1335: /* AlterObjectSchemaStmt: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name */ -#line 8516 "preproc.y" +#line 8511 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter table if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47858 "preproc.c" +#line 47853 "preproc.c" break; case 1336: /* AlterObjectSchemaStmt: ALTER STATISTICS any_name SET SCHEMA name */ -#line 8520 "preproc.y" +#line 8515 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47866 "preproc.c" +#line 47861 "preproc.c" break; case 1337: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name */ -#line 8524 "preproc.y" +#line 8519 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search parser"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47874 "preproc.c" +#line 47869 "preproc.c" break; case 1338: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name */ -#line 8528 "preproc.y" +#line 8523 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47882 "preproc.c" +#line 47877 "preproc.c" break; case 1339: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name */ -#line 8532 "preproc.y" +#line 8527 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search template"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47890 "preproc.c" +#line 47885 "preproc.c" break; case 1340: /* AlterObjectSchemaStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name */ -#line 8536 "preproc.y" +#line 8531 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47898 "preproc.c" +#line 47893 "preproc.c" break; case 1341: /* AlterObjectSchemaStmt: ALTER SEQUENCE qualified_name SET SCHEMA name */ -#line 8540 "preproc.y" +#line 8535 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47906 "preproc.c" +#line 47901 "preproc.c" break; case 1342: /* AlterObjectSchemaStmt: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name */ -#line 8544 "preproc.y" +#line 8539 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter sequence if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47914 "preproc.c" +#line 47909 "preproc.c" break; case 1343: /* AlterObjectSchemaStmt: ALTER VIEW qualified_name SET SCHEMA name */ -#line 8548 "preproc.y" +#line 8543 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47922 "preproc.c" +#line 47917 "preproc.c" break; case 1344: /* AlterObjectSchemaStmt: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name */ -#line 8552 "preproc.y" +#line 8547 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter view if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47930 "preproc.c" +#line 47925 "preproc.c" break; case 1345: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name */ -#line 8556 "preproc.y" +#line 8551 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47938 "preproc.c" +#line 47933 "preproc.c" break; case 1346: /* AlterObjectSchemaStmt: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name */ -#line 8560 "preproc.y" +#line 8555 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter materialized view if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47946 "preproc.c" +#line 47941 "preproc.c" break; case 1347: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE relation_expr SET SCHEMA name */ -#line 8564 "preproc.y" +#line 8559 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47954 "preproc.c" +#line 47949 "preproc.c" break; case 1348: /* AlterObjectSchemaStmt: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name */ -#line 8568 "preproc.y" +#line 8563 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign table if exists"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47962 "preproc.c" +#line 47957 "preproc.c" break; case 1349: /* AlterObjectSchemaStmt: ALTER TYPE_P any_name SET SCHEMA name */ -#line 8572 "preproc.y" +#line 8567 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("set schema"),(yyvsp[0].str)); } -#line 47970 "preproc.c" +#line 47965 "preproc.c" break; case 1350: /* AlterOperatorStmt: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')' */ -#line 8580 "preproc.y" +#line 8575 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter operator"),(yyvsp[-4].str),mm_strdup("set ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 47978 "preproc.c" +#line 47973 "preproc.c" break; case 1351: /* operator_def_list: operator_def_elem */ -#line 8588 "preproc.y" +#line 8583 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 47986 "preproc.c" +#line 47981 "preproc.c" break; case 1352: /* operator_def_list: operator_def_list ',' operator_def_elem */ -#line 8592 "preproc.y" +#line 8587 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 47994 "preproc.c" +#line 47989 "preproc.c" break; case 1353: /* operator_def_elem: ColLabel '=' NONE */ -#line 8600 "preproc.y" +#line 8595 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("= none")); } -#line 48002 "preproc.c" +#line 47997 "preproc.c" break; case 1354: /* operator_def_elem: ColLabel '=' operator_def_arg */ -#line 8604 "preproc.y" +#line 8599 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 48010 "preproc.c" +#line 48005 "preproc.c" break; case 1355: /* operator_def_arg: func_type */ -#line 8612 "preproc.y" +#line 8607 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48018 "preproc.c" +#line 48013 "preproc.c" break; case 1356: /* operator_def_arg: reserved_keyword */ -#line 8616 "preproc.y" +#line 8611 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48026 "preproc.c" +#line 48021 "preproc.c" break; case 1357: /* operator_def_arg: qual_all_Op */ -#line 8620 "preproc.y" +#line 8615 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48034 "preproc.c" +#line 48029 "preproc.c" break; case 1358: /* operator_def_arg: NumericOnly */ -#line 8624 "preproc.y" +#line 8619 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48042 "preproc.c" +#line 48037 "preproc.c" break; case 1359: /* operator_def_arg: ecpg_sconst */ -#line 8628 "preproc.y" +#line 8623 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48050 "preproc.c" +#line 48045 "preproc.c" break; case 1360: /* AlterTypeStmt: ALTER TYPE_P any_name SET '(' operator_def_list ')' */ -#line 8636 "preproc.y" +#line 8631 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter type"),(yyvsp[-4].str),mm_strdup("set ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 48058 "preproc.c" +#line 48053 "preproc.c" break; case 1361: /* AlterOwnerStmt: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec */ -#line 8644 "preproc.y" +#line 8639 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter aggregate"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48066 "preproc.c" +#line 48061 "preproc.c" break; case 1362: /* AlterOwnerStmt: ALTER COLLATION any_name OWNER TO RoleSpec */ -#line 8648 "preproc.y" +#line 8643 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter collation"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48074 "preproc.c" +#line 48069 "preproc.c" break; case 1363: /* AlterOwnerStmt: ALTER CONVERSION_P any_name OWNER TO RoleSpec */ -#line 8652 "preproc.y" +#line 8647 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter conversion"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48082 "preproc.c" +#line 48077 "preproc.c" break; case 1364: /* AlterOwnerStmt: ALTER DATABASE name OWNER TO RoleSpec */ -#line 8656 "preproc.y" +#line 8651 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48090 "preproc.c" +#line 48085 "preproc.c" break; case 1365: /* AlterOwnerStmt: ALTER DOMAIN_P any_name OWNER TO RoleSpec */ -#line 8660 "preproc.y" +#line 8655 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48098 "preproc.c" +#line 48093 "preproc.c" break; case 1366: /* AlterOwnerStmt: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec */ -#line 8664 "preproc.y" +#line 8659 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter function"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48106 "preproc.c" +#line 48101 "preproc.c" break; case 1367: /* AlterOwnerStmt: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec */ -#line 8668 "preproc.y" +#line 8663 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter"),(yyvsp[-5].str),mm_strdup("language"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48114 "preproc.c" +#line 48109 "preproc.c" break; case 1368: /* AlterOwnerStmt: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec */ -#line 8672 "preproc.y" +#line 8667 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter large object"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48122 "preproc.c" +#line 48117 "preproc.c" break; case 1369: /* AlterOwnerStmt: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec */ -#line 8676 "preproc.y" +#line 8671 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter operator"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48130 "preproc.c" +#line 48125 "preproc.c" break; case 1370: /* AlterOwnerStmt: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec */ -#line 8680 "preproc.y" +#line 8675 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator class"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48138 "preproc.c" +#line 48133 "preproc.c" break; case 1371: /* AlterOwnerStmt: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec */ -#line 8684 "preproc.y" +#line 8679 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter operator family"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48146 "preproc.c" +#line 48141 "preproc.c" break; case 1372: /* AlterOwnerStmt: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec */ -#line 8688 "preproc.y" +#line 8683 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter procedure"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48154 "preproc.c" +#line 48149 "preproc.c" break; case 1373: /* AlterOwnerStmt: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec */ -#line 8692 "preproc.y" +#line 8687 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter routine"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48162 "preproc.c" +#line 48157 "preproc.c" break; case 1374: /* AlterOwnerStmt: ALTER SCHEMA name OWNER TO RoleSpec */ -#line 8696 "preproc.y" +#line 8691 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter schema"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48170 "preproc.c" +#line 48165 "preproc.c" break; case 1375: /* AlterOwnerStmt: ALTER TYPE_P any_name OWNER TO RoleSpec */ -#line 8700 "preproc.y" +#line 8695 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter type"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48178 "preproc.c" +#line 48173 "preproc.c" break; case 1376: /* AlterOwnerStmt: ALTER TABLESPACE name OWNER TO RoleSpec */ -#line 8704 "preproc.y" +#line 8699 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter tablespace"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48186 "preproc.c" +#line 48181 "preproc.c" break; case 1377: /* AlterOwnerStmt: ALTER STATISTICS any_name OWNER TO RoleSpec */ -#line 8708 "preproc.y" +#line 8703 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter statistics"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48194 "preproc.c" +#line 48189 "preproc.c" break; case 1378: /* AlterOwnerStmt: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec */ -#line 8712 "preproc.y" +#line 8707 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search dictionary"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48202 "preproc.c" +#line 48197 "preproc.c" break; case 1379: /* AlterOwnerStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec */ -#line 8716 "preproc.y" +#line 8711 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48210 "preproc.c" +#line 48205 "preproc.c" break; case 1380: /* AlterOwnerStmt: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec */ -#line 8720 "preproc.y" +#line 8715 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter foreign data wrapper"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48218 "preproc.c" +#line 48213 "preproc.c" break; case 1381: /* AlterOwnerStmt: ALTER SERVER name OWNER TO RoleSpec */ -#line 8724 "preproc.y" +#line 8719 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter server"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48226 "preproc.c" +#line 48221 "preproc.c" break; case 1382: /* AlterOwnerStmt: ALTER EVENT TRIGGER name OWNER TO RoleSpec */ -#line 8728 "preproc.y" +#line 8723 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter event trigger"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48234 "preproc.c" +#line 48229 "preproc.c" break; case 1383: /* AlterOwnerStmt: ALTER PUBLICATION name OWNER TO RoleSpec */ -#line 8732 "preproc.y" +#line 8727 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48242 "preproc.c" +#line 48237 "preproc.c" break; case 1384: /* AlterOwnerStmt: ALTER SUBSCRIPTION name OWNER TO RoleSpec */ -#line 8736 "preproc.y" +#line 8731 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("owner to"),(yyvsp[0].str)); } -#line 48250 "preproc.c" +#line 48245 "preproc.c" break; case 1385: /* CreatePublicationStmt: CREATE PUBLICATION name opt_definition */ -#line 8744 "preproc.y" +#line 8739 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("create publication"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48258 "preproc.c" +#line 48253 "preproc.c" break; case 1386: /* CreatePublicationStmt: CREATE PUBLICATION name FOR ALL TABLES opt_definition */ -#line 8748 "preproc.y" +#line 8743 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create publication"),(yyvsp[-4].str),mm_strdup("for all tables"),(yyvsp[0].str)); } -#line 48266 "preproc.c" +#line 48261 "preproc.c" break; case 1387: /* CreatePublicationStmt: CREATE PUBLICATION name FOR pub_obj_list opt_definition */ -#line 8752 "preproc.y" +#line 8747 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create publication"),(yyvsp[-3].str),mm_strdup("for"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48274 "preproc.c" +#line 48269 "preproc.c" break; case 1388: /* PublicationObjSpec: TABLE relation_expr opt_column_list OptWhereClause */ -#line 8760 "preproc.y" +#line 8755 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("table"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48282 "preproc.c" +#line 48277 "preproc.c" break; case 1389: /* PublicationObjSpec: TABLES IN_P SCHEMA ColId */ -#line 8764 "preproc.y" +#line 8759 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("tables in schema"),(yyvsp[0].str)); } -#line 48290 "preproc.c" +#line 48285 "preproc.c" break; case 1390: /* PublicationObjSpec: TABLES IN_P SCHEMA CURRENT_SCHEMA */ -#line 8768 "preproc.y" +#line 8763 "preproc.y" { (yyval.str) = mm_strdup("tables in schema current_schema"); } -#line 48298 "preproc.c" +#line 48293 "preproc.c" break; case 1391: /* PublicationObjSpec: ColId opt_column_list OptWhereClause */ -#line 8772 "preproc.y" +#line 8767 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48306 "preproc.c" +#line 48301 "preproc.c" break; case 1392: /* PublicationObjSpec: ColId indirection opt_column_list OptWhereClause */ -#line 8776 "preproc.y" +#line 8771 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48314 "preproc.c" +#line 48309 "preproc.c" break; case 1393: /* PublicationObjSpec: extended_relation_expr opt_column_list OptWhereClause */ -#line 8780 "preproc.y" +#line 8775 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48322 "preproc.c" +#line 48317 "preproc.c" break; case 1394: /* PublicationObjSpec: CURRENT_SCHEMA */ -#line 8784 "preproc.y" +#line 8779 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } -#line 48330 "preproc.c" +#line 48325 "preproc.c" break; case 1395: /* pub_obj_list: PublicationObjSpec */ -#line 8792 "preproc.y" +#line 8787 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48338 "preproc.c" +#line 48333 "preproc.c" break; case 1396: /* pub_obj_list: pub_obj_list ',' PublicationObjSpec */ -#line 8796 "preproc.y" +#line 8791 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 48346 "preproc.c" +#line 48341 "preproc.c" break; case 1397: /* AlterPublicationStmt: ALTER PUBLICATION name SET definition */ -#line 8804 "preproc.y" +#line 8799 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 48354 "preproc.c" +#line 48349 "preproc.c" break; case 1398: /* AlterPublicationStmt: ALTER PUBLICATION name ADD_P pub_obj_list */ -#line 8808 "preproc.y" +#line 8803 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } -#line 48362 "preproc.c" +#line 48357 "preproc.c" break; case 1399: /* AlterPublicationStmt: ALTER PUBLICATION name SET pub_obj_list */ -#line 8812 "preproc.y" +#line 8807 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 48370 "preproc.c" +#line 48365 "preproc.c" break; case 1400: /* AlterPublicationStmt: ALTER PUBLICATION name DROP pub_obj_list */ -#line 8816 "preproc.y" +#line 8811 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter publication"),(yyvsp[-2].str),mm_strdup("drop"),(yyvsp[0].str)); } -#line 48378 "preproc.c" +#line 48373 "preproc.c" break; case 1401: /* CreateSubscriptionStmt: CREATE SUBSCRIPTION name CONNECTION ecpg_sconst PUBLICATION name_list opt_definition */ -#line 8824 "preproc.y" +#line 8819 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("create subscription"),(yyvsp[-5].str),mm_strdup("connection"),(yyvsp[-3].str),mm_strdup("publication"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48386 "preproc.c" +#line 48381 "preproc.c" break; case 1402: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET definition */ -#line 8832 "preproc.y" +#line 8827 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 48394 "preproc.c" +#line 48389 "preproc.c" break; case 1403: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name CONNECTION ecpg_sconst */ -#line 8836 "preproc.y" +#line 8831 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("connection"),(yyvsp[0].str)); } -#line 48402 "preproc.c" +#line 48397 "preproc.c" break; case 1404: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition */ -#line 8840 "preproc.y" +#line 8835 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-3].str),mm_strdup("refresh publication"),(yyvsp[0].str)); } -#line 48410 "preproc.c" +#line 48405 "preproc.c" break; case 1405: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition */ -#line 8844 "preproc.y" +#line 8839 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter subscription"),(yyvsp[-4].str),mm_strdup("add publication"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48418 "preproc.c" +#line 48413 "preproc.c" break; case 1406: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition */ -#line 8848 "preproc.y" +#line 8843 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter subscription"),(yyvsp[-4].str),mm_strdup("drop publication"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48426 "preproc.c" +#line 48421 "preproc.c" break; case 1407: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition */ -#line 8852 "preproc.y" +#line 8847 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter subscription"),(yyvsp[-4].str),mm_strdup("set publication"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48434 "preproc.c" +#line 48429 "preproc.c" break; case 1408: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name ENABLE_P */ -#line 8856 "preproc.y" +#line 8851 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter subscription"),(yyvsp[-1].str),mm_strdup("enable")); } -#line 48442 "preproc.c" +#line 48437 "preproc.c" break; case 1409: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name DISABLE_P */ -#line 8860 "preproc.y" +#line 8855 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter subscription"),(yyvsp[-1].str),mm_strdup("disable")); } -#line 48450 "preproc.c" +#line 48445 "preproc.c" break; case 1410: /* AlterSubscriptionStmt: ALTER SUBSCRIPTION name SKIP definition */ -#line 8864 "preproc.y" +#line 8859 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter subscription"),(yyvsp[-2].str),mm_strdup("skip"),(yyvsp[0].str)); } -#line 48458 "preproc.c" +#line 48453 "preproc.c" break; case 1411: /* DropSubscriptionStmt: DROP SUBSCRIPTION name opt_drop_behavior */ -#line 8872 "preproc.y" +#line 8867 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop subscription"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48466 "preproc.c" +#line 48461 "preproc.c" break; case 1412: /* DropSubscriptionStmt: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior */ -#line 8876 "preproc.y" +#line 8871 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("drop subscription if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48474 "preproc.c" +#line 48469 "preproc.c" break; case 1413: /* RuleStmt: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList */ -#line 8884 "preproc.y" +#line 8879 "preproc.y" { (yyval.str) = cat_str(12,mm_strdup("create"),(yyvsp[-11].str),mm_strdup("rule"),(yyvsp[-9].str),mm_strdup("as on"),(yyvsp[-6].str),mm_strdup("to"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("do"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48482 "preproc.c" +#line 48477 "preproc.c" break; case 1414: /* RuleActionList: NOTHING */ -#line 8892 "preproc.y" +#line 8887 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } -#line 48490 "preproc.c" +#line 48485 "preproc.c" break; case 1415: /* RuleActionList: RuleActionStmt */ -#line 8896 "preproc.y" +#line 8891 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48498 "preproc.c" +#line 48493 "preproc.c" break; case 1416: /* RuleActionList: '(' RuleActionMulti ')' */ -#line 8900 "preproc.y" +#line 8895 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 48506 "preproc.c" +#line 48501 "preproc.c" break; case 1417: /* RuleActionMulti: RuleActionMulti ';' RuleActionStmtOrEmpty */ -#line 8908 "preproc.y" +#line 8903 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(";"),(yyvsp[0].str)); } -#line 48514 "preproc.c" +#line 48509 "preproc.c" break; case 1418: /* RuleActionMulti: RuleActionStmtOrEmpty */ -#line 8912 "preproc.y" +#line 8907 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48522 "preproc.c" +#line 48517 "preproc.c" break; case 1419: /* RuleActionStmt: SelectStmt */ -#line 8920 "preproc.y" +#line 8915 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48530 "preproc.c" +#line 48525 "preproc.c" break; case 1420: /* RuleActionStmt: InsertStmt */ -#line 8924 "preproc.y" +#line 8919 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48538 "preproc.c" +#line 48533 "preproc.c" break; case 1421: /* RuleActionStmt: UpdateStmt */ -#line 8928 "preproc.y" +#line 8923 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48546 "preproc.c" +#line 48541 "preproc.c" break; case 1422: /* RuleActionStmt: DeleteStmt */ -#line 8932 "preproc.y" +#line 8927 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48554 "preproc.c" +#line 48549 "preproc.c" break; case 1423: /* RuleActionStmt: NotifyStmt */ -#line 8936 "preproc.y" +#line 8931 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48562 "preproc.c" +#line 48557 "preproc.c" break; case 1424: /* RuleActionStmtOrEmpty: RuleActionStmt */ -#line 8944 "preproc.y" +#line 8939 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48570 "preproc.c" +#line 48565 "preproc.c" break; case 1425: /* RuleActionStmtOrEmpty: %empty */ -#line 8948 "preproc.y" +#line 8943 "preproc.y" { (yyval.str)=EMPTY; } -#line 48577 "preproc.c" +#line 48572 "preproc.c" break; case 1426: /* event: SELECT */ -#line 8955 "preproc.y" +#line 8950 "preproc.y" { (yyval.str) = mm_strdup("select"); } -#line 48585 "preproc.c" +#line 48580 "preproc.c" break; case 1427: /* event: UPDATE */ -#line 8959 "preproc.y" +#line 8954 "preproc.y" { (yyval.str) = mm_strdup("update"); } -#line 48593 "preproc.c" +#line 48588 "preproc.c" break; case 1428: /* event: DELETE_P */ -#line 8963 "preproc.y" +#line 8958 "preproc.y" { (yyval.str) = mm_strdup("delete"); } -#line 48601 "preproc.c" +#line 48596 "preproc.c" break; case 1429: /* event: INSERT */ -#line 8967 "preproc.y" +#line 8962 "preproc.y" { (yyval.str) = mm_strdup("insert"); } -#line 48609 "preproc.c" +#line 48604 "preproc.c" break; case 1430: /* opt_instead: INSTEAD */ -#line 8975 "preproc.y" +#line 8970 "preproc.y" { (yyval.str) = mm_strdup("instead"); } -#line 48617 "preproc.c" +#line 48612 "preproc.c" break; case 1431: /* opt_instead: ALSO */ -#line 8979 "preproc.y" +#line 8974 "preproc.y" { (yyval.str) = mm_strdup("also"); } -#line 48625 "preproc.c" +#line 48620 "preproc.c" break; case 1432: /* opt_instead: %empty */ -#line 8983 "preproc.y" +#line 8978 "preproc.y" { (yyval.str)=EMPTY; } -#line 48632 "preproc.c" +#line 48627 "preproc.c" break; case 1433: /* NotifyStmt: NOTIFY ColId notify_payload */ -#line 8990 "preproc.y" +#line 8985 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("notify"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48640 "preproc.c" +#line 48635 "preproc.c" break; case 1434: /* notify_payload: ',' ecpg_sconst */ -#line 8998 "preproc.y" +#line 8993 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup(","),(yyvsp[0].str)); } -#line 48648 "preproc.c" +#line 48643 "preproc.c" break; case 1435: /* notify_payload: %empty */ -#line 9002 "preproc.y" +#line 8997 "preproc.y" { (yyval.str)=EMPTY; } -#line 48655 "preproc.c" +#line 48650 "preproc.c" break; case 1436: /* ListenStmt: LISTEN ColId */ -#line 9009 "preproc.y" +#line 9004 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("listen"),(yyvsp[0].str)); } -#line 48663 "preproc.c" +#line 48658 "preproc.c" break; case 1437: /* UnlistenStmt: UNLISTEN ColId */ -#line 9017 "preproc.y" +#line 9012 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("unlisten"),(yyvsp[0].str)); } -#line 48671 "preproc.c" +#line 48666 "preproc.c" break; case 1438: /* UnlistenStmt: UNLISTEN '*' */ -#line 9021 "preproc.y" +#line 9016 "preproc.y" { (yyval.str) = mm_strdup("unlisten *"); } -#line 48679 "preproc.c" +#line 48674 "preproc.c" break; case 1439: /* TransactionStmt: ABORT_P opt_transaction opt_transaction_chain */ -#line 9029 "preproc.y" +#line 9024 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("abort"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48687 "preproc.c" +#line 48682 "preproc.c" break; case 1440: /* TransactionStmt: START TRANSACTION transaction_mode_list_or_empty */ -#line 9033 "preproc.y" +#line 9028 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("start transaction"),(yyvsp[0].str)); } -#line 48695 "preproc.c" +#line 48690 "preproc.c" break; case 1441: /* TransactionStmt: COMMIT opt_transaction opt_transaction_chain */ -#line 9037 "preproc.y" +#line 9032 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("commit"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48703 "preproc.c" +#line 48698 "preproc.c" break; case 1442: /* TransactionStmt: ROLLBACK opt_transaction opt_transaction_chain */ -#line 9041 "preproc.y" +#line 9036 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rollback"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48711 "preproc.c" +#line 48706 "preproc.c" break; case 1443: /* TransactionStmt: SAVEPOINT ColId */ -#line 9045 "preproc.y" +#line 9040 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("savepoint"),(yyvsp[0].str)); } -#line 48719 "preproc.c" +#line 48714 "preproc.c" break; case 1444: /* TransactionStmt: RELEASE SAVEPOINT ColId */ -#line 9049 "preproc.y" +#line 9044 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("release savepoint"),(yyvsp[0].str)); } -#line 48727 "preproc.c" +#line 48722 "preproc.c" break; case 1445: /* TransactionStmt: RELEASE ColId */ -#line 9053 "preproc.y" +#line 9048 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("release"),(yyvsp[0].str)); } -#line 48735 "preproc.c" +#line 48730 "preproc.c" break; case 1446: /* TransactionStmt: ROLLBACK opt_transaction TO SAVEPOINT ColId */ -#line 9057 "preproc.y" +#line 9052 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rollback"),(yyvsp[-3].str),mm_strdup("to savepoint"),(yyvsp[0].str)); } -#line 48743 "preproc.c" +#line 48738 "preproc.c" break; case 1447: /* TransactionStmt: ROLLBACK opt_transaction TO ColId */ -#line 9061 "preproc.y" +#line 9056 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rollback"),(yyvsp[-2].str),mm_strdup("to"),(yyvsp[0].str)); } -#line 48751 "preproc.c" +#line 48746 "preproc.c" break; case 1448: /* TransactionStmt: PREPARE TRANSACTION ecpg_sconst */ -#line 9065 "preproc.y" +#line 9060 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("prepare transaction"),(yyvsp[0].str)); } -#line 48759 "preproc.c" +#line 48754 "preproc.c" break; case 1449: /* TransactionStmt: COMMIT PREPARED ecpg_sconst */ -#line 9069 "preproc.y" +#line 9064 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("commit prepared"),(yyvsp[0].str)); } -#line 48767 "preproc.c" +#line 48762 "preproc.c" break; case 1450: /* TransactionStmt: ROLLBACK PREPARED ecpg_sconst */ -#line 9073 "preproc.y" +#line 9068 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("rollback prepared"),(yyvsp[0].str)); } -#line 48775 "preproc.c" +#line 48770 "preproc.c" break; case 1451: /* TransactionStmtLegacy: BEGIN_P opt_transaction transaction_mode_list_or_empty */ -#line 9081 "preproc.y" +#line 9076 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("begin"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48783 "preproc.c" +#line 48778 "preproc.c" break; case 1452: /* TransactionStmtLegacy: END_P opt_transaction opt_transaction_chain */ -#line 9085 "preproc.y" +#line 9080 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("end"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48791 "preproc.c" +#line 48786 "preproc.c" break; case 1453: /* opt_transaction: WORK */ -#line 9093 "preproc.y" +#line 9088 "preproc.y" { (yyval.str) = mm_strdup("work"); } -#line 48799 "preproc.c" +#line 48794 "preproc.c" break; case 1454: /* opt_transaction: TRANSACTION */ -#line 9097 "preproc.y" +#line 9092 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } -#line 48807 "preproc.c" +#line 48802 "preproc.c" break; case 1455: /* opt_transaction: %empty */ -#line 9101 "preproc.y" +#line 9096 "preproc.y" { (yyval.str)=EMPTY; } -#line 48814 "preproc.c" +#line 48809 "preproc.c" break; case 1456: /* transaction_mode_item: ISOLATION LEVEL iso_level */ -#line 9108 "preproc.y" +#line 9103 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("isolation level"),(yyvsp[0].str)); } -#line 48822 "preproc.c" +#line 48817 "preproc.c" break; case 1457: /* transaction_mode_item: READ ONLY */ -#line 9112 "preproc.y" +#line 9107 "preproc.y" { (yyval.str) = mm_strdup("read only"); } -#line 48830 "preproc.c" +#line 48825 "preproc.c" break; case 1458: /* transaction_mode_item: READ WRITE */ -#line 9116 "preproc.y" +#line 9111 "preproc.y" { (yyval.str) = mm_strdup("read write"); } -#line 48838 "preproc.c" +#line 48833 "preproc.c" break; case 1459: /* transaction_mode_item: DEFERRABLE */ -#line 9120 "preproc.y" +#line 9115 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } -#line 48846 "preproc.c" +#line 48841 "preproc.c" break; case 1460: /* transaction_mode_item: NOT DEFERRABLE */ -#line 9124 "preproc.y" +#line 9119 "preproc.y" { (yyval.str) = mm_strdup("not deferrable"); } -#line 48854 "preproc.c" +#line 48849 "preproc.c" break; case 1461: /* transaction_mode_list: transaction_mode_item */ -#line 9132 "preproc.y" +#line 9127 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48862 "preproc.c" +#line 48857 "preproc.c" break; case 1462: /* transaction_mode_list: transaction_mode_list ',' transaction_mode_item */ -#line 9136 "preproc.y" +#line 9131 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 48870 "preproc.c" +#line 48865 "preproc.c" break; case 1463: /* transaction_mode_list: transaction_mode_list transaction_mode_item */ -#line 9140 "preproc.y" +#line 9135 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48878 "preproc.c" +#line 48873 "preproc.c" break; case 1464: /* transaction_mode_list_or_empty: transaction_mode_list */ -#line 9148 "preproc.y" +#line 9143 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 48886 "preproc.c" +#line 48881 "preproc.c" break; case 1465: /* transaction_mode_list_or_empty: %empty */ -#line 9152 "preproc.y" +#line 9147 "preproc.y" { (yyval.str)=EMPTY; } -#line 48893 "preproc.c" +#line 48888 "preproc.c" break; case 1466: /* opt_transaction_chain: AND CHAIN */ -#line 9159 "preproc.y" +#line 9154 "preproc.y" { (yyval.str) = mm_strdup("and chain"); } -#line 48901 "preproc.c" +#line 48896 "preproc.c" break; case 1467: /* opt_transaction_chain: AND NO CHAIN */ -#line 9163 "preproc.y" +#line 9158 "preproc.y" { (yyval.str) = mm_strdup("and no chain"); } -#line 48909 "preproc.c" +#line 48904 "preproc.c" break; case 1468: /* opt_transaction_chain: %empty */ -#line 9167 "preproc.y" +#line 9162 "preproc.y" { (yyval.str)=EMPTY; } -#line 48916 "preproc.c" +#line 48911 "preproc.c" break; case 1469: /* ViewStmt: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ -#line 9174 "preproc.y" +#line 9169 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create"),(yyvsp[-7].str),mm_strdup("view"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48924 "preproc.c" +#line 48919 "preproc.c" break; case 1470: /* ViewStmt: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option */ -#line 9178 "preproc.y" +#line 9173 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("create or replace"),(yyvsp[-7].str),mm_strdup("view"),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48932 "preproc.c" +#line 48927 "preproc.c" break; case 1471: /* ViewStmt: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ -#line 9182 "preproc.y" +#line 9177 "preproc.y" { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(11,mm_strdup("create"),(yyvsp[-10].str),mm_strdup("recursive view"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48941 "preproc.c" +#line 48935 "preproc.c" break; case 1472: /* ViewStmt: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option */ -#line 9187 "preproc.y" +#line 9181 "preproc.y" { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(11,mm_strdup("create or replace"),(yyvsp[-10].str),mm_strdup("recursive view"),(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(")"),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48950 "preproc.c" +#line 48943 "preproc.c" break; case 1473: /* opt_check_option: WITH CHECK OPTION */ -#line 9196 "preproc.y" +#line 9189 "preproc.y" { (yyval.str) = mm_strdup("with check option"); } -#line 48958 "preproc.c" +#line 48951 "preproc.c" break; case 1474: /* opt_check_option: WITH CASCADED CHECK OPTION */ -#line 9200 "preproc.y" +#line 9193 "preproc.y" { (yyval.str) = mm_strdup("with cascaded check option"); } -#line 48966 "preproc.c" +#line 48959 "preproc.c" break; case 1475: /* opt_check_option: WITH LOCAL CHECK OPTION */ -#line 9204 "preproc.y" +#line 9197 "preproc.y" { (yyval.str) = mm_strdup("with local check option"); } -#line 48974 "preproc.c" +#line 48967 "preproc.c" break; case 1476: /* opt_check_option: %empty */ -#line 9208 "preproc.y" +#line 9201 "preproc.y" { (yyval.str)=EMPTY; } -#line 48981 "preproc.c" +#line 48974 "preproc.c" break; case 1477: /* LoadStmt: LOAD file_name */ -#line 9215 "preproc.y" +#line 9208 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("load"),(yyvsp[0].str)); } -#line 48989 "preproc.c" +#line 48982 "preproc.c" break; case 1478: /* CreatedbStmt: CREATE DATABASE name opt_with createdb_opt_list */ -#line 9223 "preproc.y" +#line 9216 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("create database"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 48997 "preproc.c" +#line 48990 "preproc.c" break; case 1479: /* createdb_opt_list: createdb_opt_items */ -#line 9231 "preproc.y" +#line 9224 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49005 "preproc.c" +#line 48998 "preproc.c" break; case 1480: /* createdb_opt_list: %empty */ -#line 9235 "preproc.y" +#line 9228 "preproc.y" { (yyval.str)=EMPTY; } -#line 49012 "preproc.c" +#line 49005 "preproc.c" break; case 1481: /* createdb_opt_items: createdb_opt_item */ -#line 9242 "preproc.y" +#line 9235 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49020 "preproc.c" +#line 49013 "preproc.c" break; case 1482: /* createdb_opt_items: createdb_opt_items createdb_opt_item */ -#line 9246 "preproc.y" +#line 9239 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49028 "preproc.c" +#line 49021 "preproc.c" break; case 1483: /* createdb_opt_item: createdb_opt_name opt_equal NumericOnly */ -#line 9254 "preproc.y" +#line 9247 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49036 "preproc.c" +#line 49029 "preproc.c" break; case 1484: /* createdb_opt_item: createdb_opt_name opt_equal opt_boolean_or_string */ -#line 9258 "preproc.y" +#line 9251 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49044 "preproc.c" +#line 49037 "preproc.c" break; case 1485: /* createdb_opt_item: createdb_opt_name opt_equal DEFAULT */ -#line 9262 "preproc.y" +#line 9255 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("default")); } -#line 49052 "preproc.c" +#line 49045 "preproc.c" break; case 1486: /* createdb_opt_name: ecpg_ident */ -#line 9270 "preproc.y" +#line 9263 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49060 "preproc.c" +#line 49053 "preproc.c" break; case 1487: /* createdb_opt_name: CONNECTION LIMIT */ -#line 9274 "preproc.y" +#line 9267 "preproc.y" { (yyval.str) = mm_strdup("connection limit"); } -#line 49068 "preproc.c" +#line 49061 "preproc.c" break; case 1488: /* createdb_opt_name: ENCODING */ -#line 9278 "preproc.y" +#line 9271 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } -#line 49076 "preproc.c" +#line 49069 "preproc.c" break; case 1489: /* createdb_opt_name: LOCATION */ -#line 9282 "preproc.y" +#line 9275 "preproc.y" { (yyval.str) = mm_strdup("location"); } -#line 49084 "preproc.c" +#line 49077 "preproc.c" break; case 1490: /* createdb_opt_name: OWNER */ -#line 9286 "preproc.y" +#line 9279 "preproc.y" { (yyval.str) = mm_strdup("owner"); } -#line 49092 "preproc.c" +#line 49085 "preproc.c" break; case 1491: /* createdb_opt_name: TABLESPACE */ -#line 9290 "preproc.y" +#line 9283 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } -#line 49100 "preproc.c" +#line 49093 "preproc.c" break; case 1492: /* createdb_opt_name: TEMPLATE */ -#line 9294 "preproc.y" +#line 9287 "preproc.y" { (yyval.str) = mm_strdup("template"); } -#line 49108 "preproc.c" +#line 49101 "preproc.c" break; case 1493: /* opt_equal: '=' */ -#line 9302 "preproc.y" +#line 9295 "preproc.y" { (yyval.str) = mm_strdup("="); } -#line 49116 "preproc.c" +#line 49109 "preproc.c" break; case 1494: /* opt_equal: %empty */ -#line 9306 "preproc.y" +#line 9299 "preproc.y" { (yyval.str)=EMPTY; } -#line 49123 "preproc.c" +#line 49116 "preproc.c" break; case 1495: /* AlterDatabaseStmt: ALTER DATABASE name WITH createdb_opt_list */ -#line 9313 "preproc.y" +#line 9306 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-2].str),mm_strdup("with"),(yyvsp[0].str)); } -#line 49131 "preproc.c" +#line 49124 "preproc.c" break; case 1496: /* AlterDatabaseStmt: ALTER DATABASE name createdb_opt_list */ -#line 9317 "preproc.y" +#line 9310 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49139 "preproc.c" +#line 49132 "preproc.c" break; case 1497: /* AlterDatabaseStmt: ALTER DATABASE name SET TABLESPACE name */ -#line 9321 "preproc.y" +#line 9314 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("set tablespace"),(yyvsp[0].str)); } -#line 49147 "preproc.c" +#line 49140 "preproc.c" break; case 1498: /* AlterDatabaseStmt: ALTER DATABASE name REFRESH COLLATION VERSION_P */ -#line 9325 "preproc.y" +#line 9318 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-3].str),mm_strdup("refresh collation version")); } -#line 49155 "preproc.c" +#line 49148 "preproc.c" break; case 1499: /* AlterDatabaseSetStmt: ALTER DATABASE name SetResetClause */ -#line 9333 "preproc.y" +#line 9326 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter database"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49163 "preproc.c" +#line 49156 "preproc.c" break; case 1500: /* DropdbStmt: DROP DATABASE name */ -#line 9341 "preproc.y" +#line 9334 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop database"),(yyvsp[0].str)); } -#line 49171 "preproc.c" +#line 49164 "preproc.c" break; case 1501: /* DropdbStmt: DROP DATABASE IF_P EXISTS name */ -#line 9345 "preproc.y" +#line 9338 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("drop database if exists"),(yyvsp[0].str)); } -#line 49179 "preproc.c" +#line 49172 "preproc.c" break; case 1502: /* DropdbStmt: DROP DATABASE name opt_with '(' drop_option_list ')' */ -#line 9349 "preproc.y" +#line 9342 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("drop database"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 49187 "preproc.c" +#line 49180 "preproc.c" break; case 1503: /* DropdbStmt: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')' */ -#line 9353 "preproc.y" +#line 9346 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("drop database if exists"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 49195 "preproc.c" +#line 49188 "preproc.c" break; case 1504: /* drop_option_list: drop_option */ -#line 9361 "preproc.y" +#line 9354 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49203 "preproc.c" +#line 49196 "preproc.c" break; case 1505: /* drop_option_list: drop_option_list ',' drop_option */ -#line 9365 "preproc.y" +#line 9358 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 49211 "preproc.c" +#line 49204 "preproc.c" break; case 1506: /* drop_option: FORCE */ -#line 9373 "preproc.y" +#line 9366 "preproc.y" { (yyval.str) = mm_strdup("force"); } -#line 49219 "preproc.c" +#line 49212 "preproc.c" break; case 1507: /* AlterCollationStmt: ALTER COLLATION any_name REFRESH VERSION_P */ -#line 9381 "preproc.y" +#line 9374 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter collation"),(yyvsp[-2].str),mm_strdup("refresh version")); } -#line 49227 "preproc.c" +#line 49220 "preproc.c" break; case 1508: /* AlterSystemStmt: ALTER SYSTEM_P SET generic_set */ -#line 9389 "preproc.y" +#line 9382 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("alter system set"),(yyvsp[0].str)); } -#line 49235 "preproc.c" +#line 49228 "preproc.c" break; case 1509: /* AlterSystemStmt: ALTER SYSTEM_P RESET generic_reset */ -#line 9393 "preproc.y" +#line 9386 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("alter system reset"),(yyvsp[0].str)); } -#line 49243 "preproc.c" +#line 49236 "preproc.c" break; case 1510: /* CreateDomainStmt: CREATE DOMAIN_P any_name opt_as Typename ColQualList */ -#line 9401 "preproc.y" +#line 9394 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("create domain"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49251 "preproc.c" +#line 49244 "preproc.c" break; case 1511: /* AlterDomainStmt: ALTER DOMAIN_P any_name alter_column_default */ -#line 9409 "preproc.y" +#line 9402 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49259 "preproc.c" +#line 49252 "preproc.c" break; case 1512: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP NOT NULL_P */ -#line 9413 "preproc.y" +#line 9406 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("drop not null")); } -#line 49267 "preproc.c" +#line 49260 "preproc.c" break; case 1513: /* AlterDomainStmt: ALTER DOMAIN_P any_name SET NOT NULL_P */ -#line 9417 "preproc.y" +#line 9410 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("set not null")); } -#line 49275 "preproc.c" +#line 49268 "preproc.c" break; case 1514: /* AlterDomainStmt: ALTER DOMAIN_P any_name ADD_P TableConstraint */ -#line 9421 "preproc.y" +#line 9414 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-2].str),mm_strdup("add"),(yyvsp[0].str)); } -#line 49283 "preproc.c" +#line 49276 "preproc.c" break; case 1515: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior */ -#line 9425 "preproc.y" +#line 9418 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter domain"),(yyvsp[-4].str),mm_strdup("drop constraint"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49291 "preproc.c" +#line 49284 "preproc.c" break; case 1516: /* AlterDomainStmt: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior */ -#line 9429 "preproc.y" +#line 9422 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("alter domain"),(yyvsp[-6].str),mm_strdup("drop constraint if exists"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49299 "preproc.c" +#line 49292 "preproc.c" break; case 1517: /* AlterDomainStmt: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name */ -#line 9433 "preproc.y" +#line 9426 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter domain"),(yyvsp[-3].str),mm_strdup("validate constraint"),(yyvsp[0].str)); } -#line 49307 "preproc.c" +#line 49300 "preproc.c" break; case 1518: /* opt_as: AS */ -#line 9441 "preproc.y" +#line 9434 "preproc.y" { (yyval.str) = mm_strdup("as"); } -#line 49315 "preproc.c" +#line 49308 "preproc.c" break; case 1519: /* opt_as: %empty */ -#line 9445 "preproc.y" +#line 9438 "preproc.y" { (yyval.str)=EMPTY; } -#line 49322 "preproc.c" +#line 49315 "preproc.c" break; case 1520: /* AlterTSDictionaryStmt: ALTER TEXT_P SEARCH DICTIONARY any_name definition */ -#line 9452 "preproc.y" +#line 9445 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("alter text search dictionary"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49330 "preproc.c" +#line 49323 "preproc.c" break; case 1521: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list */ -#line 9460 "preproc.y" +#line 9453 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("add mapping for"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49338 "preproc.c" +#line 49331 "preproc.c" break; case 1522: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list */ -#line 9464 "preproc.y" +#line 9457 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("alter mapping for"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49346 "preproc.c" +#line 49339 "preproc.c" break; case 1523: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name */ -#line 9468 "preproc.y" +#line 9461 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("alter mapping replace"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49354 "preproc.c" +#line 49347 "preproc.c" break; case 1524: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name */ -#line 9472 "preproc.y" +#line 9465 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("alter text search configuration"),(yyvsp[-8].str),mm_strdup("alter mapping for"),(yyvsp[-4].str),mm_strdup("replace"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49362 "preproc.c" +#line 49355 "preproc.c" break; case 1525: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list */ -#line 9476 "preproc.y" +#line 9469 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-4].str),mm_strdup("drop mapping for"),(yyvsp[0].str)); } -#line 49370 "preproc.c" +#line 49363 "preproc.c" break; case 1526: /* AlterTSConfigurationStmt: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list */ -#line 9480 "preproc.y" +#line 9473 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("alter text search configuration"),(yyvsp[-6].str),mm_strdup("drop mapping if exists for"),(yyvsp[0].str)); } -#line 49378 "preproc.c" +#line 49371 "preproc.c" break; case 1527: /* any_with: WITH */ -#line 9488 "preproc.y" +#line 9481 "preproc.y" { (yyval.str) = mm_strdup("with"); } -#line 49386 "preproc.c" +#line 49379 "preproc.c" break; case 1528: /* any_with: WITH_LA */ -#line 9492 "preproc.y" +#line 9485 "preproc.y" { (yyval.str) = mm_strdup("with"); } -#line 49394 "preproc.c" +#line 49387 "preproc.c" break; case 1529: /* CreateConversionStmt: CREATE opt_default CONVERSION_P any_name FOR ecpg_sconst TO ecpg_sconst FROM any_name */ -#line 9500 "preproc.y" +#line 9493 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("create"),(yyvsp[-8].str),mm_strdup("conversion"),(yyvsp[-6].str),mm_strdup("for"),(yyvsp[-4].str),mm_strdup("to"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 49402 "preproc.c" +#line 49395 "preproc.c" break; case 1530: /* ClusterStmt: CLUSTER opt_verbose qualified_name cluster_index_specification */ -#line 9508 "preproc.y" +#line 9501 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("cluster"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49410 "preproc.c" +#line 49403 "preproc.c" break; case 1531: /* ClusterStmt: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification */ -#line 9512 "preproc.y" +#line 9505 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cluster ("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49418 "preproc.c" +#line 49411 "preproc.c" break; case 1532: /* ClusterStmt: CLUSTER opt_verbose */ -#line 9516 "preproc.y" +#line 9509 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("cluster"),(yyvsp[0].str)); } -#line 49426 "preproc.c" +#line 49419 "preproc.c" break; case 1533: /* ClusterStmt: CLUSTER opt_verbose name ON qualified_name */ -#line 9520 "preproc.y" +#line 9513 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cluster"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("on"),(yyvsp[0].str)); } -#line 49434 "preproc.c" +#line 49427 "preproc.c" break; case 1534: /* cluster_index_specification: USING name */ -#line 9528 "preproc.y" +#line 9521 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } -#line 49442 "preproc.c" +#line 49435 "preproc.c" break; case 1535: /* cluster_index_specification: %empty */ -#line 9532 "preproc.y" +#line 9525 "preproc.y" { (yyval.str)=EMPTY; } -#line 49449 "preproc.c" +#line 49442 "preproc.c" break; case 1536: /* VacuumStmt: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list */ -#line 9539 "preproc.y" +#line 9532 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("vacuum"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49457 "preproc.c" +#line 49450 "preproc.c" break; case 1537: /* VacuumStmt: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list */ -#line 9543 "preproc.y" +#line 9536 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("vacuum ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 49465 "preproc.c" +#line 49458 "preproc.c" break; case 1538: /* AnalyzeStmt: analyze_keyword opt_verbose opt_vacuum_relation_list */ -#line 9551 "preproc.y" +#line 9544 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49473 "preproc.c" +#line 49466 "preproc.c" break; case 1539: /* AnalyzeStmt: analyze_keyword '(' utility_option_list ')' opt_vacuum_relation_list */ -#line 9555 "preproc.y" +#line 9548 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 49481 "preproc.c" +#line 49474 "preproc.c" break; case 1540: /* utility_option_list: utility_option_elem */ -#line 9563 "preproc.y" +#line 9556 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49489 "preproc.c" +#line 49482 "preproc.c" break; case 1541: /* utility_option_list: utility_option_list ',' utility_option_elem */ -#line 9567 "preproc.y" +#line 9560 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 49497 "preproc.c" +#line 49490 "preproc.c" break; case 1542: /* analyze_keyword: ANALYZE */ -#line 9575 "preproc.y" +#line 9568 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } -#line 49505 "preproc.c" +#line 49498 "preproc.c" break; case 1543: /* analyze_keyword: ANALYSE */ -#line 9579 "preproc.y" +#line 9572 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } -#line 49513 "preproc.c" +#line 49506 "preproc.c" break; case 1544: /* utility_option_elem: utility_option_name utility_option_arg */ -#line 9587 "preproc.y" +#line 9580 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49521 "preproc.c" +#line 49514 "preproc.c" break; case 1545: /* utility_option_name: NonReservedWord */ -#line 9595 "preproc.y" +#line 9588 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49529 "preproc.c" +#line 49522 "preproc.c" break; case 1546: /* utility_option_name: analyze_keyword */ -#line 9599 "preproc.y" +#line 9592 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49537 "preproc.c" +#line 49530 "preproc.c" break; case 1547: /* utility_option_arg: opt_boolean_or_string */ -#line 9607 "preproc.y" +#line 9600 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49545 "preproc.c" +#line 49538 "preproc.c" break; case 1548: /* utility_option_arg: NumericOnly */ -#line 9611 "preproc.y" +#line 9604 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49553 "preproc.c" +#line 49546 "preproc.c" break; case 1549: /* utility_option_arg: %empty */ -#line 9615 "preproc.y" +#line 9608 "preproc.y" { (yyval.str)=EMPTY; } -#line 49560 "preproc.c" +#line 49553 "preproc.c" break; case 1550: /* opt_analyze: analyze_keyword */ -#line 9622 "preproc.y" +#line 9615 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49568 "preproc.c" +#line 49561 "preproc.c" break; case 1551: /* opt_analyze: %empty */ -#line 9626 "preproc.y" +#line 9619 "preproc.y" { (yyval.str)=EMPTY; } -#line 49575 "preproc.c" +#line 49568 "preproc.c" break; case 1552: /* opt_verbose: VERBOSE */ -#line 9633 "preproc.y" +#line 9626 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } -#line 49583 "preproc.c" +#line 49576 "preproc.c" break; case 1553: /* opt_verbose: %empty */ -#line 9637 "preproc.y" +#line 9630 "preproc.y" { (yyval.str)=EMPTY; } -#line 49590 "preproc.c" +#line 49583 "preproc.c" break; case 1554: /* opt_full: FULL */ -#line 9644 "preproc.y" +#line 9637 "preproc.y" { (yyval.str) = mm_strdup("full"); } -#line 49598 "preproc.c" +#line 49591 "preproc.c" break; case 1555: /* opt_full: %empty */ -#line 9648 "preproc.y" +#line 9641 "preproc.y" { (yyval.str)=EMPTY; } -#line 49605 "preproc.c" +#line 49598 "preproc.c" break; case 1556: /* opt_freeze: FREEZE */ -#line 9655 "preproc.y" +#line 9648 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } -#line 49613 "preproc.c" +#line 49606 "preproc.c" break; case 1557: /* opt_freeze: %empty */ -#line 9659 "preproc.y" +#line 9652 "preproc.y" { (yyval.str)=EMPTY; } -#line 49620 "preproc.c" +#line 49613 "preproc.c" break; case 1558: /* opt_name_list: '(' name_list ')' */ -#line 9666 "preproc.y" +#line 9659 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 49628 "preproc.c" +#line 49621 "preproc.c" break; case 1559: /* opt_name_list: %empty */ -#line 9670 "preproc.y" +#line 9663 "preproc.y" { (yyval.str)=EMPTY; } -#line 49635 "preproc.c" +#line 49628 "preproc.c" break; case 1560: /* vacuum_relation: qualified_name opt_name_list */ -#line 9677 "preproc.y" +#line 9670 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49643 "preproc.c" +#line 49636 "preproc.c" break; case 1561: /* vacuum_relation_list: vacuum_relation */ -#line 9685 "preproc.y" +#line 9678 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49651 "preproc.c" +#line 49644 "preproc.c" break; case 1562: /* vacuum_relation_list: vacuum_relation_list ',' vacuum_relation */ -#line 9689 "preproc.y" +#line 9682 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 49659 "preproc.c" +#line 49652 "preproc.c" break; case 1563: /* opt_vacuum_relation_list: vacuum_relation_list */ -#line 9697 "preproc.y" +#line 9690 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49667 "preproc.c" +#line 49660 "preproc.c" break; case 1564: /* opt_vacuum_relation_list: %empty */ -#line 9701 "preproc.y" +#line 9694 "preproc.y" { (yyval.str)=EMPTY; } -#line 49674 "preproc.c" +#line 49667 "preproc.c" break; case 1565: /* ExplainStmt: EXPLAIN ExplainableStmt */ -#line 9708 "preproc.y" +#line 9701 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("explain"),(yyvsp[0].str)); } -#line 49682 "preproc.c" +#line 49675 "preproc.c" break; case 1566: /* ExplainStmt: EXPLAIN analyze_keyword opt_verbose ExplainableStmt */ -#line 9712 "preproc.y" +#line 9705 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("explain"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49690 "preproc.c" +#line 49683 "preproc.c" break; case 1567: /* ExplainStmt: EXPLAIN VERBOSE ExplainableStmt */ -#line 9716 "preproc.y" +#line 9709 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("explain verbose"),(yyvsp[0].str)); } -#line 49698 "preproc.c" +#line 49691 "preproc.c" break; case 1568: /* ExplainStmt: EXPLAIN '(' utility_option_list ')' ExplainableStmt */ -#line 9720 "preproc.y" +#line 9713 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("explain ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 49706 "preproc.c" +#line 49699 "preproc.c" break; case 1569: /* ExplainableStmt: SelectStmt */ -#line 9728 "preproc.y" +#line 9721 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49714 "preproc.c" +#line 49707 "preproc.c" break; case 1570: /* ExplainableStmt: InsertStmt */ -#line 9732 "preproc.y" +#line 9725 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49722 "preproc.c" +#line 49715 "preproc.c" break; case 1571: /* ExplainableStmt: UpdateStmt */ -#line 9736 "preproc.y" +#line 9729 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49730 "preproc.c" +#line 49723 "preproc.c" break; case 1572: /* ExplainableStmt: DeleteStmt */ -#line 9740 "preproc.y" +#line 9733 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49738 "preproc.c" +#line 49731 "preproc.c" break; case 1573: /* ExplainableStmt: MergeStmt */ -#line 9744 "preproc.y" +#line 9737 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49746 "preproc.c" +#line 49739 "preproc.c" break; case 1574: /* ExplainableStmt: DeclareCursorStmt */ -#line 9748 "preproc.y" +#line 9741 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49754 "preproc.c" +#line 49747 "preproc.c" break; case 1575: /* ExplainableStmt: CreateAsStmt */ -#line 9752 "preproc.y" +#line 9745 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49762 "preproc.c" +#line 49755 "preproc.c" break; case 1576: /* ExplainableStmt: CreateMatViewStmt */ -#line 9756 "preproc.y" +#line 9749 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49770 "preproc.c" +#line 49763 "preproc.c" break; case 1577: /* ExplainableStmt: RefreshMatViewStmt */ -#line 9760 "preproc.y" +#line 9753 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49778 "preproc.c" +#line 49771 "preproc.c" break; case 1578: /* ExplainableStmt: ExecuteStmt */ -#line 9764 "preproc.y" +#line 9757 "preproc.y" { (yyval.str) = (yyvsp[0].exec).name; } -#line 49786 "preproc.c" +#line 49779 "preproc.c" break; case 1579: /* PrepareStmt: PREPARE prepared_name prep_type_clause AS PreparableStmt */ -#line 9772 "preproc.y" +#line 9765 "preproc.y" { (yyval.prep).name = (yyvsp[-3].str); (yyval.prep).type = (yyvsp[-2].str); (yyval.prep).stmt = (yyvsp[0].str); } -#line 49796 "preproc.c" +#line 49789 "preproc.c" break; case 1580: /* PrepareStmt: PREPARE prepared_name FROM execstring */ -#line 9778 "preproc.y" +#line 9771 "preproc.y" { (yyval.prep).name = (yyvsp[-2].str); (yyval.prep).type = NULL; (yyval.prep).stmt = (yyvsp[0].str); } -#line 49806 "preproc.c" +#line 49799 "preproc.c" break; case 1581: /* prep_type_clause: '(' type_list ')' */ -#line 9788 "preproc.y" +#line 9781 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 49814 "preproc.c" +#line 49807 "preproc.c" break; case 1582: /* prep_type_clause: %empty */ -#line 9792 "preproc.y" +#line 9785 "preproc.y" { (yyval.str)=EMPTY; } -#line 49821 "preproc.c" +#line 49814 "preproc.c" break; case 1583: /* PreparableStmt: SelectStmt */ -#line 9799 "preproc.y" +#line 9792 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49829 "preproc.c" +#line 49822 "preproc.c" break; case 1584: /* PreparableStmt: InsertStmt */ -#line 9803 "preproc.y" +#line 9796 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49837 "preproc.c" +#line 49830 "preproc.c" break; case 1585: /* PreparableStmt: UpdateStmt */ -#line 9807 "preproc.y" +#line 9800 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49845 "preproc.c" +#line 49838 "preproc.c" break; case 1586: /* PreparableStmt: DeleteStmt */ -#line 9811 "preproc.y" +#line 9804 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49853 "preproc.c" +#line 49846 "preproc.c" break; case 1587: /* PreparableStmt: MergeStmt */ -#line 9815 "preproc.y" +#line 9808 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49861 "preproc.c" +#line 49854 "preproc.c" break; case 1588: /* ExecuteStmt: EXECUTE prepared_name execute_param_clause execute_rest */ -#line 9823 "preproc.y" +#line 9816 "preproc.y" { (yyval.exec).name = (yyvsp[-2].str); (yyval.exec).type = (yyvsp[-1].str); } -#line 49870 "preproc.c" +#line 49863 "preproc.c" break; case 1589: /* ExecuteStmt: CREATE OptTemp TABLE create_as_target AS EXECUTE prepared_name execute_param_clause opt_with_data execute_rest */ -#line 9828 "preproc.y" +#line 9821 "preproc.y" { (yyval.exec).name = cat_str(8,mm_strdup("create"),(yyvsp[-8].str),mm_strdup("table"),(yyvsp[-6].str),mm_strdup("as execute"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str)); } -#line 49878 "preproc.c" +#line 49871 "preproc.c" break; case 1590: /* ExecuteStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE prepared_name execute_param_clause opt_with_data execute_rest */ -#line 9832 "preproc.y" +#line 9825 "preproc.y" { (yyval.exec).name = cat_str(8,mm_strdup("create"),(yyvsp[-11].str),mm_strdup("table if not exists"),(yyvsp[-6].str),mm_strdup("as execute"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str)); } -#line 49886 "preproc.c" +#line 49879 "preproc.c" break; case 1591: /* execute_param_clause: '(' expr_list ')' */ -#line 9840 "preproc.y" +#line 9833 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 49894 "preproc.c" +#line 49887 "preproc.c" break; case 1592: /* execute_param_clause: %empty */ -#line 9844 "preproc.y" +#line 9837 "preproc.y" { (yyval.str)=EMPTY; } -#line 49901 "preproc.c" +#line 49894 "preproc.c" break; case 1593: /* InsertStmt: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause */ -#line 9851 "preproc.y" +#line 9844 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-6].str),mm_strdup("insert into"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 49909 "preproc.c" +#line 49902 "preproc.c" break; case 1594: /* insert_target: qualified_name */ -#line 9859 "preproc.y" +#line 9852 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49917 "preproc.c" +#line 49910 "preproc.c" break; case 1595: /* insert_target: qualified_name AS ColId */ -#line 9863 "preproc.y" +#line 9856 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } -#line 49925 "preproc.c" +#line 49918 "preproc.c" break; case 1596: /* insert_rest: SelectStmt */ -#line 9871 "preproc.y" +#line 9864 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49933 "preproc.c" +#line 49926 "preproc.c" break; case 1597: /* insert_rest: OVERRIDING override_kind VALUE_P SelectStmt */ -#line 9875 "preproc.y" +#line 9868 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } -#line 49941 "preproc.c" +#line 49934 "preproc.c" break; case 1598: /* insert_rest: '(' insert_column_list ')' SelectStmt */ -#line 9879 "preproc.y" +#line 9872 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 49949 "preproc.c" +#line 49942 "preproc.c" break; case 1599: /* insert_rest: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt */ -#line 9883 "preproc.y" +#line 9876 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("("),(yyvsp[-5].str),mm_strdup(") overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } -#line 49957 "preproc.c" +#line 49950 "preproc.c" break; case 1600: /* insert_rest: DEFAULT VALUES */ -#line 9887 "preproc.y" +#line 9880 "preproc.y" { (yyval.str) = mm_strdup("default values"); } -#line 49965 "preproc.c" +#line 49958 "preproc.c" break; case 1601: /* override_kind: USER */ -#line 9895 "preproc.y" +#line 9888 "preproc.y" { (yyval.str) = mm_strdup("user"); } -#line 49973 "preproc.c" +#line 49966 "preproc.c" break; case 1602: /* override_kind: SYSTEM_P */ -#line 9899 "preproc.y" +#line 9892 "preproc.y" { (yyval.str) = mm_strdup("system"); } -#line 49981 "preproc.c" +#line 49974 "preproc.c" break; case 1603: /* insert_column_list: insert_column_item */ -#line 9907 "preproc.y" +#line 9900 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 49989 "preproc.c" +#line 49982 "preproc.c" break; case 1604: /* insert_column_list: insert_column_list ',' insert_column_item */ -#line 9911 "preproc.y" +#line 9904 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 49997 "preproc.c" +#line 49990 "preproc.c" break; case 1605: /* insert_column_item: ColId opt_indirection */ -#line 9919 "preproc.y" +#line 9912 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50005 "preproc.c" +#line 49998 "preproc.c" break; case 1606: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause */ -#line 9927 "preproc.y" +#line 9920 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("on conflict"),(yyvsp[-5].str),mm_strdup("do update set"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50013 "preproc.c" +#line 50006 "preproc.c" break; case 1607: /* opt_on_conflict: ON CONFLICT opt_conf_expr DO NOTHING */ -#line 9931 "preproc.y" +#line 9924 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("on conflict"),(yyvsp[-2].str),mm_strdup("do nothing")); } -#line 50021 "preproc.c" +#line 50014 "preproc.c" break; case 1608: /* opt_on_conflict: %empty */ -#line 9935 "preproc.y" +#line 9928 "preproc.y" { (yyval.str)=EMPTY; } -#line 50028 "preproc.c" +#line 50021 "preproc.c" break; case 1609: /* opt_conf_expr: '(' index_params ')' where_clause */ -#line 9942 "preproc.y" +#line 9935 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 50036 "preproc.c" +#line 50029 "preproc.c" break; case 1610: /* opt_conf_expr: ON CONSTRAINT name */ -#line 9946 "preproc.y" +#line 9939 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on constraint"),(yyvsp[0].str)); } -#line 50044 "preproc.c" +#line 50037 "preproc.c" break; case 1611: /* opt_conf_expr: %empty */ -#line 9950 "preproc.y" +#line 9943 "preproc.y" { (yyval.str)=EMPTY; } -#line 50051 "preproc.c" +#line 50044 "preproc.c" break; case 1612: /* returning_clause: RETURNING target_list opt_ecpg_into */ -#line 9957 "preproc.y" +#line 9950 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("returning"),(yyvsp[-1].str)); } -#line 50059 "preproc.c" +#line 50052 "preproc.c" break; case 1613: /* returning_clause: %empty */ -#line 9961 "preproc.y" +#line 9954 "preproc.y" { (yyval.str)=EMPTY; } -#line 50066 "preproc.c" +#line 50059 "preproc.c" break; case 1614: /* DeleteStmt: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause */ -#line 9968 "preproc.y" +#line 9961 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-6].str),mm_strdup("delete from"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50074 "preproc.c" +#line 50067 "preproc.c" break; case 1615: /* using_clause: USING from_list */ -#line 9976 "preproc.y" +#line 9969 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("using"),(yyvsp[0].str)); } -#line 50082 "preproc.c" +#line 50075 "preproc.c" break; case 1616: /* using_clause: %empty */ -#line 9980 "preproc.y" +#line 9973 "preproc.y" { (yyval.str)=EMPTY; } -#line 50089 "preproc.c" +#line 50082 "preproc.c" break; case 1617: /* LockStmt: LOCK_P opt_table relation_expr_list opt_lock opt_nowait */ -#line 9987 "preproc.y" +#line 9980 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("lock"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50097 "preproc.c" +#line 50090 "preproc.c" break; case 1618: /* opt_lock: IN_P lock_type MODE */ -#line 9995 "preproc.y" +#line 9988 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("in"),(yyvsp[-1].str),mm_strdup("mode")); } -#line 50105 "preproc.c" +#line 50098 "preproc.c" break; case 1619: /* opt_lock: %empty */ -#line 9999 "preproc.y" +#line 9992 "preproc.y" { (yyval.str)=EMPTY; } -#line 50112 "preproc.c" +#line 50105 "preproc.c" break; case 1620: /* lock_type: ACCESS SHARE */ -#line 10006 "preproc.y" +#line 9999 "preproc.y" { (yyval.str) = mm_strdup("access share"); } -#line 50120 "preproc.c" +#line 50113 "preproc.c" break; case 1621: /* lock_type: ROW SHARE */ -#line 10010 "preproc.y" +#line 10003 "preproc.y" { (yyval.str) = mm_strdup("row share"); } -#line 50128 "preproc.c" +#line 50121 "preproc.c" break; case 1622: /* lock_type: ROW EXCLUSIVE */ -#line 10014 "preproc.y" +#line 10007 "preproc.y" { (yyval.str) = mm_strdup("row exclusive"); } -#line 50136 "preproc.c" +#line 50129 "preproc.c" break; case 1623: /* lock_type: SHARE UPDATE EXCLUSIVE */ -#line 10018 "preproc.y" +#line 10011 "preproc.y" { (yyval.str) = mm_strdup("share update exclusive"); } -#line 50144 "preproc.c" +#line 50137 "preproc.c" break; case 1624: /* lock_type: SHARE */ -#line 10022 "preproc.y" +#line 10015 "preproc.y" { (yyval.str) = mm_strdup("share"); } -#line 50152 "preproc.c" +#line 50145 "preproc.c" break; case 1625: /* lock_type: SHARE ROW EXCLUSIVE */ -#line 10026 "preproc.y" +#line 10019 "preproc.y" { (yyval.str) = mm_strdup("share row exclusive"); } -#line 50160 "preproc.c" +#line 50153 "preproc.c" break; case 1626: /* lock_type: EXCLUSIVE */ -#line 10030 "preproc.y" +#line 10023 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } -#line 50168 "preproc.c" +#line 50161 "preproc.c" break; case 1627: /* lock_type: ACCESS EXCLUSIVE */ -#line 10034 "preproc.y" +#line 10027 "preproc.y" { (yyval.str) = mm_strdup("access exclusive"); } -#line 50176 "preproc.c" +#line 50169 "preproc.c" break; case 1628: /* opt_nowait: NOWAIT */ -#line 10042 "preproc.y" +#line 10035 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } -#line 50184 "preproc.c" +#line 50177 "preproc.c" break; case 1629: /* opt_nowait: %empty */ -#line 10046 "preproc.y" +#line 10039 "preproc.y" { (yyval.str)=EMPTY; } -#line 50191 "preproc.c" +#line 50184 "preproc.c" break; case 1630: /* opt_nowait_or_skip: NOWAIT */ -#line 10053 "preproc.y" +#line 10046 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } -#line 50199 "preproc.c" +#line 50192 "preproc.c" break; case 1631: /* opt_nowait_or_skip: SKIP LOCKED */ -#line 10057 "preproc.y" +#line 10050 "preproc.y" { (yyval.str) = mm_strdup("skip locked"); } -#line 50207 "preproc.c" +#line 50200 "preproc.c" break; case 1632: /* opt_nowait_or_skip: %empty */ -#line 10061 "preproc.y" +#line 10054 "preproc.y" { (yyval.str)=EMPTY; } -#line 50214 "preproc.c" +#line 50207 "preproc.c" break; case 1633: /* UpdateStmt: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause */ -#line 10068 "preproc.y" +#line 10061 "preproc.y" { (yyval.str) = cat_str(8,(yyvsp[-7].str),mm_strdup("update"),(yyvsp[-5].str),mm_strdup("set"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50222 "preproc.c" +#line 50215 "preproc.c" break; case 1634: /* set_clause_list: set_clause */ -#line 10076 "preproc.y" +#line 10069 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50230 "preproc.c" +#line 50223 "preproc.c" break; case 1635: /* set_clause_list: set_clause_list ',' set_clause */ -#line 10080 "preproc.y" +#line 10073 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 50238 "preproc.c" +#line 50231 "preproc.c" break; case 1636: /* set_clause: set_target '=' a_expr */ -#line 10088 "preproc.y" +#line 10081 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 50246 "preproc.c" +#line 50239 "preproc.c" break; case 1637: /* set_clause: '(' set_target_list ')' '=' a_expr */ -#line 10092 "preproc.y" +#line 10085 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-3].str),mm_strdup(") ="),(yyvsp[0].str)); } -#line 50254 "preproc.c" +#line 50247 "preproc.c" break; case 1638: /* set_target: ColId opt_indirection */ -#line 10100 "preproc.y" +#line 10093 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50262 "preproc.c" +#line 50255 "preproc.c" break; case 1639: /* set_target_list: set_target */ -#line 10108 "preproc.y" +#line 10101 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50270 "preproc.c" +#line 50263 "preproc.c" break; case 1640: /* set_target_list: set_target_list ',' set_target */ -#line 10112 "preproc.y" +#line 10105 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 50278 "preproc.c" +#line 50271 "preproc.c" break; case 1641: /* MergeStmt: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list */ -#line 10120 "preproc.y" +#line 10113 "preproc.y" { (yyval.str) = cat_str(8,(yyvsp[-8].str),mm_strdup("merge into"),(yyvsp[-5].str),mm_strdup("using"),(yyvsp[-3].str),mm_strdup("on"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50286 "preproc.c" +#line 50279 "preproc.c" break; case 1642: /* merge_when_list: merge_when_clause */ -#line 10128 "preproc.y" +#line 10121 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50294 "preproc.c" +#line 50287 "preproc.c" break; case 1643: /* merge_when_list: merge_when_list merge_when_clause */ -#line 10132 "preproc.y" +#line 10125 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50302 "preproc.c" +#line 50295 "preproc.c" break; case 1644: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_update */ -#line 10140 "preproc.y" +#line 10133 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } -#line 50310 "preproc.c" +#line 50303 "preproc.c" break; case 1645: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN merge_delete */ -#line 10144 "preproc.y" +#line 10137 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } -#line 50318 "preproc.c" +#line 50311 "preproc.c" break; case 1646: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN merge_insert */ -#line 10148 "preproc.y" +#line 10141 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when not matched"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } -#line 50326 "preproc.c" +#line 50319 "preproc.c" break; case 1647: /* merge_when_clause: WHEN MATCHED opt_merge_when_condition THEN DO NOTHING */ -#line 10152 "preproc.y" +#line 10145 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when matched"),(yyvsp[-3].str),mm_strdup("then do nothing")); } -#line 50334 "preproc.c" +#line 50327 "preproc.c" break; case 1648: /* merge_when_clause: WHEN NOT MATCHED opt_merge_when_condition THEN DO NOTHING */ -#line 10156 "preproc.y" +#line 10149 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("when not matched"),(yyvsp[-3].str),mm_strdup("then do nothing")); } -#line 50342 "preproc.c" +#line 50335 "preproc.c" break; case 1649: /* opt_merge_when_condition: AND a_expr */ -#line 10164 "preproc.y" +#line 10157 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("and"),(yyvsp[0].str)); } -#line 50350 "preproc.c" +#line 50343 "preproc.c" break; case 1650: /* opt_merge_when_condition: %empty */ -#line 10168 "preproc.y" +#line 10161 "preproc.y" { (yyval.str)=EMPTY; } -#line 50357 "preproc.c" +#line 50350 "preproc.c" break; case 1651: /* merge_update: UPDATE SET set_clause_list */ -#line 10175 "preproc.y" +#line 10168 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("update set"),(yyvsp[0].str)); } -#line 50365 "preproc.c" +#line 50358 "preproc.c" break; case 1652: /* merge_delete: DELETE_P */ -#line 10183 "preproc.y" +#line 10176 "preproc.y" { (yyval.str) = mm_strdup("delete"); } -#line 50373 "preproc.c" +#line 50366 "preproc.c" break; case 1653: /* merge_insert: INSERT merge_values_clause */ -#line 10191 "preproc.y" +#line 10184 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("insert"),(yyvsp[0].str)); } -#line 50381 "preproc.c" +#line 50374 "preproc.c" break; case 1654: /* merge_insert: INSERT OVERRIDING override_kind VALUE_P merge_values_clause */ -#line 10195 "preproc.y" +#line 10188 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("insert overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } -#line 50389 "preproc.c" +#line 50382 "preproc.c" break; case 1655: /* merge_insert: INSERT '(' insert_column_list ')' merge_values_clause */ -#line 10199 "preproc.y" +#line 10192 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("insert ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 50397 "preproc.c" +#line 50390 "preproc.c" break; case 1656: /* merge_insert: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause */ -#line 10203 "preproc.y" +#line 10196 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("insert ("),(yyvsp[-5].str),mm_strdup(") overriding"),(yyvsp[-2].str),mm_strdup("value"),(yyvsp[0].str)); } -#line 50405 "preproc.c" +#line 50398 "preproc.c" break; case 1657: /* merge_insert: INSERT DEFAULT VALUES */ -#line 10207 "preproc.y" +#line 10200 "preproc.y" { (yyval.str) = mm_strdup("insert default values"); } -#line 50413 "preproc.c" +#line 50406 "preproc.c" break; case 1658: /* merge_values_clause: VALUES '(' expr_list ')' */ -#line 10215 "preproc.y" +#line 10208 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("values ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 50421 "preproc.c" +#line 50414 "preproc.c" break; case 1659: /* DeclareCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt */ -#line 10223 "preproc.y" +#line 10216 "preproc.y" { struct cursor *ptr, *this; char *cursor_marker = (yyvsp[-5].str)[0] == ':' ? mm_strdup("$0") : mm_strdup((yyvsp[-5].str)); @@ -50468,19 +50461,19 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat2_str(adjust_outofscope_cursor_vars(this), comment); } -#line 50472 "preproc.c" +#line 50465 "preproc.c" break; case 1660: /* cursor_name: name */ -#line 10274 "preproc.y" +#line 10267 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50480 "preproc.c" +#line 50473 "preproc.c" break; case 1661: /* cursor_name: char_civar */ -#line 10278 "preproc.y" +#line 10271 "preproc.y" { char *curname = mm_alloc(strlen((yyvsp[0].str)) + 2); sprintf(curname, ":%s", (yyvsp[0].str)); @@ -50488,1807 +50481,1807 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyvsp[0].str) = curname; (yyval.str) = (yyvsp[0].str); } -#line 50492 "preproc.c" +#line 50485 "preproc.c" break; case 1662: /* cursor_options: %empty */ -#line 10290 "preproc.y" +#line 10283 "preproc.y" { (yyval.str)=EMPTY; } -#line 50499 "preproc.c" +#line 50492 "preproc.c" break; case 1663: /* cursor_options: cursor_options NO SCROLL */ -#line 10293 "preproc.y" +#line 10286 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("no scroll")); } -#line 50507 "preproc.c" +#line 50500 "preproc.c" break; case 1664: /* cursor_options: cursor_options SCROLL */ -#line 10297 "preproc.y" +#line 10290 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("scroll")); } -#line 50515 "preproc.c" +#line 50508 "preproc.c" break; case 1665: /* cursor_options: cursor_options BINARY */ -#line 10301 "preproc.y" +#line 10294 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("binary")); } -#line 50523 "preproc.c" +#line 50516 "preproc.c" break; case 1666: /* cursor_options: cursor_options ASENSITIVE */ -#line 10305 "preproc.y" +#line 10298 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("asensitive")); } -#line 50531 "preproc.c" +#line 50524 "preproc.c" break; case 1667: /* cursor_options: cursor_options INSENSITIVE */ -#line 10309 "preproc.y" +#line 10302 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("insensitive")); } -#line 50539 "preproc.c" +#line 50532 "preproc.c" break; case 1668: /* opt_hold: %empty */ -#line 10317 "preproc.y" +#line 10310 "preproc.y" { if (compat == ECPG_COMPAT_INFORMIX_SE && autocommit) (yyval.str) = mm_strdup("with hold"); else (yyval.str) = EMPTY; } -#line 50550 "preproc.c" +#line 50543 "preproc.c" break; case 1669: /* opt_hold: WITH HOLD */ -#line 10324 "preproc.y" +#line 10317 "preproc.y" { (yyval.str) = mm_strdup("with hold"); } -#line 50558 "preproc.c" +#line 50551 "preproc.c" break; case 1670: /* opt_hold: WITHOUT HOLD */ -#line 10328 "preproc.y" +#line 10321 "preproc.y" { (yyval.str) = mm_strdup("without hold"); } -#line 50566 "preproc.c" +#line 50559 "preproc.c" break; case 1671: /* SelectStmt: select_no_parens */ -#line 10336 "preproc.y" +#line 10329 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50574 "preproc.c" +#line 50567 "preproc.c" break; case 1672: /* SelectStmt: select_with_parens */ -#line 10340 "preproc.y" +#line 10333 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50582 "preproc.c" +#line 50575 "preproc.c" break; case 1673: /* select_with_parens: '(' select_no_parens ')' */ -#line 10348 "preproc.y" +#line 10341 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 50590 "preproc.c" +#line 50583 "preproc.c" break; case 1674: /* select_with_parens: '(' select_with_parens ')' */ -#line 10352 "preproc.y" +#line 10345 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 50598 "preproc.c" +#line 50591 "preproc.c" break; case 1675: /* select_no_parens: simple_select */ -#line 10360 "preproc.y" +#line 10353 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50606 "preproc.c" +#line 50599 "preproc.c" break; case 1676: /* select_no_parens: select_clause sort_clause */ -#line 10364 "preproc.y" +#line 10357 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50614 "preproc.c" +#line 50607 "preproc.c" break; case 1677: /* select_no_parens: select_clause opt_sort_clause for_locking_clause opt_select_limit */ -#line 10368 "preproc.y" +#line 10361 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50622 "preproc.c" +#line 50615 "preproc.c" break; case 1678: /* select_no_parens: select_clause opt_sort_clause select_limit opt_for_locking_clause */ -#line 10372 "preproc.y" +#line 10365 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50630 "preproc.c" +#line 50623 "preproc.c" break; case 1679: /* select_no_parens: with_clause select_clause */ -#line 10376 "preproc.y" +#line 10369 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50638 "preproc.c" +#line 50631 "preproc.c" break; case 1680: /* select_no_parens: with_clause select_clause sort_clause */ -#line 10380 "preproc.y" +#line 10373 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50646 "preproc.c" +#line 50639 "preproc.c" break; case 1681: /* select_no_parens: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit */ -#line 10384 "preproc.y" +#line 10377 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50654 "preproc.c" +#line 50647 "preproc.c" break; case 1682: /* select_no_parens: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause */ -#line 10388 "preproc.y" +#line 10381 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50662 "preproc.c" +#line 50655 "preproc.c" break; case 1683: /* select_clause: simple_select */ -#line 10396 "preproc.y" +#line 10389 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50670 "preproc.c" +#line 50663 "preproc.c" break; case 1684: /* select_clause: select_with_parens */ -#line 10400 "preproc.y" +#line 10393 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50678 "preproc.c" +#line 50671 "preproc.c" break; case 1685: /* simple_select: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause */ -#line 10408 "preproc.y" +#line 10401 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("select"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50686 "preproc.c" +#line 50679 "preproc.c" break; case 1686: /* simple_select: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause */ -#line 10412 "preproc.y" +#line 10405 "preproc.y" { (yyval.str) = cat_str(9,mm_strdup("select"),(yyvsp[-7].str),(yyvsp[-6].str),(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50694 "preproc.c" +#line 50687 "preproc.c" break; case 1687: /* simple_select: values_clause */ -#line 10416 "preproc.y" +#line 10409 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50702 "preproc.c" +#line 50695 "preproc.c" break; case 1688: /* simple_select: TABLE relation_expr */ -#line 10420 "preproc.y" +#line 10413 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } -#line 50710 "preproc.c" +#line 50703 "preproc.c" break; case 1689: /* simple_select: select_clause UNION set_quantifier select_clause */ -#line 10424 "preproc.y" +#line 10417 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("union"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50718 "preproc.c" +#line 50711 "preproc.c" break; case 1690: /* simple_select: select_clause INTERSECT set_quantifier select_clause */ -#line 10428 "preproc.y" +#line 10421 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("intersect"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50726 "preproc.c" +#line 50719 "preproc.c" break; case 1691: /* simple_select: select_clause EXCEPT set_quantifier select_clause */ -#line 10432 "preproc.y" +#line 10425 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("except"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50734 "preproc.c" +#line 50727 "preproc.c" break; case 1692: /* with_clause: WITH cte_list */ -#line 10440 "preproc.y" +#line 10433 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } -#line 50742 "preproc.c" +#line 50735 "preproc.c" break; case 1693: /* with_clause: WITH_LA cte_list */ -#line 10444 "preproc.y" +#line 10437 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with"),(yyvsp[0].str)); } -#line 50750 "preproc.c" +#line 50743 "preproc.c" break; case 1694: /* with_clause: WITH RECURSIVE cte_list */ -#line 10448 "preproc.y" +#line 10441 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("with recursive"),(yyvsp[0].str)); } -#line 50758 "preproc.c" +#line 50751 "preproc.c" break; case 1695: /* cte_list: common_table_expr */ -#line 10456 "preproc.y" +#line 10449 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50766 "preproc.c" +#line 50759 "preproc.c" break; case 1696: /* cte_list: cte_list ',' common_table_expr */ -#line 10460 "preproc.y" +#line 10453 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 50774 "preproc.c" +#line 50767 "preproc.c" break; case 1697: /* common_table_expr: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause */ -#line 10468 "preproc.y" +#line 10461 "preproc.y" { (yyval.str) = cat_str(9,(yyvsp[-8].str),(yyvsp[-7].str),mm_strdup("as"),(yyvsp[-5].str),mm_strdup("("),(yyvsp[-3].str),mm_strdup(")"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50782 "preproc.c" +#line 50775 "preproc.c" break; case 1698: /* opt_materialized: MATERIALIZED */ -#line 10476 "preproc.y" +#line 10469 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } -#line 50790 "preproc.c" +#line 50783 "preproc.c" break; case 1699: /* opt_materialized: NOT MATERIALIZED */ -#line 10480 "preproc.y" +#line 10473 "preproc.y" { (yyval.str) = mm_strdup("not materialized"); } -#line 50798 "preproc.c" +#line 50791 "preproc.c" break; case 1700: /* opt_materialized: %empty */ -#line 10484 "preproc.y" +#line 10477 "preproc.y" { (yyval.str)=EMPTY; } -#line 50805 "preproc.c" +#line 50798 "preproc.c" break; case 1701: /* opt_search_clause: SEARCH DEPTH FIRST_P BY columnList SET ColId */ -#line 10491 "preproc.y" +#line 10484 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("search depth first by"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 50813 "preproc.c" +#line 50806 "preproc.c" break; case 1702: /* opt_search_clause: SEARCH BREADTH FIRST_P BY columnList SET ColId */ -#line 10495 "preproc.y" +#line 10488 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("search breadth first by"),(yyvsp[-2].str),mm_strdup("set"),(yyvsp[0].str)); } -#line 50821 "preproc.c" +#line 50814 "preproc.c" break; case 1703: /* opt_search_clause: %empty */ -#line 10499 "preproc.y" +#line 10492 "preproc.y" { (yyval.str)=EMPTY; } -#line 50828 "preproc.c" +#line 50821 "preproc.c" break; case 1704: /* opt_cycle_clause: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId */ -#line 10506 "preproc.y" +#line 10499 "preproc.y" { (yyval.str) = cat_str(10,mm_strdup("cycle"),(yyvsp[-8].str),mm_strdup("set"),(yyvsp[-6].str),mm_strdup("to"),(yyvsp[-4].str),mm_strdup("default"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } -#line 50836 "preproc.c" +#line 50829 "preproc.c" break; case 1705: /* opt_cycle_clause: CYCLE columnList SET ColId USING ColId */ -#line 10510 "preproc.y" +#line 10503 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("cycle"),(yyvsp[-4].str),mm_strdup("set"),(yyvsp[-2].str),mm_strdup("using"),(yyvsp[0].str)); } -#line 50844 "preproc.c" +#line 50837 "preproc.c" break; case 1706: /* opt_cycle_clause: %empty */ -#line 10514 "preproc.y" +#line 10507 "preproc.y" { (yyval.str)=EMPTY; } -#line 50851 "preproc.c" +#line 50844 "preproc.c" break; case 1707: /* opt_with_clause: with_clause */ -#line 10521 "preproc.y" +#line 10514 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50859 "preproc.c" +#line 50852 "preproc.c" break; case 1708: /* opt_with_clause: %empty */ -#line 10525 "preproc.y" +#line 10518 "preproc.y" { (yyval.str)=EMPTY; } -#line 50866 "preproc.c" +#line 50859 "preproc.c" break; case 1709: /* into_clause: INTO OptTempTableName */ -#line 10532 "preproc.y" +#line 10525 "preproc.y" { FoundInto = 1; (yyval.str)= cat2_str(mm_strdup("into"), (yyvsp[0].str)); } -#line 50875 "preproc.c" +#line 50868 "preproc.c" break; case 1710: /* into_clause: ecpg_into */ -#line 10536 "preproc.y" +#line 10529 "preproc.y" { (yyval.str) = EMPTY; } -#line 50881 "preproc.c" +#line 50874 "preproc.c" break; case 1711: /* into_clause: %empty */ -#line 10538 "preproc.y" +#line 10531 "preproc.y" { (yyval.str)=EMPTY; } -#line 50888 "preproc.c" +#line 50881 "preproc.c" break; case 1712: /* OptTempTableName: TEMPORARY opt_table qualified_name */ -#line 10545 "preproc.y" +#line 10538 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50896 "preproc.c" +#line 50889 "preproc.c" break; case 1713: /* OptTempTableName: TEMP opt_table qualified_name */ -#line 10549 "preproc.y" +#line 10542 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("temp"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50904 "preproc.c" +#line 50897 "preproc.c" break; case 1714: /* OptTempTableName: LOCAL TEMPORARY opt_table qualified_name */ -#line 10553 "preproc.y" +#line 10546 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("local temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50912 "preproc.c" +#line 50905 "preproc.c" break; case 1715: /* OptTempTableName: LOCAL TEMP opt_table qualified_name */ -#line 10557 "preproc.y" +#line 10550 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("local temp"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50920 "preproc.c" +#line 50913 "preproc.c" break; case 1716: /* OptTempTableName: GLOBAL TEMPORARY opt_table qualified_name */ -#line 10561 "preproc.y" +#line 10554 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("global temporary"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50928 "preproc.c" +#line 50921 "preproc.c" break; case 1717: /* OptTempTableName: GLOBAL TEMP opt_table qualified_name */ -#line 10565 "preproc.y" +#line 10558 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("global temp"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50936 "preproc.c" +#line 50929 "preproc.c" break; case 1718: /* OptTempTableName: UNLOGGED opt_table qualified_name */ -#line 10569 "preproc.y" +#line 10562 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("unlogged"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 50944 "preproc.c" +#line 50937 "preproc.c" break; case 1719: /* OptTempTableName: TABLE qualified_name */ -#line 10573 "preproc.y" +#line 10566 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("table"),(yyvsp[0].str)); } -#line 50952 "preproc.c" +#line 50945 "preproc.c" break; case 1720: /* OptTempTableName: qualified_name */ -#line 10577 "preproc.y" +#line 10570 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 50960 "preproc.c" +#line 50953 "preproc.c" break; case 1721: /* opt_table: TABLE */ -#line 10585 "preproc.y" +#line 10578 "preproc.y" { (yyval.str) = mm_strdup("table"); } -#line 50968 "preproc.c" +#line 50961 "preproc.c" break; case 1722: /* opt_table: %empty */ -#line 10589 "preproc.y" +#line 10582 "preproc.y" { (yyval.str)=EMPTY; } -#line 50975 "preproc.c" +#line 50968 "preproc.c" break; case 1723: /* set_quantifier: ALL */ -#line 10596 "preproc.y" +#line 10589 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 50983 "preproc.c" +#line 50976 "preproc.c" break; case 1724: /* set_quantifier: DISTINCT */ -#line 10600 "preproc.y" +#line 10593 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } -#line 50991 "preproc.c" +#line 50984 "preproc.c" break; case 1725: /* set_quantifier: %empty */ -#line 10604 "preproc.y" +#line 10597 "preproc.y" { (yyval.str)=EMPTY; } -#line 50998 "preproc.c" +#line 50991 "preproc.c" break; case 1726: /* distinct_clause: DISTINCT */ -#line 10611 "preproc.y" +#line 10604 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } -#line 51006 "preproc.c" +#line 50999 "preproc.c" break; case 1727: /* distinct_clause: DISTINCT ON '(' expr_list ')' */ -#line 10615 "preproc.y" +#line 10608 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("distinct on ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51014 "preproc.c" +#line 51007 "preproc.c" break; case 1728: /* opt_all_clause: ALL */ -#line 10623 "preproc.y" +#line 10616 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 51022 "preproc.c" +#line 51015 "preproc.c" break; case 1729: /* opt_all_clause: %empty */ -#line 10627 "preproc.y" +#line 10620 "preproc.y" { (yyval.str)=EMPTY; } -#line 51029 "preproc.c" +#line 51022 "preproc.c" break; case 1730: /* opt_sort_clause: sort_clause */ -#line 10634 "preproc.y" +#line 10627 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51037 "preproc.c" +#line 51030 "preproc.c" break; case 1731: /* opt_sort_clause: %empty */ -#line 10638 "preproc.y" +#line 10631 "preproc.y" { (yyval.str)=EMPTY; } -#line 51044 "preproc.c" +#line 51037 "preproc.c" break; case 1732: /* sort_clause: ORDER BY sortby_list */ -#line 10645 "preproc.y" +#line 10638 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("order by"),(yyvsp[0].str)); } -#line 51052 "preproc.c" +#line 51045 "preproc.c" break; case 1733: /* sortby_list: sortby */ -#line 10653 "preproc.y" +#line 10646 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51060 "preproc.c" +#line 51053 "preproc.c" break; case 1734: /* sortby_list: sortby_list ',' sortby */ -#line 10657 "preproc.y" +#line 10650 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 51068 "preproc.c" +#line 51061 "preproc.c" break; case 1735: /* sortby: a_expr USING qual_all_Op opt_nulls_order */ -#line 10665 "preproc.y" +#line 10658 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("using"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51076 "preproc.c" +#line 51069 "preproc.c" break; case 1736: /* sortby: a_expr opt_asc_desc opt_nulls_order */ -#line 10669 "preproc.y" +#line 10662 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51084 "preproc.c" +#line 51077 "preproc.c" break; case 1737: /* select_limit: limit_clause offset_clause */ -#line 10677 "preproc.y" +#line 10670 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51092 "preproc.c" +#line 51085 "preproc.c" break; case 1738: /* select_limit: offset_clause limit_clause */ -#line 10681 "preproc.y" +#line 10674 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51100 "preproc.c" +#line 51093 "preproc.c" break; case 1739: /* select_limit: limit_clause */ -#line 10685 "preproc.y" +#line 10678 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51108 "preproc.c" +#line 51101 "preproc.c" break; case 1740: /* select_limit: offset_clause */ -#line 10689 "preproc.y" +#line 10682 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51116 "preproc.c" +#line 51109 "preproc.c" break; case 1741: /* opt_select_limit: select_limit */ -#line 10697 "preproc.y" +#line 10690 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51124 "preproc.c" +#line 51117 "preproc.c" break; case 1742: /* opt_select_limit: %empty */ -#line 10701 "preproc.y" +#line 10694 "preproc.y" { (yyval.str)=EMPTY; } -#line 51131 "preproc.c" +#line 51124 "preproc.c" break; case 1743: /* limit_clause: LIMIT select_limit_value */ -#line 10708 "preproc.y" +#line 10701 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("limit"),(yyvsp[0].str)); } -#line 51139 "preproc.c" +#line 51132 "preproc.c" break; case 1744: /* limit_clause: LIMIT select_limit_value ',' select_offset_value */ -#line 10712 "preproc.y" +#line 10705 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "no longer supported LIMIT #,# syntax passed to server"); (yyval.str) = cat_str(4, mm_strdup("limit"), (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } -#line 51148 "preproc.c" +#line 51141 "preproc.c" break; case 1745: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows ONLY */ -#line 10717 "preproc.y" +#line 10710 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("fetch"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("only")); } -#line 51156 "preproc.c" +#line 51149 "preproc.c" break; case 1746: /* limit_clause: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES */ -#line 10721 "preproc.y" +#line 10714 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("fetch"),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("with ties")); } -#line 51164 "preproc.c" +#line 51157 "preproc.c" break; case 1747: /* limit_clause: FETCH first_or_next row_or_rows ONLY */ -#line 10725 "preproc.y" +#line 10718 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("fetch"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("only")); } -#line 51172 "preproc.c" +#line 51165 "preproc.c" break; case 1748: /* limit_clause: FETCH first_or_next row_or_rows WITH TIES */ -#line 10729 "preproc.y" +#line 10722 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("fetch"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("with ties")); } -#line 51180 "preproc.c" +#line 51173 "preproc.c" break; case 1749: /* offset_clause: OFFSET select_offset_value */ -#line 10737 "preproc.y" +#line 10730 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("offset"),(yyvsp[0].str)); } -#line 51188 "preproc.c" +#line 51181 "preproc.c" break; case 1750: /* offset_clause: OFFSET select_fetch_first_value row_or_rows */ -#line 10741 "preproc.y" +#line 10734 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("offset"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51196 "preproc.c" +#line 51189 "preproc.c" break; case 1751: /* select_limit_value: a_expr */ -#line 10749 "preproc.y" +#line 10742 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51204 "preproc.c" +#line 51197 "preproc.c" break; case 1752: /* select_limit_value: ALL */ -#line 10753 "preproc.y" +#line 10746 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 51212 "preproc.c" +#line 51205 "preproc.c" break; case 1753: /* select_offset_value: a_expr */ -#line 10761 "preproc.y" +#line 10754 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51220 "preproc.c" +#line 51213 "preproc.c" break; case 1754: /* select_fetch_first_value: c_expr */ -#line 10769 "preproc.y" +#line 10762 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51228 "preproc.c" +#line 51221 "preproc.c" break; case 1755: /* select_fetch_first_value: '+' I_or_F_const */ -#line 10773 "preproc.y" +#line 10766 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } -#line 51236 "preproc.c" +#line 51229 "preproc.c" break; case 1756: /* select_fetch_first_value: '-' I_or_F_const */ -#line 10777 "preproc.y" +#line 10770 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } -#line 51244 "preproc.c" +#line 51237 "preproc.c" break; case 1757: /* I_or_F_const: Iconst */ -#line 10785 "preproc.y" +#line 10778 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51252 "preproc.c" +#line 51245 "preproc.c" break; case 1758: /* I_or_F_const: ecpg_fconst */ -#line 10789 "preproc.y" +#line 10782 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51260 "preproc.c" +#line 51253 "preproc.c" break; case 1759: /* row_or_rows: ROW */ -#line 10797 "preproc.y" +#line 10790 "preproc.y" { (yyval.str) = mm_strdup("row"); } -#line 51268 "preproc.c" +#line 51261 "preproc.c" break; case 1760: /* row_or_rows: ROWS */ -#line 10801 "preproc.y" +#line 10794 "preproc.y" { (yyval.str) = mm_strdup("rows"); } -#line 51276 "preproc.c" +#line 51269 "preproc.c" break; case 1761: /* first_or_next: FIRST_P */ -#line 10809 "preproc.y" +#line 10802 "preproc.y" { (yyval.str) = mm_strdup("first"); } -#line 51284 "preproc.c" +#line 51277 "preproc.c" break; case 1762: /* first_or_next: NEXT */ -#line 10813 "preproc.y" +#line 10806 "preproc.y" { (yyval.str) = mm_strdup("next"); } -#line 51292 "preproc.c" +#line 51285 "preproc.c" break; case 1763: /* group_clause: GROUP_P BY set_quantifier group_by_list */ -#line 10821 "preproc.y" +#line 10814 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("group by"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51300 "preproc.c" +#line 51293 "preproc.c" break; case 1764: /* group_clause: %empty */ -#line 10825 "preproc.y" +#line 10818 "preproc.y" { (yyval.str)=EMPTY; } -#line 51307 "preproc.c" +#line 51300 "preproc.c" break; case 1765: /* group_by_list: group_by_item */ -#line 10832 "preproc.y" +#line 10825 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51315 "preproc.c" +#line 51308 "preproc.c" break; case 1766: /* group_by_list: group_by_list ',' group_by_item */ -#line 10836 "preproc.y" +#line 10829 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 51323 "preproc.c" +#line 51316 "preproc.c" break; case 1767: /* group_by_item: a_expr */ -#line 10844 "preproc.y" +#line 10837 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51331 "preproc.c" +#line 51324 "preproc.c" break; case 1768: /* group_by_item: empty_grouping_set */ -#line 10848 "preproc.y" +#line 10841 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51339 "preproc.c" +#line 51332 "preproc.c" break; case 1769: /* group_by_item: cube_clause */ -#line 10852 "preproc.y" +#line 10845 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51347 "preproc.c" +#line 51340 "preproc.c" break; case 1770: /* group_by_item: rollup_clause */ -#line 10856 "preproc.y" +#line 10849 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51355 "preproc.c" +#line 51348 "preproc.c" break; case 1771: /* group_by_item: grouping_sets_clause */ -#line 10860 "preproc.y" +#line 10853 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51363 "preproc.c" +#line 51356 "preproc.c" break; case 1772: /* empty_grouping_set: '(' ')' */ -#line 10868 "preproc.y" +#line 10861 "preproc.y" { (yyval.str) = mm_strdup("( )"); } -#line 51371 "preproc.c" +#line 51364 "preproc.c" break; case 1773: /* rollup_clause: ROLLUP '(' expr_list ')' */ -#line 10876 "preproc.y" +#line 10869 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rollup ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51379 "preproc.c" +#line 51372 "preproc.c" break; case 1774: /* cube_clause: CUBE '(' expr_list ')' */ -#line 10884 "preproc.y" +#line 10877 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("cube ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51387 "preproc.c" +#line 51380 "preproc.c" break; case 1775: /* grouping_sets_clause: GROUPING SETS '(' group_by_list ')' */ -#line 10892 "preproc.y" +#line 10885 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("grouping sets ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51395 "preproc.c" +#line 51388 "preproc.c" break; case 1776: /* having_clause: HAVING a_expr */ -#line 10900 "preproc.y" +#line 10893 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("having"),(yyvsp[0].str)); } -#line 51403 "preproc.c" +#line 51396 "preproc.c" break; case 1777: /* having_clause: %empty */ -#line 10904 "preproc.y" +#line 10897 "preproc.y" { (yyval.str)=EMPTY; } -#line 51410 "preproc.c" +#line 51403 "preproc.c" break; case 1778: /* for_locking_clause: for_locking_items */ -#line 10911 "preproc.y" +#line 10904 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51418 "preproc.c" +#line 51411 "preproc.c" break; case 1779: /* for_locking_clause: FOR READ ONLY */ -#line 10915 "preproc.y" +#line 10908 "preproc.y" { (yyval.str) = mm_strdup("for read only"); } -#line 51426 "preproc.c" +#line 51419 "preproc.c" break; case 1780: /* opt_for_locking_clause: for_locking_clause */ -#line 10923 "preproc.y" +#line 10916 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51434 "preproc.c" +#line 51427 "preproc.c" break; case 1781: /* opt_for_locking_clause: %empty */ -#line 10927 "preproc.y" +#line 10920 "preproc.y" { (yyval.str)=EMPTY; } -#line 51441 "preproc.c" +#line 51434 "preproc.c" break; case 1782: /* for_locking_items: for_locking_item */ -#line 10934 "preproc.y" +#line 10927 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51449 "preproc.c" +#line 51442 "preproc.c" break; case 1783: /* for_locking_items: for_locking_items for_locking_item */ -#line 10938 "preproc.y" +#line 10931 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51457 "preproc.c" +#line 51450 "preproc.c" break; case 1784: /* for_locking_item: for_locking_strength locked_rels_list opt_nowait_or_skip */ -#line 10946 "preproc.y" +#line 10939 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51465 "preproc.c" +#line 51458 "preproc.c" break; case 1785: /* for_locking_strength: FOR UPDATE */ -#line 10954 "preproc.y" +#line 10947 "preproc.y" { (yyval.str) = mm_strdup("for update"); } -#line 51473 "preproc.c" +#line 51466 "preproc.c" break; case 1786: /* for_locking_strength: FOR NO KEY UPDATE */ -#line 10958 "preproc.y" +#line 10951 "preproc.y" { (yyval.str) = mm_strdup("for no key update"); } -#line 51481 "preproc.c" +#line 51474 "preproc.c" break; case 1787: /* for_locking_strength: FOR SHARE */ -#line 10962 "preproc.y" +#line 10955 "preproc.y" { (yyval.str) = mm_strdup("for share"); } -#line 51489 "preproc.c" +#line 51482 "preproc.c" break; case 1788: /* for_locking_strength: FOR KEY SHARE */ -#line 10966 "preproc.y" +#line 10959 "preproc.y" { (yyval.str) = mm_strdup("for key share"); } -#line 51497 "preproc.c" +#line 51490 "preproc.c" break; case 1789: /* locked_rels_list: OF qualified_name_list */ -#line 10974 "preproc.y" +#line 10967 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("of"),(yyvsp[0].str)); } -#line 51505 "preproc.c" +#line 51498 "preproc.c" break; case 1790: /* locked_rels_list: %empty */ -#line 10978 "preproc.y" +#line 10971 "preproc.y" { (yyval.str)=EMPTY; } -#line 51512 "preproc.c" +#line 51505 "preproc.c" break; case 1791: /* values_clause: VALUES '(' expr_list ')' */ -#line 10985 "preproc.y" +#line 10978 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("values ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51520 "preproc.c" +#line 51513 "preproc.c" break; case 1792: /* values_clause: values_clause ',' '(' expr_list ')' */ -#line 10989 "preproc.y" +#line 10982 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup(", ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51528 "preproc.c" +#line 51521 "preproc.c" break; case 1793: /* from_clause: FROM from_list */ -#line 10997 "preproc.y" +#line 10990 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } -#line 51536 "preproc.c" +#line 51529 "preproc.c" break; case 1794: /* from_clause: %empty */ -#line 11001 "preproc.y" +#line 10994 "preproc.y" { (yyval.str)=EMPTY; } -#line 51543 "preproc.c" +#line 51536 "preproc.c" break; case 1795: /* from_list: table_ref */ -#line 11008 "preproc.y" +#line 11001 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51551 "preproc.c" +#line 51544 "preproc.c" break; case 1796: /* from_list: from_list ',' table_ref */ -#line 11012 "preproc.y" +#line 11005 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 51559 "preproc.c" +#line 51552 "preproc.c" break; case 1797: /* table_ref: relation_expr opt_alias_clause */ -#line 11020 "preproc.y" +#line 11013 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51567 "preproc.c" +#line 51560 "preproc.c" break; case 1798: /* table_ref: relation_expr opt_alias_clause tablesample_clause */ -#line 11024 "preproc.y" +#line 11017 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51575 "preproc.c" +#line 51568 "preproc.c" break; case 1799: /* table_ref: func_table func_alias_clause */ -#line 11028 "preproc.y" +#line 11021 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51583 "preproc.c" +#line 51576 "preproc.c" break; case 1800: /* table_ref: LATERAL_P func_table func_alias_clause */ -#line 11032 "preproc.y" +#line 11025 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51591 "preproc.c" +#line 51584 "preproc.c" break; case 1801: /* table_ref: xmltable opt_alias_clause */ -#line 11036 "preproc.y" +#line 11029 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51599 "preproc.c" +#line 51592 "preproc.c" break; case 1802: /* table_ref: LATERAL_P xmltable opt_alias_clause */ -#line 11040 "preproc.y" +#line 11033 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51607 "preproc.c" +#line 51600 "preproc.c" break; case 1803: /* table_ref: select_with_parens opt_alias_clause */ -#line 11044 "preproc.y" +#line 11037 "preproc.y" { if ((yyvsp[0].str) == NULL) mmerror(PARSE_ERROR, ET_ERROR, "subquery in FROM must have an alias"); (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51618 "preproc.c" +#line 51611 "preproc.c" break; case 1804: /* table_ref: LATERAL_P select_with_parens opt_alias_clause */ -#line 11051 "preproc.y" +#line 11044 "preproc.y" { if ((yyvsp[0].str) == NULL) mmerror(PARSE_ERROR, ET_ERROR, "subquery in FROM must have an alias"); (yyval.str) = cat_str(3,mm_strdup("lateral"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51629 "preproc.c" +#line 51622 "preproc.c" break; case 1805: /* table_ref: joined_table */ -#line 11058 "preproc.y" +#line 11051 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51637 "preproc.c" +#line 51630 "preproc.c" break; case 1806: /* table_ref: '(' joined_table ')' alias_clause */ -#line 11062 "preproc.y" +#line 11055 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 51645 "preproc.c" +#line 51638 "preproc.c" break; case 1807: /* joined_table: '(' joined_table ')' */ -#line 11070 "preproc.y" +#line 11063 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51653 "preproc.c" +#line 51646 "preproc.c" break; case 1808: /* joined_table: table_ref CROSS JOIN table_ref */ -#line 11074 "preproc.y" +#line 11067 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("cross join"),(yyvsp[0].str)); } -#line 51661 "preproc.c" +#line 51654 "preproc.c" break; case 1809: /* joined_table: table_ref join_type JOIN table_ref join_qual */ -#line 11078 "preproc.y" +#line 11071 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("join"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51669 "preproc.c" +#line 51662 "preproc.c" break; case 1810: /* joined_table: table_ref JOIN table_ref join_qual */ -#line 11082 "preproc.y" +#line 11075 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("join"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51677 "preproc.c" +#line 51670 "preproc.c" break; case 1811: /* joined_table: table_ref NATURAL join_type JOIN table_ref */ -#line 11086 "preproc.y" +#line 11079 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("natural"),(yyvsp[-2].str),mm_strdup("join"),(yyvsp[0].str)); } -#line 51685 "preproc.c" +#line 51678 "preproc.c" break; case 1812: /* joined_table: table_ref NATURAL JOIN table_ref */ -#line 11090 "preproc.y" +#line 11083 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("natural join"),(yyvsp[0].str)); } -#line 51693 "preproc.c" +#line 51686 "preproc.c" break; case 1813: /* alias_clause: AS ColId '(' name_list ')' */ -#line 11098 "preproc.y" +#line 11091 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("as"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51701 "preproc.c" +#line 51694 "preproc.c" break; case 1814: /* alias_clause: AS ColId */ -#line 11102 "preproc.y" +#line 11095 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } -#line 51709 "preproc.c" +#line 51702 "preproc.c" break; case 1815: /* alias_clause: ColId '(' name_list ')' */ -#line 11106 "preproc.y" +#line 11099 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51717 "preproc.c" +#line 51710 "preproc.c" break; case 1816: /* alias_clause: ColId */ -#line 11110 "preproc.y" +#line 11103 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51725 "preproc.c" +#line 51718 "preproc.c" break; case 1817: /* opt_alias_clause: alias_clause */ -#line 11118 "preproc.y" +#line 11111 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51733 "preproc.c" +#line 51726 "preproc.c" break; case 1818: /* opt_alias_clause: %empty */ -#line 11122 "preproc.y" +#line 11115 "preproc.y" { (yyval.str)=EMPTY; } -#line 51740 "preproc.c" +#line 51733 "preproc.c" break; case 1819: /* opt_alias_clause_for_join_using: AS ColId */ -#line 11129 "preproc.y" +#line 11122 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("as"),(yyvsp[0].str)); } -#line 51748 "preproc.c" +#line 51741 "preproc.c" break; case 1820: /* opt_alias_clause_for_join_using: %empty */ -#line 11133 "preproc.y" +#line 11126 "preproc.y" { (yyval.str)=EMPTY; } -#line 51755 "preproc.c" +#line 51748 "preproc.c" break; case 1821: /* func_alias_clause: alias_clause */ -#line 11140 "preproc.y" +#line 11133 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51763 "preproc.c" +#line 51756 "preproc.c" break; case 1822: /* func_alias_clause: AS '(' TableFuncElementList ')' */ -#line 11144 "preproc.y" +#line 11137 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51771 "preproc.c" +#line 51764 "preproc.c" break; case 1823: /* func_alias_clause: AS ColId '(' TableFuncElementList ')' */ -#line 11148 "preproc.y" +#line 11141 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("as"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51779 "preproc.c" +#line 51772 "preproc.c" break; case 1824: /* func_alias_clause: ColId '(' TableFuncElementList ')' */ -#line 11152 "preproc.y" +#line 11145 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51787 "preproc.c" +#line 51780 "preproc.c" break; case 1825: /* func_alias_clause: %empty */ -#line 11156 "preproc.y" +#line 11149 "preproc.y" { (yyval.str)=EMPTY; } -#line 51794 "preproc.c" +#line 51787 "preproc.c" break; case 1826: /* join_type: FULL opt_outer */ -#line 11163 "preproc.y" +#line 11156 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("full"),(yyvsp[0].str)); } -#line 51802 "preproc.c" +#line 51795 "preproc.c" break; case 1827: /* join_type: LEFT opt_outer */ -#line 11167 "preproc.y" +#line 11160 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("left"),(yyvsp[0].str)); } -#line 51810 "preproc.c" +#line 51803 "preproc.c" break; case 1828: /* join_type: RIGHT opt_outer */ -#line 11171 "preproc.y" +#line 11164 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("right"),(yyvsp[0].str)); } -#line 51818 "preproc.c" +#line 51811 "preproc.c" break; case 1829: /* join_type: INNER_P */ -#line 11175 "preproc.y" +#line 11168 "preproc.y" { (yyval.str) = mm_strdup("inner"); } -#line 51826 "preproc.c" +#line 51819 "preproc.c" break; case 1830: /* opt_outer: OUTER_P */ -#line 11183 "preproc.y" +#line 11176 "preproc.y" { (yyval.str) = mm_strdup("outer"); } -#line 51834 "preproc.c" +#line 51827 "preproc.c" break; case 1831: /* opt_outer: %empty */ -#line 11187 "preproc.y" +#line 11180 "preproc.y" { (yyval.str)=EMPTY; } -#line 51841 "preproc.c" +#line 51834 "preproc.c" break; case 1832: /* join_qual: USING '(' name_list ')' opt_alias_clause_for_join_using */ -#line 11194 "preproc.y" +#line 11187 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("using ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 51849 "preproc.c" +#line 51842 "preproc.c" break; case 1833: /* join_qual: ON a_expr */ -#line 11198 "preproc.y" +#line 11191 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("on"),(yyvsp[0].str)); } -#line 51857 "preproc.c" +#line 51850 "preproc.c" break; case 1834: /* relation_expr: qualified_name */ -#line 11206 "preproc.y" +#line 11199 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51865 "preproc.c" +#line 51858 "preproc.c" break; case 1835: /* relation_expr: extended_relation_expr */ -#line 11210 "preproc.y" +#line 11203 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51873 "preproc.c" +#line 51866 "preproc.c" break; case 1836: /* extended_relation_expr: qualified_name '*' */ -#line 11218 "preproc.y" +#line 11211 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("*")); } -#line 51881 "preproc.c" +#line 51874 "preproc.c" break; case 1837: /* extended_relation_expr: ONLY qualified_name */ -#line 11222 "preproc.y" +#line 11215 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("only"),(yyvsp[0].str)); } -#line 51889 "preproc.c" +#line 51882 "preproc.c" break; case 1838: /* extended_relation_expr: ONLY '(' qualified_name ')' */ -#line 11226 "preproc.y" +#line 11219 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("only ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51897 "preproc.c" +#line 51890 "preproc.c" break; case 1839: /* relation_expr_list: relation_expr */ -#line 11234 "preproc.y" +#line 11227 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51905 "preproc.c" +#line 51898 "preproc.c" break; case 1840: /* relation_expr_list: relation_expr_list ',' relation_expr */ -#line 11238 "preproc.y" +#line 11231 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 51913 "preproc.c" +#line 51906 "preproc.c" break; case 1841: /* relation_expr_opt_alias: relation_expr */ -#line 11246 "preproc.y" +#line 11239 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51921 "preproc.c" +#line 51914 "preproc.c" break; case 1842: /* relation_expr_opt_alias: relation_expr ColId */ -#line 11250 "preproc.y" +#line 11243 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51929 "preproc.c" +#line 51922 "preproc.c" break; case 1843: /* relation_expr_opt_alias: relation_expr AS ColId */ -#line 11254 "preproc.y" +#line 11247 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } -#line 51937 "preproc.c" +#line 51930 "preproc.c" break; case 1844: /* tablesample_clause: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause */ -#line 11262 "preproc.y" +#line 11255 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("tablesample"),(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 51945 "preproc.c" +#line 51938 "preproc.c" break; case 1845: /* opt_repeatable_clause: REPEATABLE '(' a_expr ')' */ -#line 11270 "preproc.y" +#line 11263 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("repeatable ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 51953 "preproc.c" +#line 51946 "preproc.c" break; case 1846: /* opt_repeatable_clause: %empty */ -#line 11274 "preproc.y" +#line 11267 "preproc.y" { (yyval.str)=EMPTY; } -#line 51960 "preproc.c" +#line 51953 "preproc.c" break; case 1847: /* func_table: func_expr_windowless opt_ordinality */ -#line 11281 "preproc.y" +#line 11274 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51968 "preproc.c" +#line 51961 "preproc.c" break; case 1848: /* func_table: ROWS FROM '(' rowsfrom_list ')' opt_ordinality */ -#line 11285 "preproc.y" +#line 11278 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("rows from ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 51976 "preproc.c" +#line 51969 "preproc.c" break; case 1849: /* rowsfrom_item: func_expr_windowless opt_col_def_list */ -#line 11293 "preproc.y" +#line 11286 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 51984 "preproc.c" +#line 51977 "preproc.c" break; case 1850: /* rowsfrom_list: rowsfrom_item */ -#line 11301 "preproc.y" +#line 11294 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 51992 "preproc.c" +#line 51985 "preproc.c" break; case 1851: /* rowsfrom_list: rowsfrom_list ',' rowsfrom_item */ -#line 11305 "preproc.y" +#line 11298 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 52000 "preproc.c" +#line 51993 "preproc.c" break; case 1852: /* opt_col_def_list: AS '(' TableFuncElementList ')' */ -#line 11313 "preproc.y" +#line 11306 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("as ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 52008 "preproc.c" +#line 52001 "preproc.c" break; case 1853: /* opt_col_def_list: %empty */ -#line 11317 "preproc.y" +#line 11310 "preproc.y" { (yyval.str)=EMPTY; } -#line 52015 "preproc.c" +#line 52008 "preproc.c" break; case 1854: /* opt_ordinality: WITH_LA ORDINALITY */ -#line 11324 "preproc.y" +#line 11317 "preproc.y" { (yyval.str) = mm_strdup("with ordinality"); } -#line 52023 "preproc.c" +#line 52016 "preproc.c" break; case 1855: /* opt_ordinality: %empty */ -#line 11328 "preproc.y" +#line 11321 "preproc.y" { (yyval.str)=EMPTY; } -#line 52030 "preproc.c" +#line 52023 "preproc.c" break; case 1856: /* where_clause: WHERE a_expr */ -#line 11335 "preproc.y" +#line 11328 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("where"),(yyvsp[0].str)); } -#line 52038 "preproc.c" +#line 52031 "preproc.c" break; case 1857: /* where_clause: %empty */ -#line 11339 "preproc.y" +#line 11332 "preproc.y" { (yyval.str)=EMPTY; } -#line 52045 "preproc.c" +#line 52038 "preproc.c" break; case 1858: /* where_or_current_clause: WHERE a_expr */ -#line 11346 "preproc.y" +#line 11339 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("where"),(yyvsp[0].str)); } -#line 52053 "preproc.c" +#line 52046 "preproc.c" break; case 1859: /* where_or_current_clause: WHERE CURRENT_P OF cursor_name */ -#line 11350 "preproc.y" +#line 11343 "preproc.y" { char *cursor_marker = (yyvsp[0].str)[0] == ':' ? mm_strdup("$0") : (yyvsp[0].str); (yyval.str) = cat_str(2,mm_strdup("where current of"), cursor_marker); } -#line 52062 "preproc.c" +#line 52055 "preproc.c" break; case 1860: /* where_or_current_clause: %empty */ -#line 11355 "preproc.y" +#line 11348 "preproc.y" { (yyval.str)=EMPTY; } -#line 52069 "preproc.c" +#line 52062 "preproc.c" break; case 1861: /* OptTableFuncElementList: TableFuncElementList */ -#line 11362 "preproc.y" +#line 11355 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52077 "preproc.c" +#line 52070 "preproc.c" break; case 1862: /* OptTableFuncElementList: %empty */ -#line 11366 "preproc.y" +#line 11359 "preproc.y" { (yyval.str)=EMPTY; } -#line 52084 "preproc.c" +#line 52077 "preproc.c" break; case 1863: /* TableFuncElementList: TableFuncElement */ -#line 11373 "preproc.y" +#line 11366 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52092 "preproc.c" +#line 52085 "preproc.c" break; case 1864: /* TableFuncElementList: TableFuncElementList ',' TableFuncElement */ -#line 11377 "preproc.y" +#line 11370 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 52100 "preproc.c" +#line 52093 "preproc.c" break; case 1865: /* TableFuncElement: ColId Typename opt_collate_clause */ -#line 11385 "preproc.y" +#line 11378 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52108 "preproc.c" +#line 52101 "preproc.c" break; case 1866: /* xmltable: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */ -#line 11393 "preproc.y" +#line 11386 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("xmltable ("),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("columns"),(yyvsp[-1].str),mm_strdup(")")); } -#line 52116 "preproc.c" +#line 52109 "preproc.c" break; case 1867: /* xmltable: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')' */ -#line 11397 "preproc.y" +#line 11390 "preproc.y" { (yyval.str) = cat_str(8,mm_strdup("xmltable ( xmlnamespaces ("),(yyvsp[-7].str),mm_strdup(") ,"),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("columns"),(yyvsp[-1].str),mm_strdup(")")); } -#line 52124 "preproc.c" +#line 52117 "preproc.c" break; case 1868: /* xmltable_column_list: xmltable_column_el */ -#line 11405 "preproc.y" +#line 11398 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52132 "preproc.c" +#line 52125 "preproc.c" break; case 1869: /* xmltable_column_list: xmltable_column_list ',' xmltable_column_el */ -#line 11409 "preproc.y" +#line 11402 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 52140 "preproc.c" +#line 52133 "preproc.c" break; case 1870: /* xmltable_column_el: ColId Typename */ -#line 11417 "preproc.y" +#line 11410 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52148 "preproc.c" +#line 52141 "preproc.c" break; case 1871: /* xmltable_column_el: ColId Typename xmltable_column_option_list */ -#line 11421 "preproc.y" +#line 11414 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52156 "preproc.c" +#line 52149 "preproc.c" break; case 1872: /* xmltable_column_el: ColId FOR ORDINALITY */ -#line 11425 "preproc.y" +#line 11418 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("for ordinality")); } -#line 52164 "preproc.c" +#line 52157 "preproc.c" break; case 1873: /* xmltable_column_option_list: xmltable_column_option_el */ -#line 11433 "preproc.y" +#line 11426 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52172 "preproc.c" +#line 52165 "preproc.c" break; case 1874: /* xmltable_column_option_list: xmltable_column_option_list xmltable_column_option_el */ -#line 11437 "preproc.y" +#line 11430 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52180 "preproc.c" +#line 52173 "preproc.c" break; case 1875: /* xmltable_column_option_el: ecpg_ident b_expr */ -#line 11445 "preproc.y" +#line 11438 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52188 "preproc.c" +#line 52181 "preproc.c" break; case 1876: /* xmltable_column_option_el: DEFAULT b_expr */ -#line 11449 "preproc.y" +#line 11442 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } -#line 52196 "preproc.c" +#line 52189 "preproc.c" break; case 1877: /* xmltable_column_option_el: NOT NULL_P */ -#line 11453 "preproc.y" +#line 11446 "preproc.y" { (yyval.str) = mm_strdup("not null"); } -#line 52204 "preproc.c" +#line 52197 "preproc.c" break; case 1878: /* xmltable_column_option_el: NULL_P */ -#line 11457 "preproc.y" +#line 11450 "preproc.y" { (yyval.str) = mm_strdup("null"); } -#line 52212 "preproc.c" +#line 52205 "preproc.c" break; case 1879: /* xml_namespace_list: xml_namespace_el */ -#line 11465 "preproc.y" +#line 11458 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52220 "preproc.c" +#line 52213 "preproc.c" break; case 1880: /* xml_namespace_list: xml_namespace_list ',' xml_namespace_el */ -#line 11469 "preproc.y" +#line 11462 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 52228 "preproc.c" +#line 52221 "preproc.c" break; case 1881: /* xml_namespace_el: b_expr AS ColLabel */ -#line 11477 "preproc.y" +#line 11470 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } -#line 52236 "preproc.c" +#line 52229 "preproc.c" break; case 1882: /* xml_namespace_el: DEFAULT b_expr */ -#line 11481 "preproc.y" +#line 11474 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("default"),(yyvsp[0].str)); } -#line 52244 "preproc.c" +#line 52237 "preproc.c" break; case 1883: /* Typename: SimpleTypename opt_array_bounds */ -#line 11489 "preproc.y" +#line 11482 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].index).str); } -#line 52250 "preproc.c" +#line 52243 "preproc.c" break; case 1884: /* Typename: SETOF SimpleTypename opt_array_bounds */ -#line 11491 "preproc.y" +#line 11484 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("setof"), (yyvsp[-1].str), (yyvsp[0].index).str); } -#line 52256 "preproc.c" +#line 52249 "preproc.c" break; case 1885: /* Typename: SimpleTypename ARRAY '[' Iconst ']' */ -#line 11493 "preproc.y" +#line 11486 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("array ["),(yyvsp[-1].str),mm_strdup("]")); } -#line 52264 "preproc.c" +#line 52257 "preproc.c" break; case 1886: /* Typename: SETOF SimpleTypename ARRAY '[' Iconst ']' */ -#line 11497 "preproc.y" +#line 11490 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("setof"),(yyvsp[-4].str),mm_strdup("array ["),(yyvsp[-1].str),mm_strdup("]")); } -#line 52272 "preproc.c" +#line 52265 "preproc.c" break; case 1887: /* Typename: SimpleTypename ARRAY */ -#line 11501 "preproc.y" +#line 11494 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("array")); } -#line 52280 "preproc.c" +#line 52273 "preproc.c" break; case 1888: /* Typename: SETOF SimpleTypename ARRAY */ -#line 11505 "preproc.y" +#line 11498 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("setof"),(yyvsp[-1].str),mm_strdup("array")); } -#line 52288 "preproc.c" +#line 52281 "preproc.c" break; case 1889: /* opt_array_bounds: opt_array_bounds '[' ']' */ -#line 11513 "preproc.y" +#line 11506 "preproc.y" { (yyval.index).index1 = (yyvsp[-2].index).index1; (yyval.index).index2 = (yyvsp[-2].index).index2; @@ -52298,11 +52291,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.index).index2 = mm_strdup("0"); (yyval.index).str = cat_str(2, (yyvsp[-2].index).str, mm_strdup("[]")); } -#line 52302 "preproc.c" +#line 52295 "preproc.c" break; case 1890: /* opt_array_bounds: opt_array_bounds '[' Iresult ']' */ -#line 11523 "preproc.y" +#line 11516 "preproc.y" { (yyval.index).index1 = (yyvsp[-3].index).index1; (yyval.index).index2 = (yyvsp[-3].index).index2; @@ -52312,10448 +52305,10448 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.index).index2 = mm_strdup((yyvsp[-1].str)); (yyval.index).str = cat_str(4, (yyvsp[-3].index).str, mm_strdup("["), (yyvsp[-1].str), mm_strdup("]")); } -#line 52316 "preproc.c" +#line 52309 "preproc.c" break; case 1891: /* opt_array_bounds: %empty */ -#line 11533 "preproc.y" +#line 11526 "preproc.y" { (yyval.index).index1 = mm_strdup("-1"); (yyval.index).index2 = mm_strdup("-1"); (yyval.index).str= EMPTY; } -#line 52326 "preproc.c" +#line 52319 "preproc.c" break; case 1892: /* SimpleTypename: GenericType */ -#line 11543 "preproc.y" +#line 11536 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52334 "preproc.c" +#line 52327 "preproc.c" break; case 1893: /* SimpleTypename: Numeric */ -#line 11547 "preproc.y" +#line 11540 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52342 "preproc.c" +#line 52335 "preproc.c" break; case 1894: /* SimpleTypename: Bit */ -#line 11551 "preproc.y" +#line 11544 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52350 "preproc.c" +#line 52343 "preproc.c" break; case 1895: /* SimpleTypename: Character */ -#line 11555 "preproc.y" +#line 11548 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52358 "preproc.c" +#line 52351 "preproc.c" break; case 1896: /* SimpleTypename: ConstDatetime */ -#line 11559 "preproc.y" +#line 11552 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52366 "preproc.c" +#line 52359 "preproc.c" break; case 1897: /* SimpleTypename: ConstInterval opt_interval */ -#line 11563 "preproc.y" +#line 11556 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52374 "preproc.c" +#line 52367 "preproc.c" break; case 1898: /* SimpleTypename: ConstInterval '(' Iconst ')' */ -#line 11567 "preproc.y" +#line 11560 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 52382 "preproc.c" +#line 52375 "preproc.c" break; case 1899: /* ConstTypename: Numeric */ -#line 11575 "preproc.y" +#line 11568 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52390 "preproc.c" +#line 52383 "preproc.c" break; case 1900: /* ConstTypename: ConstBit */ -#line 11579 "preproc.y" +#line 11572 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52398 "preproc.c" +#line 52391 "preproc.c" break; case 1901: /* ConstTypename: ConstCharacter */ -#line 11583 "preproc.y" +#line 11576 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52406 "preproc.c" +#line 52399 "preproc.c" break; case 1902: /* ConstTypename: ConstDatetime */ -#line 11587 "preproc.y" +#line 11580 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52414 "preproc.c" +#line 52407 "preproc.c" break; case 1903: /* GenericType: type_function_name opt_type_modifiers */ -#line 11595 "preproc.y" +#line 11588 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52422 "preproc.c" +#line 52415 "preproc.c" break; case 1904: /* GenericType: type_function_name attrs opt_type_modifiers */ -#line 11599 "preproc.y" +#line 11592 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 52430 "preproc.c" +#line 52423 "preproc.c" break; case 1905: /* opt_type_modifiers: '(' expr_list ')' */ -#line 11607 "preproc.y" +#line 11600 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 52438 "preproc.c" +#line 52431 "preproc.c" break; case 1906: /* opt_type_modifiers: %empty */ -#line 11611 "preproc.y" +#line 11604 "preproc.y" { (yyval.str)=EMPTY; } -#line 52445 "preproc.c" +#line 52438 "preproc.c" break; case 1907: /* Numeric: INT_P */ -#line 11618 "preproc.y" +#line 11611 "preproc.y" { (yyval.str) = mm_strdup("int"); } -#line 52453 "preproc.c" +#line 52446 "preproc.c" break; case 1908: /* Numeric: INTEGER */ -#line 11622 "preproc.y" +#line 11615 "preproc.y" { (yyval.str) = mm_strdup("integer"); } -#line 52461 "preproc.c" +#line 52454 "preproc.c" break; case 1909: /* Numeric: SMALLINT */ -#line 11626 "preproc.y" +#line 11619 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } -#line 52469 "preproc.c" +#line 52462 "preproc.c" break; case 1910: /* Numeric: BIGINT */ -#line 11630 "preproc.y" +#line 11623 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } -#line 52477 "preproc.c" +#line 52470 "preproc.c" break; case 1911: /* Numeric: REAL */ -#line 11634 "preproc.y" +#line 11627 "preproc.y" { (yyval.str) = mm_strdup("real"); } -#line 52485 "preproc.c" +#line 52478 "preproc.c" break; case 1912: /* Numeric: FLOAT_P opt_float */ -#line 11638 "preproc.y" +#line 11631 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("float"),(yyvsp[0].str)); } -#line 52493 "preproc.c" +#line 52486 "preproc.c" break; case 1913: /* Numeric: DOUBLE_P PRECISION */ -#line 11642 "preproc.y" +#line 11635 "preproc.y" { (yyval.str) = mm_strdup("double precision"); } -#line 52501 "preproc.c" +#line 52494 "preproc.c" break; case 1914: /* Numeric: DECIMAL_P opt_type_modifiers */ -#line 11646 "preproc.y" +#line 11639 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("decimal"),(yyvsp[0].str)); } -#line 52509 "preproc.c" +#line 52502 "preproc.c" break; case 1915: /* Numeric: DEC opt_type_modifiers */ -#line 11650 "preproc.y" +#line 11643 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("dec"),(yyvsp[0].str)); } -#line 52517 "preproc.c" +#line 52510 "preproc.c" break; case 1916: /* Numeric: NUMERIC opt_type_modifiers */ -#line 11654 "preproc.y" +#line 11647 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("numeric"),(yyvsp[0].str)); } -#line 52525 "preproc.c" +#line 52518 "preproc.c" break; case 1917: /* Numeric: BOOLEAN_P */ -#line 11658 "preproc.y" +#line 11651 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } -#line 52533 "preproc.c" +#line 52526 "preproc.c" break; case 1918: /* opt_float: '(' Iconst ')' */ -#line 11666 "preproc.y" +#line 11659 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 52541 "preproc.c" +#line 52534 "preproc.c" break; case 1919: /* opt_float: %empty */ -#line 11670 "preproc.y" +#line 11663 "preproc.y" { (yyval.str)=EMPTY; } -#line 52548 "preproc.c" +#line 52541 "preproc.c" break; case 1920: /* Bit: BitWithLength */ -#line 11677 "preproc.y" +#line 11670 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52556 "preproc.c" +#line 52549 "preproc.c" break; case 1921: /* Bit: BitWithoutLength */ -#line 11681 "preproc.y" +#line 11674 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52564 "preproc.c" +#line 52557 "preproc.c" break; case 1922: /* ConstBit: BitWithLength */ -#line 11689 "preproc.y" +#line 11682 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52572 "preproc.c" +#line 52565 "preproc.c" break; case 1923: /* ConstBit: BitWithoutLength */ -#line 11693 "preproc.y" +#line 11686 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52580 "preproc.c" +#line 52573 "preproc.c" break; case 1924: /* BitWithLength: BIT opt_varying '(' expr_list ')' */ -#line 11701 "preproc.y" +#line 11694 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("bit"),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 52588 "preproc.c" +#line 52581 "preproc.c" break; case 1925: /* BitWithoutLength: BIT opt_varying */ -#line 11709 "preproc.y" +#line 11702 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("bit"),(yyvsp[0].str)); } -#line 52596 "preproc.c" +#line 52589 "preproc.c" break; case 1926: /* Character: CharacterWithLength */ -#line 11717 "preproc.y" +#line 11710 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52604 "preproc.c" +#line 52597 "preproc.c" break; case 1927: /* Character: CharacterWithoutLength */ -#line 11721 "preproc.y" +#line 11714 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52612 "preproc.c" +#line 52605 "preproc.c" break; case 1928: /* ConstCharacter: CharacterWithLength */ -#line 11729 "preproc.y" +#line 11722 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52620 "preproc.c" +#line 52613 "preproc.c" break; case 1929: /* ConstCharacter: CharacterWithoutLength */ -#line 11733 "preproc.y" +#line 11726 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52628 "preproc.c" +#line 52621 "preproc.c" break; case 1930: /* CharacterWithLength: character '(' Iconst ')' */ -#line 11741 "preproc.y" +#line 11734 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 52636 "preproc.c" +#line 52629 "preproc.c" break; case 1931: /* CharacterWithoutLength: character */ -#line 11749 "preproc.y" +#line 11742 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52644 "preproc.c" +#line 52637 "preproc.c" break; case 1932: /* character: CHARACTER opt_varying */ -#line 11757 "preproc.y" +#line 11750 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("character"),(yyvsp[0].str)); } -#line 52652 "preproc.c" +#line 52645 "preproc.c" break; case 1933: /* character: CHAR_P opt_varying */ -#line 11761 "preproc.y" +#line 11754 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("char"),(yyvsp[0].str)); } -#line 52660 "preproc.c" +#line 52653 "preproc.c" break; case 1934: /* character: VARCHAR */ -#line 11765 "preproc.y" +#line 11758 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } -#line 52668 "preproc.c" +#line 52661 "preproc.c" break; case 1935: /* character: NATIONAL CHARACTER opt_varying */ -#line 11769 "preproc.y" +#line 11762 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("national character"),(yyvsp[0].str)); } -#line 52676 "preproc.c" +#line 52669 "preproc.c" break; case 1936: /* character: NATIONAL CHAR_P opt_varying */ -#line 11773 "preproc.y" +#line 11766 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("national char"),(yyvsp[0].str)); } -#line 52684 "preproc.c" +#line 52677 "preproc.c" break; case 1937: /* character: NCHAR opt_varying */ -#line 11777 "preproc.y" +#line 11770 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("nchar"),(yyvsp[0].str)); } -#line 52692 "preproc.c" +#line 52685 "preproc.c" break; case 1938: /* opt_varying: VARYING */ -#line 11785 "preproc.y" +#line 11778 "preproc.y" { (yyval.str) = mm_strdup("varying"); } -#line 52700 "preproc.c" +#line 52693 "preproc.c" break; case 1939: /* opt_varying: %empty */ -#line 11789 "preproc.y" +#line 11782 "preproc.y" { (yyval.str)=EMPTY; } -#line 52707 "preproc.c" +#line 52700 "preproc.c" break; case 1940: /* ConstDatetime: TIMESTAMP '(' Iconst ')' opt_timezone */ -#line 11796 "preproc.y" +#line 11789 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("timestamp ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 52715 "preproc.c" +#line 52708 "preproc.c" break; case 1941: /* ConstDatetime: TIMESTAMP opt_timezone */ -#line 11800 "preproc.y" +#line 11793 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("timestamp"),(yyvsp[0].str)); } -#line 52723 "preproc.c" +#line 52716 "preproc.c" break; case 1942: /* ConstDatetime: TIME '(' Iconst ')' opt_timezone */ -#line 11804 "preproc.y" +#line 11797 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("time ("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 52731 "preproc.c" +#line 52724 "preproc.c" break; case 1943: /* ConstDatetime: TIME opt_timezone */ -#line 11808 "preproc.y" +#line 11801 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("time"),(yyvsp[0].str)); } -#line 52739 "preproc.c" +#line 52732 "preproc.c" break; case 1944: /* ConstInterval: INTERVAL */ -#line 11816 "preproc.y" +#line 11809 "preproc.y" { (yyval.str) = mm_strdup("interval"); } -#line 52747 "preproc.c" +#line 52740 "preproc.c" break; case 1945: /* opt_timezone: WITH_LA TIME ZONE */ -#line 11824 "preproc.y" +#line 11817 "preproc.y" { (yyval.str) = mm_strdup("with time zone"); } -#line 52755 "preproc.c" +#line 52748 "preproc.c" break; case 1946: /* opt_timezone: WITHOUT TIME ZONE */ -#line 11828 "preproc.y" +#line 11821 "preproc.y" { (yyval.str) = mm_strdup("without time zone"); } -#line 52763 "preproc.c" +#line 52756 "preproc.c" break; case 1947: /* opt_timezone: %empty */ -#line 11832 "preproc.y" +#line 11825 "preproc.y" { (yyval.str)=EMPTY; } -#line 52770 "preproc.c" +#line 52763 "preproc.c" break; case 1948: /* opt_interval: YEAR_P */ -#line 11839 "preproc.y" +#line 11832 "preproc.y" { (yyval.str) = mm_strdup("year"); } -#line 52778 "preproc.c" +#line 52771 "preproc.c" break; case 1949: /* opt_interval: MONTH_P */ -#line 11843 "preproc.y" +#line 11836 "preproc.y" { (yyval.str) = mm_strdup("month"); } -#line 52786 "preproc.c" +#line 52779 "preproc.c" break; case 1950: /* opt_interval: DAY_P */ -#line 11847 "preproc.y" +#line 11840 "preproc.y" { (yyval.str) = mm_strdup("day"); } -#line 52794 "preproc.c" +#line 52787 "preproc.c" break; case 1951: /* opt_interval: HOUR_P */ -#line 11851 "preproc.y" +#line 11844 "preproc.y" { (yyval.str) = mm_strdup("hour"); } -#line 52802 "preproc.c" +#line 52795 "preproc.c" break; case 1952: /* opt_interval: MINUTE_P */ -#line 11855 "preproc.y" +#line 11848 "preproc.y" { (yyval.str) = mm_strdup("minute"); } -#line 52810 "preproc.c" +#line 52803 "preproc.c" break; case 1953: /* opt_interval: interval_second */ -#line 11859 "preproc.y" +#line 11852 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52818 "preproc.c" +#line 52811 "preproc.c" break; case 1954: /* opt_interval: YEAR_P TO MONTH_P */ -#line 11863 "preproc.y" +#line 11856 "preproc.y" { (yyval.str) = mm_strdup("year to month"); } -#line 52826 "preproc.c" +#line 52819 "preproc.c" break; case 1955: /* opt_interval: DAY_P TO HOUR_P */ -#line 11867 "preproc.y" +#line 11860 "preproc.y" { (yyval.str) = mm_strdup("day to hour"); } -#line 52834 "preproc.c" +#line 52827 "preproc.c" break; case 1956: /* opt_interval: DAY_P TO MINUTE_P */ -#line 11871 "preproc.y" +#line 11864 "preproc.y" { (yyval.str) = mm_strdup("day to minute"); } -#line 52842 "preproc.c" +#line 52835 "preproc.c" break; case 1957: /* opt_interval: DAY_P TO interval_second */ -#line 11875 "preproc.y" +#line 11868 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("day to"),(yyvsp[0].str)); } -#line 52850 "preproc.c" +#line 52843 "preproc.c" break; case 1958: /* opt_interval: HOUR_P TO MINUTE_P */ -#line 11879 "preproc.y" +#line 11872 "preproc.y" { (yyval.str) = mm_strdup("hour to minute"); } -#line 52858 "preproc.c" +#line 52851 "preproc.c" break; case 1959: /* opt_interval: HOUR_P TO interval_second */ -#line 11883 "preproc.y" +#line 11876 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("hour to"),(yyvsp[0].str)); } -#line 52866 "preproc.c" +#line 52859 "preproc.c" break; case 1960: /* opt_interval: MINUTE_P TO interval_second */ -#line 11887 "preproc.y" +#line 11880 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("minute to"),(yyvsp[0].str)); } -#line 52874 "preproc.c" +#line 52867 "preproc.c" break; case 1961: /* opt_interval: %empty */ -#line 11891 "preproc.y" +#line 11884 "preproc.y" { (yyval.str)=EMPTY; } -#line 52881 "preproc.c" +#line 52874 "preproc.c" break; case 1962: /* interval_second: SECOND_P */ -#line 11898 "preproc.y" +#line 11891 "preproc.y" { (yyval.str) = mm_strdup("second"); } -#line 52889 "preproc.c" +#line 52882 "preproc.c" break; case 1963: /* interval_second: SECOND_P '(' Iconst ')' */ -#line 11902 "preproc.y" +#line 11895 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("second ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 52897 "preproc.c" +#line 52890 "preproc.c" break; case 1964: /* a_expr: c_expr */ -#line 11910 "preproc.y" +#line 11903 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 52905 "preproc.c" +#line 52898 "preproc.c" break; case 1965: /* a_expr: a_expr TYPECAST Typename */ -#line 11914 "preproc.y" +#line 11907 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("::"),(yyvsp[0].str)); } -#line 52913 "preproc.c" +#line 52906 "preproc.c" break; case 1966: /* a_expr: a_expr COLLATE any_name */ -#line 11918 "preproc.y" +#line 11911 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("collate"),(yyvsp[0].str)); } -#line 52921 "preproc.c" +#line 52914 "preproc.c" break; case 1967: /* a_expr: a_expr AT TIME ZONE a_expr */ -#line 11922 "preproc.y" +#line 11915 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("at time zone"),(yyvsp[0].str)); } -#line 52929 "preproc.c" +#line 52922 "preproc.c" break; case 1968: /* a_expr: '+' a_expr */ -#line 11926 "preproc.y" +#line 11919 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } -#line 52937 "preproc.c" +#line 52930 "preproc.c" break; case 1969: /* a_expr: '-' a_expr */ -#line 11930 "preproc.y" +#line 11923 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } -#line 52945 "preproc.c" +#line 52938 "preproc.c" break; case 1970: /* a_expr: a_expr '+' a_expr */ -#line 11934 "preproc.y" +#line 11927 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("+"),(yyvsp[0].str)); } -#line 52953 "preproc.c" +#line 52946 "preproc.c" break; case 1971: /* a_expr: a_expr '-' a_expr */ -#line 11938 "preproc.y" +#line 11931 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("-"),(yyvsp[0].str)); } -#line 52961 "preproc.c" +#line 52954 "preproc.c" break; case 1972: /* a_expr: a_expr '*' a_expr */ -#line 11942 "preproc.y" +#line 11935 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("*"),(yyvsp[0].str)); } -#line 52969 "preproc.c" +#line 52962 "preproc.c" break; case 1973: /* a_expr: a_expr '/' a_expr */ -#line 11946 "preproc.y" +#line 11939 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("/"),(yyvsp[0].str)); } -#line 52977 "preproc.c" +#line 52970 "preproc.c" break; case 1974: /* a_expr: a_expr '%' a_expr */ -#line 11950 "preproc.y" +#line 11943 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("%"),(yyvsp[0].str)); } -#line 52985 "preproc.c" +#line 52978 "preproc.c" break; case 1975: /* a_expr: a_expr '^' a_expr */ -#line 11954 "preproc.y" +#line 11947 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("^"),(yyvsp[0].str)); } -#line 52993 "preproc.c" +#line 52986 "preproc.c" break; case 1976: /* a_expr: a_expr '<' a_expr */ -#line 11958 "preproc.y" +#line 11951 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<"),(yyvsp[0].str)); } -#line 53001 "preproc.c" +#line 52994 "preproc.c" break; case 1977: /* a_expr: a_expr '>' a_expr */ -#line 11962 "preproc.y" +#line 11955 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">"),(yyvsp[0].str)); } -#line 53009 "preproc.c" +#line 53002 "preproc.c" break; case 1978: /* a_expr: a_expr '=' a_expr */ -#line 11966 "preproc.y" +#line 11959 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 53017 "preproc.c" +#line 53010 "preproc.c" break; case 1979: /* a_expr: a_expr LESS_EQUALS a_expr */ -#line 11970 "preproc.y" +#line 11963 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<="),(yyvsp[0].str)); } -#line 53025 "preproc.c" +#line 53018 "preproc.c" break; case 1980: /* a_expr: a_expr GREATER_EQUALS a_expr */ -#line 11974 "preproc.y" +#line 11967 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">="),(yyvsp[0].str)); } -#line 53033 "preproc.c" +#line 53026 "preproc.c" break; case 1981: /* a_expr: a_expr NOT_EQUALS a_expr */ -#line 11978 "preproc.y" +#line 11971 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<>"),(yyvsp[0].str)); } -#line 53041 "preproc.c" +#line 53034 "preproc.c" break; case 1982: /* a_expr: a_expr qual_Op a_expr */ -#line 11982 "preproc.y" +#line 11975 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53049 "preproc.c" +#line 53042 "preproc.c" break; case 1983: /* a_expr: qual_Op a_expr */ -#line 11986 "preproc.y" +#line 11979 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53057 "preproc.c" +#line 53050 "preproc.c" break; case 1984: /* a_expr: a_expr AND a_expr */ -#line 11990 "preproc.y" +#line 11983 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } -#line 53065 "preproc.c" +#line 53058 "preproc.c" break; case 1985: /* a_expr: a_expr OR a_expr */ -#line 11994 "preproc.y" +#line 11987 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("or"),(yyvsp[0].str)); } -#line 53073 "preproc.c" +#line 53066 "preproc.c" break; case 1986: /* a_expr: NOT a_expr */ -#line 11998 "preproc.y" +#line 11991 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("not"),(yyvsp[0].str)); } -#line 53081 "preproc.c" +#line 53074 "preproc.c" break; case 1987: /* a_expr: NOT_LA a_expr */ -#line 12002 "preproc.y" +#line 11995 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("not"),(yyvsp[0].str)); } -#line 53089 "preproc.c" +#line 53082 "preproc.c" break; case 1988: /* a_expr: a_expr LIKE a_expr */ -#line 12006 "preproc.y" +#line 11999 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("like"),(yyvsp[0].str)); } -#line 53097 "preproc.c" +#line 53090 "preproc.c" break; case 1989: /* a_expr: a_expr LIKE a_expr ESCAPE a_expr */ -#line 12010 "preproc.y" +#line 12003 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("like"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } -#line 53105 "preproc.c" +#line 53098 "preproc.c" break; case 1990: /* a_expr: a_expr NOT_LA LIKE a_expr */ -#line 12014 "preproc.y" +#line 12007 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not like"),(yyvsp[0].str)); } -#line 53113 "preproc.c" +#line 53106 "preproc.c" break; case 1991: /* a_expr: a_expr NOT_LA LIKE a_expr ESCAPE a_expr */ -#line 12018 "preproc.y" +#line 12011 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("not like"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } -#line 53121 "preproc.c" +#line 53114 "preproc.c" break; case 1992: /* a_expr: a_expr ILIKE a_expr */ -#line 12022 "preproc.y" +#line 12015 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("ilike"),(yyvsp[0].str)); } -#line 53129 "preproc.c" +#line 53122 "preproc.c" break; case 1993: /* a_expr: a_expr ILIKE a_expr ESCAPE a_expr */ -#line 12026 "preproc.y" +#line 12019 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("ilike"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } -#line 53137 "preproc.c" +#line 53130 "preproc.c" break; case 1994: /* a_expr: a_expr NOT_LA ILIKE a_expr */ -#line 12030 "preproc.y" +#line 12023 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not ilike"),(yyvsp[0].str)); } -#line 53145 "preproc.c" +#line 53138 "preproc.c" break; case 1995: /* a_expr: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr */ -#line 12034 "preproc.y" +#line 12027 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("not ilike"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } -#line 53153 "preproc.c" +#line 53146 "preproc.c" break; case 1996: /* a_expr: a_expr SIMILAR TO a_expr */ -#line 12038 "preproc.y" +#line 12031 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("similar to"),(yyvsp[0].str)); } -#line 53161 "preproc.c" +#line 53154 "preproc.c" break; case 1997: /* a_expr: a_expr SIMILAR TO a_expr ESCAPE a_expr */ -#line 12042 "preproc.y" +#line 12035 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("similar to"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } -#line 53169 "preproc.c" +#line 53162 "preproc.c" break; case 1998: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr */ -#line 12046 "preproc.y" +#line 12039 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("not similar to"),(yyvsp[0].str)); } -#line 53177 "preproc.c" +#line 53170 "preproc.c" break; case 1999: /* a_expr: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr */ -#line 12050 "preproc.y" +#line 12043 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-6].str),mm_strdup("not similar to"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } -#line 53185 "preproc.c" +#line 53178 "preproc.c" break; case 2000: /* a_expr: a_expr IS NULL_P */ -#line 12054 "preproc.y" +#line 12047 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is null")); } -#line 53193 "preproc.c" +#line 53186 "preproc.c" break; case 2001: /* a_expr: a_expr ISNULL */ -#line 12058 "preproc.y" +#line 12051 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("isnull")); } -#line 53201 "preproc.c" +#line 53194 "preproc.c" break; case 2002: /* a_expr: a_expr IS NOT NULL_P */ -#line 12062 "preproc.y" +#line 12055 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not null")); } -#line 53209 "preproc.c" +#line 53202 "preproc.c" break; case 2003: /* a_expr: a_expr NOTNULL */ -#line 12066 "preproc.y" +#line 12059 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("notnull")); } -#line 53217 "preproc.c" +#line 53210 "preproc.c" break; case 2004: /* a_expr: row OVERLAPS row */ -#line 12070 "preproc.y" +#line 12063 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("overlaps"),(yyvsp[0].str)); } -#line 53225 "preproc.c" +#line 53218 "preproc.c" break; case 2005: /* a_expr: a_expr IS TRUE_P */ -#line 12074 "preproc.y" +#line 12067 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is true")); } -#line 53233 "preproc.c" +#line 53226 "preproc.c" break; case 2006: /* a_expr: a_expr IS NOT TRUE_P */ -#line 12078 "preproc.y" +#line 12071 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not true")); } -#line 53241 "preproc.c" +#line 53234 "preproc.c" break; case 2007: /* a_expr: a_expr IS FALSE_P */ -#line 12082 "preproc.y" +#line 12075 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is false")); } -#line 53249 "preproc.c" +#line 53242 "preproc.c" break; case 2008: /* a_expr: a_expr IS NOT FALSE_P */ -#line 12086 "preproc.y" +#line 12079 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not false")); } -#line 53257 "preproc.c" +#line 53250 "preproc.c" break; case 2009: /* a_expr: a_expr IS UNKNOWN */ -#line 12090 "preproc.y" +#line 12083 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is unknown")); } -#line 53265 "preproc.c" +#line 53258 "preproc.c" break; case 2010: /* a_expr: a_expr IS NOT UNKNOWN */ -#line 12094 "preproc.y" +#line 12087 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not unknown")); } -#line 53273 "preproc.c" +#line 53266 "preproc.c" break; case 2011: /* a_expr: a_expr IS DISTINCT FROM a_expr */ -#line 12098 "preproc.y" +#line 12091 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("is distinct from"),(yyvsp[0].str)); } -#line 53281 "preproc.c" +#line 53274 "preproc.c" break; case 2012: /* a_expr: a_expr IS NOT DISTINCT FROM a_expr */ -#line 12102 "preproc.y" +#line 12095 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-5].str),mm_strdup("is not distinct from"),(yyvsp[0].str)); } -#line 53289 "preproc.c" +#line 53282 "preproc.c" break; case 2013: /* a_expr: a_expr BETWEEN opt_asymmetric b_expr AND a_expr */ -#line 12106 "preproc.y" +#line 12099 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),mm_strdup("between"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } -#line 53297 "preproc.c" +#line 53290 "preproc.c" break; case 2014: /* a_expr: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr */ -#line 12110 "preproc.y" +#line 12103 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-6].str),mm_strdup("not between"),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } -#line 53305 "preproc.c" +#line 53298 "preproc.c" break; case 2015: /* a_expr: a_expr BETWEEN SYMMETRIC b_expr AND a_expr */ -#line 12114 "preproc.y" +#line 12107 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("between symmetric"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } -#line 53313 "preproc.c" +#line 53306 "preproc.c" break; case 2016: /* a_expr: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr */ -#line 12118 "preproc.y" +#line 12111 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-6].str),mm_strdup("not between symmetric"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } -#line 53321 "preproc.c" +#line 53314 "preproc.c" break; case 2017: /* a_expr: a_expr IN_P in_expr */ -#line 12122 "preproc.y" +#line 12115 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("in"),(yyvsp[0].str)); } -#line 53329 "preproc.c" +#line 53322 "preproc.c" break; case 2018: /* a_expr: a_expr NOT_LA IN_P in_expr */ -#line 12126 "preproc.y" +#line 12119 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-3].str),mm_strdup("not in"),(yyvsp[0].str)); } -#line 53337 "preproc.c" +#line 53330 "preproc.c" break; case 2019: /* a_expr: a_expr subquery_Op sub_type select_with_parens */ -#line 12130 "preproc.y" +#line 12123 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53345 "preproc.c" +#line 53338 "preproc.c" break; case 2020: /* a_expr: a_expr subquery_Op sub_type '(' a_expr ')' */ -#line 12134 "preproc.y" +#line 12127 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53353 "preproc.c" +#line 53346 "preproc.c" break; case 2021: /* a_expr: UNIQUE opt_unique_null_treatment select_with_parens */ -#line 12138 "preproc.y" +#line 12131 "preproc.y" { mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); (yyval.str) = cat_str(3,mm_strdup("unique"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53362 "preproc.c" +#line 53355 "preproc.c" break; case 2022: /* a_expr: a_expr IS DOCUMENT_P */ -#line 12143 "preproc.y" +#line 12136 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is document")); } -#line 53370 "preproc.c" +#line 53363 "preproc.c" break; case 2023: /* a_expr: a_expr IS NOT DOCUMENT_P */ -#line 12147 "preproc.y" +#line 12140 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not document")); } -#line 53378 "preproc.c" +#line 53371 "preproc.c" break; case 2024: /* a_expr: a_expr IS NORMALIZED */ -#line 12151 "preproc.y" +#line 12144 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is normalized")); } -#line 53386 "preproc.c" +#line 53379 "preproc.c" break; case 2025: /* a_expr: a_expr IS unicode_normal_form NORMALIZED */ -#line 12155 "preproc.y" +#line 12148 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),mm_strdup("is"),(yyvsp[-1].str),mm_strdup("normalized")); } -#line 53394 "preproc.c" +#line 53387 "preproc.c" break; case 2026: /* a_expr: a_expr IS NOT NORMALIZED */ -#line 12159 "preproc.y" +#line 12152 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not normalized")); } -#line 53402 "preproc.c" +#line 53395 "preproc.c" break; case 2027: /* a_expr: a_expr IS NOT unicode_normal_form NORMALIZED */ -#line 12163 "preproc.y" +#line 12156 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-4].str),mm_strdup("is not"),(yyvsp[-1].str),mm_strdup("normalized")); } -#line 53410 "preproc.c" +#line 53403 "preproc.c" break; case 2028: /* a_expr: DEFAULT */ -#line 12167 "preproc.y" +#line 12160 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 53418 "preproc.c" +#line 53411 "preproc.c" break; case 2029: /* b_expr: c_expr */ -#line 12175 "preproc.y" +#line 12168 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53426 "preproc.c" +#line 53419 "preproc.c" break; case 2030: /* b_expr: b_expr TYPECAST Typename */ -#line 12179 "preproc.y" +#line 12172 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("::"),(yyvsp[0].str)); } -#line 53434 "preproc.c" +#line 53427 "preproc.c" break; case 2031: /* b_expr: '+' b_expr */ -#line 12183 "preproc.y" +#line 12176 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } -#line 53442 "preproc.c" +#line 53435 "preproc.c" break; case 2032: /* b_expr: '-' b_expr */ -#line 12187 "preproc.y" +#line 12180 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } -#line 53450 "preproc.c" +#line 53443 "preproc.c" break; case 2033: /* b_expr: b_expr '+' b_expr */ -#line 12191 "preproc.y" +#line 12184 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("+"),(yyvsp[0].str)); } -#line 53458 "preproc.c" +#line 53451 "preproc.c" break; case 2034: /* b_expr: b_expr '-' b_expr */ -#line 12195 "preproc.y" +#line 12188 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("-"),(yyvsp[0].str)); } -#line 53466 "preproc.c" +#line 53459 "preproc.c" break; case 2035: /* b_expr: b_expr '*' b_expr */ -#line 12199 "preproc.y" +#line 12192 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("*"),(yyvsp[0].str)); } -#line 53474 "preproc.c" +#line 53467 "preproc.c" break; case 2036: /* b_expr: b_expr '/' b_expr */ -#line 12203 "preproc.y" +#line 12196 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("/"),(yyvsp[0].str)); } -#line 53482 "preproc.c" +#line 53475 "preproc.c" break; case 2037: /* b_expr: b_expr '%' b_expr */ -#line 12207 "preproc.y" +#line 12200 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("%"),(yyvsp[0].str)); } -#line 53490 "preproc.c" +#line 53483 "preproc.c" break; case 2038: /* b_expr: b_expr '^' b_expr */ -#line 12211 "preproc.y" +#line 12204 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("^"),(yyvsp[0].str)); } -#line 53498 "preproc.c" +#line 53491 "preproc.c" break; case 2039: /* b_expr: b_expr '<' b_expr */ -#line 12215 "preproc.y" +#line 12208 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<"),(yyvsp[0].str)); } -#line 53506 "preproc.c" +#line 53499 "preproc.c" break; case 2040: /* b_expr: b_expr '>' b_expr */ -#line 12219 "preproc.y" +#line 12212 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">"),(yyvsp[0].str)); } -#line 53514 "preproc.c" +#line 53507 "preproc.c" break; case 2041: /* b_expr: b_expr '=' b_expr */ -#line 12223 "preproc.y" +#line 12216 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("="),(yyvsp[0].str)); } -#line 53522 "preproc.c" +#line 53515 "preproc.c" break; case 2042: /* b_expr: b_expr LESS_EQUALS b_expr */ -#line 12227 "preproc.y" +#line 12220 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<="),(yyvsp[0].str)); } -#line 53530 "preproc.c" +#line 53523 "preproc.c" break; case 2043: /* b_expr: b_expr GREATER_EQUALS b_expr */ -#line 12231 "preproc.y" +#line 12224 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(">="),(yyvsp[0].str)); } -#line 53538 "preproc.c" +#line 53531 "preproc.c" break; case 2044: /* b_expr: b_expr NOT_EQUALS b_expr */ -#line 12235 "preproc.y" +#line 12228 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("<>"),(yyvsp[0].str)); } -#line 53546 "preproc.c" +#line 53539 "preproc.c" break; case 2045: /* b_expr: b_expr qual_Op b_expr */ -#line 12239 "preproc.y" +#line 12232 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53554 "preproc.c" +#line 53547 "preproc.c" break; case 2046: /* b_expr: qual_Op b_expr */ -#line 12243 "preproc.y" +#line 12236 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53562 "preproc.c" +#line 53555 "preproc.c" break; case 2047: /* b_expr: b_expr IS DISTINCT FROM b_expr */ -#line 12247 "preproc.y" +#line 12240 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-4].str),mm_strdup("is distinct from"),(yyvsp[0].str)); } -#line 53570 "preproc.c" +#line 53563 "preproc.c" break; case 2048: /* b_expr: b_expr IS NOT DISTINCT FROM b_expr */ -#line 12251 "preproc.y" +#line 12244 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-5].str),mm_strdup("is not distinct from"),(yyvsp[0].str)); } -#line 53578 "preproc.c" +#line 53571 "preproc.c" break; case 2049: /* b_expr: b_expr IS DOCUMENT_P */ -#line 12255 "preproc.y" +#line 12248 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("is document")); } -#line 53586 "preproc.c" +#line 53579 "preproc.c" break; case 2050: /* b_expr: b_expr IS NOT DOCUMENT_P */ -#line 12259 "preproc.y" +#line 12252 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("is not document")); } -#line 53594 "preproc.c" +#line 53587 "preproc.c" break; case 2051: /* c_expr: columnref */ -#line 12267 "preproc.y" +#line 12260 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53602 "preproc.c" +#line 53595 "preproc.c" break; case 2052: /* c_expr: AexprConst */ -#line 12271 "preproc.y" +#line 12264 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53610 "preproc.c" +#line 53603 "preproc.c" break; case 2053: /* c_expr: ecpg_param opt_indirection */ -#line 12275 "preproc.y" +#line 12268 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53618 "preproc.c" +#line 53611 "preproc.c" break; case 2054: /* c_expr: '(' a_expr ')' opt_indirection */ -#line 12279 "preproc.y" +#line 12272 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 53626 "preproc.c" +#line 53619 "preproc.c" break; case 2055: /* c_expr: case_expr */ -#line 12283 "preproc.y" +#line 12276 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53634 "preproc.c" +#line 53627 "preproc.c" break; case 2056: /* c_expr: func_expr */ -#line 12287 "preproc.y" +#line 12280 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53642 "preproc.c" +#line 53635 "preproc.c" break; case 2057: /* c_expr: select_with_parens */ -#line 12291 "preproc.y" +#line 12284 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53650 "preproc.c" +#line 53643 "preproc.c" break; case 2058: /* c_expr: select_with_parens indirection */ -#line 12295 "preproc.y" +#line 12288 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53658 "preproc.c" +#line 53651 "preproc.c" break; case 2059: /* c_expr: EXISTS select_with_parens */ -#line 12299 "preproc.y" +#line 12292 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("exists"),(yyvsp[0].str)); } -#line 53666 "preproc.c" +#line 53659 "preproc.c" break; case 2060: /* c_expr: ARRAY select_with_parens */ -#line 12303 "preproc.y" +#line 12296 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("array"),(yyvsp[0].str)); } -#line 53674 "preproc.c" +#line 53667 "preproc.c" break; case 2061: /* c_expr: ARRAY array_expr */ -#line 12307 "preproc.y" +#line 12300 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("array"),(yyvsp[0].str)); } -#line 53682 "preproc.c" +#line 53675 "preproc.c" break; case 2062: /* c_expr: explicit_row */ -#line 12311 "preproc.y" +#line 12304 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53690 "preproc.c" +#line 53683 "preproc.c" break; case 2063: /* c_expr: implicit_row */ -#line 12315 "preproc.y" +#line 12308 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53698 "preproc.c" +#line 53691 "preproc.c" break; case 2064: /* c_expr: GROUPING '(' expr_list ')' */ -#line 12319 "preproc.y" +#line 12312 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("grouping ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53706 "preproc.c" +#line 53699 "preproc.c" break; case 2065: /* func_application: func_name '(' ')' */ -#line 12327 "preproc.y" +#line 12320 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-2].str),mm_strdup("( )")); } -#line 53714 "preproc.c" +#line 53707 "preproc.c" break; case 2066: /* func_application: func_name '(' func_arg_list opt_sort_clause ')' */ -#line 12331 "preproc.y" +#line 12324 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 53722 "preproc.c" +#line 53715 "preproc.c" break; case 2067: /* func_application: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')' */ -#line 12335 "preproc.y" +#line 12328 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( variadic"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 53730 "preproc.c" +#line 53723 "preproc.c" break; case 2068: /* func_application: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')' */ -#line 12339 "preproc.y" +#line 12332 "preproc.y" { (yyval.str) = cat_str(7,(yyvsp[-7].str),mm_strdup("("),(yyvsp[-5].str),mm_strdup(", variadic"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 53738 "preproc.c" +#line 53731 "preproc.c" break; case 2069: /* func_application: func_name '(' ALL func_arg_list opt_sort_clause ')' */ -#line 12343 "preproc.y" +#line 12336 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( all"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 53746 "preproc.c" +#line 53739 "preproc.c" break; case 2070: /* func_application: func_name '(' DISTINCT func_arg_list opt_sort_clause ')' */ -#line 12347 "preproc.y" +#line 12340 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-5].str),mm_strdup("( distinct"),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 53754 "preproc.c" +#line 53747 "preproc.c" break; case 2071: /* func_application: func_name '(' '*' ')' */ -#line 12351 "preproc.y" +#line 12344 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-3].str),mm_strdup("( * )")); } -#line 53762 "preproc.c" +#line 53755 "preproc.c" break; case 2072: /* func_expr: func_application within_group_clause filter_clause over_clause */ -#line 12359 "preproc.y" +#line 12352 "preproc.y" { (yyval.str) = cat_str(4,(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 53770 "preproc.c" +#line 53763 "preproc.c" break; case 2073: /* func_expr: func_expr_common_subexpr */ -#line 12363 "preproc.y" +#line 12356 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53778 "preproc.c" +#line 53771 "preproc.c" break; case 2074: /* func_expr_windowless: func_application */ -#line 12371 "preproc.y" +#line 12364 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53786 "preproc.c" +#line 53779 "preproc.c" break; case 2075: /* func_expr_windowless: func_expr_common_subexpr */ -#line 12375 "preproc.y" +#line 12368 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 53794 "preproc.c" +#line 53787 "preproc.c" break; case 2076: /* func_expr_common_subexpr: COLLATION FOR '(' a_expr ')' */ -#line 12383 "preproc.y" +#line 12376 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("collation for ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53802 "preproc.c" +#line 53795 "preproc.c" break; case 2077: /* func_expr_common_subexpr: CURRENT_DATE */ -#line 12387 "preproc.y" +#line 12380 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } -#line 53810 "preproc.c" +#line 53803 "preproc.c" break; case 2078: /* func_expr_common_subexpr: CURRENT_TIME */ -#line 12391 "preproc.y" +#line 12384 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } -#line 53818 "preproc.c" +#line 53811 "preproc.c" break; case 2079: /* func_expr_common_subexpr: CURRENT_TIME '(' Iconst ')' */ -#line 12395 "preproc.y" +#line 12388 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("current_time ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53826 "preproc.c" +#line 53819 "preproc.c" break; case 2080: /* func_expr_common_subexpr: CURRENT_TIMESTAMP */ -#line 12399 "preproc.y" +#line 12392 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } -#line 53834 "preproc.c" +#line 53827 "preproc.c" break; case 2081: /* func_expr_common_subexpr: CURRENT_TIMESTAMP '(' Iconst ')' */ -#line 12403 "preproc.y" +#line 12396 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("current_timestamp ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53842 "preproc.c" +#line 53835 "preproc.c" break; case 2082: /* func_expr_common_subexpr: LOCALTIME */ -#line 12407 "preproc.y" +#line 12400 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } -#line 53850 "preproc.c" +#line 53843 "preproc.c" break; case 2083: /* func_expr_common_subexpr: LOCALTIME '(' Iconst ')' */ -#line 12411 "preproc.y" +#line 12404 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("localtime ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53858 "preproc.c" +#line 53851 "preproc.c" break; case 2084: /* func_expr_common_subexpr: LOCALTIMESTAMP */ -#line 12415 "preproc.y" +#line 12408 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } -#line 53866 "preproc.c" +#line 53859 "preproc.c" break; case 2085: /* func_expr_common_subexpr: LOCALTIMESTAMP '(' Iconst ')' */ -#line 12419 "preproc.y" +#line 12412 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("localtimestamp ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53874 "preproc.c" +#line 53867 "preproc.c" break; case 2086: /* func_expr_common_subexpr: CURRENT_ROLE */ -#line 12423 "preproc.y" +#line 12416 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } -#line 53882 "preproc.c" +#line 53875 "preproc.c" break; case 2087: /* func_expr_common_subexpr: CURRENT_USER */ -#line 12427 "preproc.y" +#line 12420 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } -#line 53890 "preproc.c" +#line 53883 "preproc.c" break; case 2088: /* func_expr_common_subexpr: SESSION_USER */ -#line 12431 "preproc.y" +#line 12424 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } -#line 53898 "preproc.c" +#line 53891 "preproc.c" break; case 2089: /* func_expr_common_subexpr: USER */ -#line 12435 "preproc.y" +#line 12428 "preproc.y" { (yyval.str) = mm_strdup("user"); } -#line 53906 "preproc.c" +#line 53899 "preproc.c" break; case 2090: /* func_expr_common_subexpr: CURRENT_CATALOG */ -#line 12439 "preproc.y" +#line 12432 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } -#line 53914 "preproc.c" +#line 53907 "preproc.c" break; case 2091: /* func_expr_common_subexpr: CURRENT_SCHEMA */ -#line 12443 "preproc.y" +#line 12436 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } -#line 53922 "preproc.c" +#line 53915 "preproc.c" break; case 2092: /* func_expr_common_subexpr: CAST '(' a_expr AS Typename ')' */ -#line 12447 "preproc.y" +#line 12440 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("cast ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } -#line 53930 "preproc.c" +#line 53923 "preproc.c" break; case 2093: /* func_expr_common_subexpr: EXTRACT '(' extract_list ')' */ -#line 12451 "preproc.y" +#line 12444 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("extract ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53938 "preproc.c" +#line 53931 "preproc.c" break; case 2094: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ')' */ -#line 12455 "preproc.y" +#line 12448 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("normalize ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53946 "preproc.c" +#line 53939 "preproc.c" break; case 2095: /* func_expr_common_subexpr: NORMALIZE '(' a_expr ',' unicode_normal_form ')' */ -#line 12459 "preproc.y" +#line 12452 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("normalize ("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 53954 "preproc.c" +#line 53947 "preproc.c" break; case 2096: /* func_expr_common_subexpr: OVERLAY '(' overlay_list ')' */ -#line 12463 "preproc.y" +#line 12456 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("overlay ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53962 "preproc.c" +#line 53955 "preproc.c" break; case 2097: /* func_expr_common_subexpr: OVERLAY '(' func_arg_list_opt ')' */ -#line 12467 "preproc.y" +#line 12460 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("overlay ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53970 "preproc.c" +#line 53963 "preproc.c" break; case 2098: /* func_expr_common_subexpr: POSITION '(' position_list ')' */ -#line 12471 "preproc.y" +#line 12464 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("position ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53978 "preproc.c" +#line 53971 "preproc.c" break; case 2099: /* func_expr_common_subexpr: SUBSTRING '(' substr_list ')' */ -#line 12475 "preproc.y" +#line 12468 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("substring ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53986 "preproc.c" +#line 53979 "preproc.c" break; case 2100: /* func_expr_common_subexpr: SUBSTRING '(' func_arg_list_opt ')' */ -#line 12479 "preproc.y" +#line 12472 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("substring ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 53994 "preproc.c" +#line 53987 "preproc.c" break; case 2101: /* func_expr_common_subexpr: TREAT '(' a_expr AS Typename ')' */ -#line 12483 "preproc.y" +#line 12476 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("treat ("),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54002 "preproc.c" +#line 53995 "preproc.c" break; case 2102: /* func_expr_common_subexpr: TRIM '(' BOTH trim_list ')' */ -#line 12487 "preproc.y" +#line 12480 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( both"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54010 "preproc.c" +#line 54003 "preproc.c" break; case 2103: /* func_expr_common_subexpr: TRIM '(' LEADING trim_list ')' */ -#line 12491 "preproc.y" +#line 12484 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( leading"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54018 "preproc.c" +#line 54011 "preproc.c" break; case 2104: /* func_expr_common_subexpr: TRIM '(' TRAILING trim_list ')' */ -#line 12495 "preproc.y" +#line 12488 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ( trailing"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54026 "preproc.c" +#line 54019 "preproc.c" break; case 2105: /* func_expr_common_subexpr: TRIM '(' trim_list ')' */ -#line 12499 "preproc.y" +#line 12492 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("trim ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54034 "preproc.c" +#line 54027 "preproc.c" break; case 2106: /* func_expr_common_subexpr: NULLIF '(' a_expr ',' a_expr ')' */ -#line 12503 "preproc.y" +#line 12496 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("nullif ("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 54042 "preproc.c" +#line 54035 "preproc.c" break; case 2107: /* func_expr_common_subexpr: COALESCE '(' expr_list ')' */ -#line 12507 "preproc.y" +#line 12500 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("coalesce ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54050 "preproc.c" +#line 54043 "preproc.c" break; case 2108: /* func_expr_common_subexpr: GREATEST '(' expr_list ')' */ -#line 12511 "preproc.y" +#line 12504 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("greatest ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54058 "preproc.c" +#line 54051 "preproc.c" break; case 2109: /* func_expr_common_subexpr: LEAST '(' expr_list ')' */ -#line 12515 "preproc.y" +#line 12508 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("least ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54066 "preproc.c" +#line 54059 "preproc.c" break; case 2110: /* func_expr_common_subexpr: XMLCONCAT '(' expr_list ')' */ -#line 12519 "preproc.y" +#line 12512 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlconcat ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54074 "preproc.c" +#line 54067 "preproc.c" break; case 2111: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ')' */ -#line 12523 "preproc.y" +#line 12516 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlelement ( name"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54082 "preproc.c" +#line 54075 "preproc.c" break; case 2112: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')' */ -#line 12527 "preproc.y" +#line 12520 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlelement ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 54090 "preproc.c" +#line 54083 "preproc.c" break; case 2113: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')' */ -#line 12531 "preproc.y" +#line 12524 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlelement ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 54098 "preproc.c" +#line 54091 "preproc.c" break; case 2114: /* func_expr_common_subexpr: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')' */ -#line 12535 "preproc.y" +#line 12528 "preproc.y" { (yyval.str) = cat_str(7,mm_strdup("xmlelement ( name"),(yyvsp[-5].str),mm_strdup(","),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 54106 "preproc.c" +#line 54099 "preproc.c" break; case 2115: /* func_expr_common_subexpr: XMLEXISTS '(' c_expr xmlexists_argument ')' */ -#line 12539 "preproc.y" +#line 12532 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("xmlexists ("),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 54114 "preproc.c" +#line 54107 "preproc.c" break; case 2116: /* func_expr_common_subexpr: XMLFOREST '(' xml_attribute_list ')' */ -#line 12543 "preproc.y" +#line 12536 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlforest ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54122 "preproc.c" +#line 54115 "preproc.c" break; case 2117: /* func_expr_common_subexpr: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')' */ -#line 12547 "preproc.y" +#line 12540 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlparse ("),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 54130 "preproc.c" +#line 54123 "preproc.c" break; case 2118: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ')' */ -#line 12551 "preproc.y" +#line 12544 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlpi ( name"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54138 "preproc.c" +#line 54131 "preproc.c" break; case 2119: /* func_expr_common_subexpr: XMLPI '(' NAME_P ColLabel ',' a_expr ')' */ -#line 12555 "preproc.y" +#line 12548 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("xmlpi ( name"),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 54146 "preproc.c" +#line 54139 "preproc.c" break; case 2120: /* func_expr_common_subexpr: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')' */ -#line 12559 "preproc.y" +#line 12552 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("xmlroot ("),(yyvsp[-4].str),mm_strdup(","),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 54154 "preproc.c" +#line 54147 "preproc.c" break; case 2121: /* func_expr_common_subexpr: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename ')' */ -#line 12563 "preproc.y" +#line 12556 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("xmlserialize ("),(yyvsp[-4].str),(yyvsp[-3].str),mm_strdup("as"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54162 "preproc.c" +#line 54155 "preproc.c" break; case 2122: /* xml_root_version: VERSION_P a_expr */ -#line 12571 "preproc.y" +#line 12564 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("version"),(yyvsp[0].str)); } -#line 54170 "preproc.c" +#line 54163 "preproc.c" break; case 2123: /* xml_root_version: VERSION_P NO VALUE_P */ -#line 12575 "preproc.y" +#line 12568 "preproc.y" { (yyval.str) = mm_strdup("version no value"); } -#line 54178 "preproc.c" +#line 54171 "preproc.c" break; case 2124: /* opt_xml_root_standalone: ',' STANDALONE_P YES_P */ -#line 12583 "preproc.y" +#line 12576 "preproc.y" { (yyval.str) = mm_strdup(", standalone yes"); } -#line 54186 "preproc.c" +#line 54179 "preproc.c" break; case 2125: /* opt_xml_root_standalone: ',' STANDALONE_P NO */ -#line 12587 "preproc.y" +#line 12580 "preproc.y" { (yyval.str) = mm_strdup(", standalone no"); } -#line 54194 "preproc.c" +#line 54187 "preproc.c" break; case 2126: /* opt_xml_root_standalone: ',' STANDALONE_P NO VALUE_P */ -#line 12591 "preproc.y" +#line 12584 "preproc.y" { (yyval.str) = mm_strdup(", standalone no value"); } -#line 54202 "preproc.c" +#line 54195 "preproc.c" break; case 2127: /* opt_xml_root_standalone: %empty */ -#line 12595 "preproc.y" +#line 12588 "preproc.y" { (yyval.str)=EMPTY; } -#line 54209 "preproc.c" +#line 54202 "preproc.c" break; case 2128: /* xml_attributes: XMLATTRIBUTES '(' xml_attribute_list ')' */ -#line 12602 "preproc.y" +#line 12595 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("xmlattributes ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54217 "preproc.c" +#line 54210 "preproc.c" break; case 2129: /* xml_attribute_list: xml_attribute_el */ -#line 12610 "preproc.y" +#line 12603 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54225 "preproc.c" +#line 54218 "preproc.c" break; case 2130: /* xml_attribute_list: xml_attribute_list ',' xml_attribute_el */ -#line 12614 "preproc.y" +#line 12607 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 54233 "preproc.c" +#line 54226 "preproc.c" break; case 2131: /* xml_attribute_el: a_expr AS ColLabel */ -#line 12622 "preproc.y" +#line 12615 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } -#line 54241 "preproc.c" +#line 54234 "preproc.c" break; case 2132: /* xml_attribute_el: a_expr */ -#line 12626 "preproc.y" +#line 12619 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54249 "preproc.c" +#line 54242 "preproc.c" break; case 2133: /* document_or_content: DOCUMENT_P */ -#line 12634 "preproc.y" +#line 12627 "preproc.y" { (yyval.str) = mm_strdup("document"); } -#line 54257 "preproc.c" +#line 54250 "preproc.c" break; case 2134: /* document_or_content: CONTENT_P */ -#line 12638 "preproc.y" +#line 12631 "preproc.y" { (yyval.str) = mm_strdup("content"); } -#line 54265 "preproc.c" +#line 54258 "preproc.c" break; case 2135: /* xml_whitespace_option: PRESERVE WHITESPACE_P */ -#line 12646 "preproc.y" +#line 12639 "preproc.y" { (yyval.str) = mm_strdup("preserve whitespace"); } -#line 54273 "preproc.c" +#line 54266 "preproc.c" break; case 2136: /* xml_whitespace_option: STRIP_P WHITESPACE_P */ -#line 12650 "preproc.y" +#line 12643 "preproc.y" { (yyval.str) = mm_strdup("strip whitespace"); } -#line 54281 "preproc.c" +#line 54274 "preproc.c" break; case 2137: /* xml_whitespace_option: %empty */ -#line 12654 "preproc.y" +#line 12647 "preproc.y" { (yyval.str)=EMPTY; } -#line 54288 "preproc.c" +#line 54281 "preproc.c" break; case 2138: /* xmlexists_argument: PASSING c_expr */ -#line 12661 "preproc.y" +#line 12654 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("passing"),(yyvsp[0].str)); } -#line 54296 "preproc.c" +#line 54289 "preproc.c" break; case 2139: /* xmlexists_argument: PASSING c_expr xml_passing_mech */ -#line 12665 "preproc.y" +#line 12658 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("passing"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 54304 "preproc.c" +#line 54297 "preproc.c" break; case 2140: /* xmlexists_argument: PASSING xml_passing_mech c_expr */ -#line 12669 "preproc.y" +#line 12662 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("passing"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 54312 "preproc.c" +#line 54305 "preproc.c" break; case 2141: /* xmlexists_argument: PASSING xml_passing_mech c_expr xml_passing_mech */ -#line 12673 "preproc.y" +#line 12666 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("passing"),(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 54320 "preproc.c" +#line 54313 "preproc.c" break; case 2142: /* xml_passing_mech: BY REF_P */ -#line 12681 "preproc.y" +#line 12674 "preproc.y" { (yyval.str) = mm_strdup("by ref"); } -#line 54328 "preproc.c" +#line 54321 "preproc.c" break; case 2143: /* xml_passing_mech: BY VALUE_P */ -#line 12685 "preproc.y" +#line 12678 "preproc.y" { (yyval.str) = mm_strdup("by value"); } -#line 54336 "preproc.c" +#line 54329 "preproc.c" break; case 2144: /* within_group_clause: WITHIN GROUP_P '(' sort_clause ')' */ -#line 12693 "preproc.y" +#line 12686 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("within group ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54344 "preproc.c" +#line 54337 "preproc.c" break; case 2145: /* within_group_clause: %empty */ -#line 12697 "preproc.y" +#line 12690 "preproc.y" { (yyval.str)=EMPTY; } -#line 54351 "preproc.c" +#line 54344 "preproc.c" break; case 2146: /* filter_clause: FILTER '(' WHERE a_expr ')' */ -#line 12704 "preproc.y" +#line 12697 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("filter ( where"),(yyvsp[-1].str),mm_strdup(")")); } -#line 54359 "preproc.c" +#line 54352 "preproc.c" break; case 2147: /* filter_clause: %empty */ -#line 12708 "preproc.y" +#line 12701 "preproc.y" { (yyval.str)=EMPTY; } -#line 54366 "preproc.c" +#line 54359 "preproc.c" break; case 2148: /* window_clause: WINDOW window_definition_list */ -#line 12715 "preproc.y" +#line 12708 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("window"),(yyvsp[0].str)); } -#line 54374 "preproc.c" +#line 54367 "preproc.c" break; case 2149: /* window_clause: %empty */ -#line 12719 "preproc.y" +#line 12712 "preproc.y" { (yyval.str)=EMPTY; } -#line 54381 "preproc.c" +#line 54374 "preproc.c" break; case 2150: /* window_definition_list: window_definition */ -#line 12726 "preproc.y" +#line 12719 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54389 "preproc.c" +#line 54382 "preproc.c" break; case 2151: /* window_definition_list: window_definition_list ',' window_definition */ -#line 12730 "preproc.y" +#line 12723 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 54397 "preproc.c" +#line 54390 "preproc.c" break; case 2152: /* window_definition: ColId AS window_specification */ -#line 12738 "preproc.y" +#line 12731 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } -#line 54405 "preproc.c" +#line 54398 "preproc.c" break; case 2153: /* over_clause: OVER window_specification */ -#line 12746 "preproc.y" +#line 12739 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("over"),(yyvsp[0].str)); } -#line 54413 "preproc.c" +#line 54406 "preproc.c" break; case 2154: /* over_clause: OVER ColId */ -#line 12750 "preproc.y" +#line 12743 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("over"),(yyvsp[0].str)); } -#line 54421 "preproc.c" +#line 54414 "preproc.c" break; case 2155: /* over_clause: %empty */ -#line 12754 "preproc.y" +#line 12747 "preproc.y" { (yyval.str)=EMPTY; } -#line 54428 "preproc.c" +#line 54421 "preproc.c" break; case 2156: /* window_specification: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')' */ -#line 12761 "preproc.y" +#line 12754 "preproc.y" { (yyval.str) = cat_str(6,mm_strdup("("),(yyvsp[-4].str),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup(")")); } -#line 54436 "preproc.c" +#line 54429 "preproc.c" break; case 2157: /* opt_existing_window_name: ColId */ -#line 12769 "preproc.y" +#line 12762 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54444 "preproc.c" +#line 54437 "preproc.c" break; case 2158: /* opt_existing_window_name: %empty */ -#line 12773 "preproc.y" +#line 12766 "preproc.y" { (yyval.str)=EMPTY; } -#line 54451 "preproc.c" +#line 54444 "preproc.c" break; case 2159: /* opt_partition_clause: PARTITION BY expr_list */ -#line 12780 "preproc.y" +#line 12773 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("partition by"),(yyvsp[0].str)); } -#line 54459 "preproc.c" +#line 54452 "preproc.c" break; case 2160: /* opt_partition_clause: %empty */ -#line 12784 "preproc.y" +#line 12777 "preproc.y" { (yyval.str)=EMPTY; } -#line 54466 "preproc.c" +#line 54459 "preproc.c" break; case 2161: /* opt_frame_clause: RANGE frame_extent opt_window_exclusion_clause */ -#line 12791 "preproc.y" +#line 12784 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("range"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 54474 "preproc.c" +#line 54467 "preproc.c" break; case 2162: /* opt_frame_clause: ROWS frame_extent opt_window_exclusion_clause */ -#line 12795 "preproc.y" +#line 12788 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("rows"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 54482 "preproc.c" +#line 54475 "preproc.c" break; case 2163: /* opt_frame_clause: GROUPS frame_extent opt_window_exclusion_clause */ -#line 12799 "preproc.y" +#line 12792 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("groups"),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 54490 "preproc.c" +#line 54483 "preproc.c" break; case 2164: /* opt_frame_clause: %empty */ -#line 12803 "preproc.y" +#line 12796 "preproc.y" { (yyval.str)=EMPTY; } -#line 54497 "preproc.c" +#line 54490 "preproc.c" break; case 2165: /* frame_extent: frame_bound */ -#line 12810 "preproc.y" +#line 12803 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54505 "preproc.c" +#line 54498 "preproc.c" break; case 2166: /* frame_extent: BETWEEN frame_bound AND frame_bound */ -#line 12814 "preproc.y" +#line 12807 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("between"),(yyvsp[-2].str),mm_strdup("and"),(yyvsp[0].str)); } -#line 54513 "preproc.c" +#line 54506 "preproc.c" break; case 2167: /* frame_bound: UNBOUNDED PRECEDING */ -#line 12822 "preproc.y" +#line 12815 "preproc.y" { (yyval.str) = mm_strdup("unbounded preceding"); } -#line 54521 "preproc.c" +#line 54514 "preproc.c" break; case 2168: /* frame_bound: UNBOUNDED FOLLOWING */ -#line 12826 "preproc.y" +#line 12819 "preproc.y" { (yyval.str) = mm_strdup("unbounded following"); } -#line 54529 "preproc.c" +#line 54522 "preproc.c" break; case 2169: /* frame_bound: CURRENT_P ROW */ -#line 12830 "preproc.y" +#line 12823 "preproc.y" { (yyval.str) = mm_strdup("current row"); } -#line 54537 "preproc.c" +#line 54530 "preproc.c" break; case 2170: /* frame_bound: a_expr PRECEDING */ -#line 12834 "preproc.y" +#line 12827 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("preceding")); } -#line 54545 "preproc.c" +#line 54538 "preproc.c" break; case 2171: /* frame_bound: a_expr FOLLOWING */ -#line 12838 "preproc.y" +#line 12831 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),mm_strdup("following")); } -#line 54553 "preproc.c" +#line 54546 "preproc.c" break; case 2172: /* opt_window_exclusion_clause: EXCLUDE CURRENT_P ROW */ -#line 12846 "preproc.y" +#line 12839 "preproc.y" { (yyval.str) = mm_strdup("exclude current row"); } -#line 54561 "preproc.c" +#line 54554 "preproc.c" break; case 2173: /* opt_window_exclusion_clause: EXCLUDE GROUP_P */ -#line 12850 "preproc.y" +#line 12843 "preproc.y" { (yyval.str) = mm_strdup("exclude group"); } -#line 54569 "preproc.c" +#line 54562 "preproc.c" break; case 2174: /* opt_window_exclusion_clause: EXCLUDE TIES */ -#line 12854 "preproc.y" +#line 12847 "preproc.y" { (yyval.str) = mm_strdup("exclude ties"); } -#line 54577 "preproc.c" +#line 54570 "preproc.c" break; case 2175: /* opt_window_exclusion_clause: EXCLUDE NO OTHERS */ -#line 12858 "preproc.y" +#line 12851 "preproc.y" { (yyval.str) = mm_strdup("exclude no others"); } -#line 54585 "preproc.c" +#line 54578 "preproc.c" break; case 2176: /* opt_window_exclusion_clause: %empty */ -#line 12862 "preproc.y" +#line 12855 "preproc.y" { (yyval.str)=EMPTY; } -#line 54592 "preproc.c" +#line 54585 "preproc.c" break; case 2177: /* row: ROW '(' expr_list ')' */ -#line 12869 "preproc.y" +#line 12862 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("row ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54600 "preproc.c" +#line 54593 "preproc.c" break; case 2178: /* row: ROW '(' ')' */ -#line 12873 "preproc.y" +#line 12866 "preproc.y" { (yyval.str) = mm_strdup("row ( )"); } -#line 54608 "preproc.c" +#line 54601 "preproc.c" break; case 2179: /* row: '(' expr_list ',' a_expr ')' */ -#line 12877 "preproc.y" +#line 12870 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 54616 "preproc.c" +#line 54609 "preproc.c" break; case 2180: /* explicit_row: ROW '(' expr_list ')' */ -#line 12885 "preproc.y" +#line 12878 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("row ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54624 "preproc.c" +#line 54617 "preproc.c" break; case 2181: /* explicit_row: ROW '(' ')' */ -#line 12889 "preproc.y" +#line 12882 "preproc.y" { (yyval.str) = mm_strdup("row ( )"); } -#line 54632 "preproc.c" +#line 54625 "preproc.c" break; case 2182: /* implicit_row: '(' expr_list ',' a_expr ')' */ -#line 12897 "preproc.y" +#line 12890 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("("),(yyvsp[-3].str),mm_strdup(","),(yyvsp[-1].str),mm_strdup(")")); } -#line 54640 "preproc.c" +#line 54633 "preproc.c" break; case 2183: /* sub_type: ANY */ -#line 12905 "preproc.y" +#line 12898 "preproc.y" { (yyval.str) = mm_strdup("any"); } -#line 54648 "preproc.c" +#line 54641 "preproc.c" break; case 2184: /* sub_type: SOME */ -#line 12909 "preproc.y" +#line 12902 "preproc.y" { (yyval.str) = mm_strdup("some"); } -#line 54656 "preproc.c" +#line 54649 "preproc.c" break; case 2185: /* sub_type: ALL */ -#line 12913 "preproc.y" +#line 12906 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 54664 "preproc.c" +#line 54657 "preproc.c" break; case 2186: /* all_Op: Op */ -#line 12921 "preproc.y" +#line 12914 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54672 "preproc.c" +#line 54665 "preproc.c" break; case 2187: /* all_Op: MathOp */ -#line 12925 "preproc.y" +#line 12918 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54680 "preproc.c" +#line 54673 "preproc.c" break; case 2188: /* MathOp: '+' */ -#line 12933 "preproc.y" +#line 12926 "preproc.y" { (yyval.str) = mm_strdup("+"); } -#line 54688 "preproc.c" +#line 54681 "preproc.c" break; case 2189: /* MathOp: '-' */ -#line 12937 "preproc.y" +#line 12930 "preproc.y" { (yyval.str) = mm_strdup("-"); } -#line 54696 "preproc.c" +#line 54689 "preproc.c" break; case 2190: /* MathOp: '*' */ -#line 12941 "preproc.y" +#line 12934 "preproc.y" { (yyval.str) = mm_strdup("*"); } -#line 54704 "preproc.c" +#line 54697 "preproc.c" break; case 2191: /* MathOp: '/' */ -#line 12945 "preproc.y" +#line 12938 "preproc.y" { (yyval.str) = mm_strdup("/"); } -#line 54712 "preproc.c" +#line 54705 "preproc.c" break; case 2192: /* MathOp: '%' */ -#line 12949 "preproc.y" +#line 12942 "preproc.y" { (yyval.str) = mm_strdup("%"); } -#line 54720 "preproc.c" +#line 54713 "preproc.c" break; case 2193: /* MathOp: '^' */ -#line 12953 "preproc.y" +#line 12946 "preproc.y" { (yyval.str) = mm_strdup("^"); } -#line 54728 "preproc.c" +#line 54721 "preproc.c" break; case 2194: /* MathOp: '<' */ -#line 12957 "preproc.y" +#line 12950 "preproc.y" { (yyval.str) = mm_strdup("<"); } -#line 54736 "preproc.c" +#line 54729 "preproc.c" break; case 2195: /* MathOp: '>' */ -#line 12961 "preproc.y" +#line 12954 "preproc.y" { (yyval.str) = mm_strdup(">"); } -#line 54744 "preproc.c" +#line 54737 "preproc.c" break; case 2196: /* MathOp: '=' */ -#line 12965 "preproc.y" +#line 12958 "preproc.y" { (yyval.str) = mm_strdup("="); } -#line 54752 "preproc.c" +#line 54745 "preproc.c" break; case 2197: /* MathOp: LESS_EQUALS */ -#line 12969 "preproc.y" +#line 12962 "preproc.y" { (yyval.str) = mm_strdup("<="); } -#line 54760 "preproc.c" +#line 54753 "preproc.c" break; case 2198: /* MathOp: GREATER_EQUALS */ -#line 12973 "preproc.y" +#line 12966 "preproc.y" { (yyval.str) = mm_strdup(">="); } -#line 54768 "preproc.c" +#line 54761 "preproc.c" break; case 2199: /* MathOp: NOT_EQUALS */ -#line 12977 "preproc.y" +#line 12970 "preproc.y" { (yyval.str) = mm_strdup("<>"); } -#line 54776 "preproc.c" +#line 54769 "preproc.c" break; case 2200: /* qual_Op: Op */ -#line 12985 "preproc.y" +#line 12978 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54784 "preproc.c" +#line 54777 "preproc.c" break; case 2201: /* qual_Op: OPERATOR '(' any_operator ')' */ -#line 12989 "preproc.y" +#line 12982 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54792 "preproc.c" +#line 54785 "preproc.c" break; case 2202: /* qual_all_Op: all_Op */ -#line 12997 "preproc.y" +#line 12990 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54800 "preproc.c" +#line 54793 "preproc.c" break; case 2203: /* qual_all_Op: OPERATOR '(' any_operator ')' */ -#line 13001 "preproc.y" +#line 12994 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54808 "preproc.c" +#line 54801 "preproc.c" break; case 2204: /* subquery_Op: all_Op */ -#line 13009 "preproc.y" +#line 13002 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54816 "preproc.c" +#line 54809 "preproc.c" break; case 2205: /* subquery_Op: OPERATOR '(' any_operator ')' */ -#line 13013 "preproc.y" +#line 13006 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("operator ("),(yyvsp[-1].str),mm_strdup(")")); } -#line 54824 "preproc.c" +#line 54817 "preproc.c" break; case 2206: /* subquery_Op: LIKE */ -#line 13017 "preproc.y" +#line 13010 "preproc.y" { (yyval.str) = mm_strdup("like"); } -#line 54832 "preproc.c" +#line 54825 "preproc.c" break; case 2207: /* subquery_Op: NOT_LA LIKE */ -#line 13021 "preproc.y" +#line 13014 "preproc.y" { (yyval.str) = mm_strdup("not like"); } -#line 54840 "preproc.c" +#line 54833 "preproc.c" break; case 2208: /* subquery_Op: ILIKE */ -#line 13025 "preproc.y" +#line 13018 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } -#line 54848 "preproc.c" +#line 54841 "preproc.c" break; case 2209: /* subquery_Op: NOT_LA ILIKE */ -#line 13029 "preproc.y" +#line 13022 "preproc.y" { (yyval.str) = mm_strdup("not ilike"); } -#line 54856 "preproc.c" +#line 54849 "preproc.c" break; case 2210: /* expr_list: a_expr */ -#line 13037 "preproc.y" +#line 13030 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54864 "preproc.c" +#line 54857 "preproc.c" break; case 2211: /* expr_list: expr_list ',' a_expr */ -#line 13041 "preproc.y" +#line 13034 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 54872 "preproc.c" +#line 54865 "preproc.c" break; case 2212: /* func_arg_list: func_arg_expr */ -#line 13049 "preproc.y" +#line 13042 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54880 "preproc.c" +#line 54873 "preproc.c" break; case 2213: /* func_arg_list: func_arg_list ',' func_arg_expr */ -#line 13053 "preproc.y" +#line 13046 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 54888 "preproc.c" +#line 54881 "preproc.c" break; case 2214: /* func_arg_expr: a_expr */ -#line 13061 "preproc.y" +#line 13054 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54896 "preproc.c" +#line 54889 "preproc.c" break; case 2215: /* func_arg_expr: param_name COLON_EQUALS a_expr */ -#line 13065 "preproc.y" +#line 13058 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(":="),(yyvsp[0].str)); } -#line 54904 "preproc.c" +#line 54897 "preproc.c" break; case 2216: /* func_arg_expr: param_name EQUALS_GREATER a_expr */ -#line 13069 "preproc.y" +#line 13062 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("=>"),(yyvsp[0].str)); } -#line 54912 "preproc.c" +#line 54905 "preproc.c" break; case 2217: /* func_arg_list_opt: func_arg_list */ -#line 13077 "preproc.y" +#line 13070 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54920 "preproc.c" +#line 54913 "preproc.c" break; case 2218: /* func_arg_list_opt: %empty */ -#line 13081 "preproc.y" +#line 13074 "preproc.y" { (yyval.str)=EMPTY; } -#line 54927 "preproc.c" +#line 54920 "preproc.c" break; case 2219: /* type_list: Typename */ -#line 13088 "preproc.y" +#line 13081 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54935 "preproc.c" +#line 54928 "preproc.c" break; case 2220: /* type_list: type_list ',' Typename */ -#line 13092 "preproc.y" +#line 13085 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 54943 "preproc.c" +#line 54936 "preproc.c" break; case 2221: /* array_expr: '[' expr_list ']' */ -#line 13100 "preproc.y" +#line 13093 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } -#line 54951 "preproc.c" +#line 54944 "preproc.c" break; case 2222: /* array_expr: '[' array_expr_list ']' */ -#line 13104 "preproc.y" +#line 13097 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } -#line 54959 "preproc.c" +#line 54952 "preproc.c" break; case 2223: /* array_expr: '[' ']' */ -#line 13108 "preproc.y" +#line 13101 "preproc.y" { (yyval.str) = mm_strdup("[ ]"); } -#line 54967 "preproc.c" +#line 54960 "preproc.c" break; case 2224: /* array_expr_list: array_expr */ -#line 13116 "preproc.y" +#line 13109 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54975 "preproc.c" +#line 54968 "preproc.c" break; case 2225: /* array_expr_list: array_expr_list ',' array_expr */ -#line 13120 "preproc.y" +#line 13113 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 54983 "preproc.c" +#line 54976 "preproc.c" break; case 2226: /* extract_list: extract_arg FROM a_expr */ -#line 13128 "preproc.y" +#line 13121 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 54991 "preproc.c" +#line 54984 "preproc.c" break; case 2227: /* extract_arg: ecpg_ident */ -#line 13136 "preproc.y" +#line 13129 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 54999 "preproc.c" +#line 54992 "preproc.c" break; case 2228: /* extract_arg: YEAR_P */ -#line 13140 "preproc.y" +#line 13133 "preproc.y" { (yyval.str) = mm_strdup("year"); } -#line 55007 "preproc.c" +#line 55000 "preproc.c" break; case 2229: /* extract_arg: MONTH_P */ -#line 13144 "preproc.y" +#line 13137 "preproc.y" { (yyval.str) = mm_strdup("month"); } -#line 55015 "preproc.c" +#line 55008 "preproc.c" break; case 2230: /* extract_arg: DAY_P */ -#line 13148 "preproc.y" +#line 13141 "preproc.y" { (yyval.str) = mm_strdup("day"); } -#line 55023 "preproc.c" +#line 55016 "preproc.c" break; case 2231: /* extract_arg: HOUR_P */ -#line 13152 "preproc.y" +#line 13145 "preproc.y" { (yyval.str) = mm_strdup("hour"); } -#line 55031 "preproc.c" +#line 55024 "preproc.c" break; case 2232: /* extract_arg: MINUTE_P */ -#line 13156 "preproc.y" +#line 13149 "preproc.y" { (yyval.str) = mm_strdup("minute"); } -#line 55039 "preproc.c" +#line 55032 "preproc.c" break; case 2233: /* extract_arg: SECOND_P */ -#line 13160 "preproc.y" +#line 13153 "preproc.y" { (yyval.str) = mm_strdup("second"); } -#line 55047 "preproc.c" +#line 55040 "preproc.c" break; case 2234: /* extract_arg: ecpg_sconst */ -#line 13164 "preproc.y" +#line 13157 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55055 "preproc.c" +#line 55048 "preproc.c" break; case 2235: /* unicode_normal_form: NFC */ -#line 13172 "preproc.y" +#line 13165 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } -#line 55063 "preproc.c" +#line 55056 "preproc.c" break; case 2236: /* unicode_normal_form: NFD */ -#line 13176 "preproc.y" +#line 13169 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } -#line 55071 "preproc.c" +#line 55064 "preproc.c" break; case 2237: /* unicode_normal_form: NFKC */ -#line 13180 "preproc.y" +#line 13173 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } -#line 55079 "preproc.c" +#line 55072 "preproc.c" break; case 2238: /* unicode_normal_form: NFKD */ -#line 13184 "preproc.y" +#line 13177 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } -#line 55087 "preproc.c" +#line 55080 "preproc.c" break; case 2239: /* overlay_list: a_expr PLACING a_expr FROM a_expr FOR a_expr */ -#line 13192 "preproc.y" +#line 13185 "preproc.y" { (yyval.str) = cat_str(7,(yyvsp[-6].str),mm_strdup("placing"),(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } -#line 55095 "preproc.c" +#line 55088 "preproc.c" break; case 2240: /* overlay_list: a_expr PLACING a_expr FROM a_expr */ -#line 13196 "preproc.y" +#line 13189 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("placing"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 55103 "preproc.c" +#line 55096 "preproc.c" break; case 2241: /* position_list: b_expr IN_P b_expr */ -#line 13204 "preproc.y" +#line 13197 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("in"),(yyvsp[0].str)); } -#line 55111 "preproc.c" +#line 55104 "preproc.c" break; case 2242: /* substr_list: a_expr FROM a_expr FOR a_expr */ -#line 13212 "preproc.y" +#line 13205 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("from"),(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } -#line 55119 "preproc.c" +#line 55112 "preproc.c" break; case 2243: /* substr_list: a_expr FOR a_expr FROM a_expr */ -#line 13216 "preproc.y" +#line 13209 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("for"),(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 55127 "preproc.c" +#line 55120 "preproc.c" break; case 2244: /* substr_list: a_expr FROM a_expr */ -#line 13220 "preproc.y" +#line 13213 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 55135 "preproc.c" +#line 55128 "preproc.c" break; case 2245: /* substr_list: a_expr FOR a_expr */ -#line 13224 "preproc.y" +#line 13217 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("for"),(yyvsp[0].str)); } -#line 55143 "preproc.c" +#line 55136 "preproc.c" break; case 2246: /* substr_list: a_expr SIMILAR a_expr ESCAPE a_expr */ -#line 13228 "preproc.y" +#line 13221 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("similar"),(yyvsp[-2].str),mm_strdup("escape"),(yyvsp[0].str)); } -#line 55151 "preproc.c" +#line 55144 "preproc.c" break; case 2247: /* trim_list: a_expr FROM expr_list */ -#line 13236 "preproc.y" +#line 13229 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("from"),(yyvsp[0].str)); } -#line 55159 "preproc.c" +#line 55152 "preproc.c" break; case 2248: /* trim_list: FROM expr_list */ -#line 13240 "preproc.y" +#line 13233 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("from"),(yyvsp[0].str)); } -#line 55167 "preproc.c" +#line 55160 "preproc.c" break; case 2249: /* trim_list: expr_list */ -#line 13244 "preproc.y" +#line 13237 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55175 "preproc.c" +#line 55168 "preproc.c" break; case 2250: /* in_expr: select_with_parens */ -#line 13252 "preproc.y" +#line 13245 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55183 "preproc.c" +#line 55176 "preproc.c" break; case 2251: /* in_expr: '(' expr_list ')' */ -#line 13256 "preproc.y" +#line 13249 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("("),(yyvsp[-1].str),mm_strdup(")")); } -#line 55191 "preproc.c" +#line 55184 "preproc.c" break; case 2252: /* case_expr: CASE case_arg when_clause_list case_default END_P */ -#line 13264 "preproc.y" +#line 13257 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("case"),(yyvsp[-3].str),(yyvsp[-2].str),(yyvsp[-1].str),mm_strdup("end")); } -#line 55199 "preproc.c" +#line 55192 "preproc.c" break; case 2253: /* when_clause_list: when_clause */ -#line 13272 "preproc.y" +#line 13265 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55207 "preproc.c" +#line 55200 "preproc.c" break; case 2254: /* when_clause_list: when_clause_list when_clause */ -#line 13276 "preproc.y" +#line 13269 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55215 "preproc.c" +#line 55208 "preproc.c" break; case 2255: /* when_clause: WHEN a_expr THEN a_expr */ -#line 13284 "preproc.y" +#line 13277 "preproc.y" { (yyval.str) = cat_str(4,mm_strdup("when"),(yyvsp[-2].str),mm_strdup("then"),(yyvsp[0].str)); } -#line 55223 "preproc.c" +#line 55216 "preproc.c" break; case 2256: /* case_default: ELSE a_expr */ -#line 13292 "preproc.y" +#line 13285 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("else"),(yyvsp[0].str)); } -#line 55231 "preproc.c" +#line 55224 "preproc.c" break; case 2257: /* case_default: %empty */ -#line 13296 "preproc.y" +#line 13289 "preproc.y" { (yyval.str)=EMPTY; } -#line 55238 "preproc.c" +#line 55231 "preproc.c" break; case 2258: /* case_arg: a_expr */ -#line 13303 "preproc.y" +#line 13296 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55246 "preproc.c" +#line 55239 "preproc.c" break; case 2259: /* case_arg: %empty */ -#line 13307 "preproc.y" +#line 13300 "preproc.y" { (yyval.str)=EMPTY; } -#line 55253 "preproc.c" +#line 55246 "preproc.c" break; case 2260: /* columnref: ColId */ -#line 13314 "preproc.y" +#line 13307 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55261 "preproc.c" +#line 55254 "preproc.c" break; case 2261: /* columnref: ColId indirection */ -#line 13318 "preproc.y" +#line 13311 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55269 "preproc.c" +#line 55262 "preproc.c" break; case 2262: /* indirection_el: '.' attr_name */ -#line 13326 "preproc.y" +#line 13319 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("."),(yyvsp[0].str)); } -#line 55277 "preproc.c" +#line 55270 "preproc.c" break; case 2263: /* indirection_el: '.' '*' */ -#line 13330 "preproc.y" +#line 13323 "preproc.y" { (yyval.str) = mm_strdup(". *"); } -#line 55285 "preproc.c" +#line 55278 "preproc.c" break; case 2264: /* indirection_el: '[' a_expr ']' */ -#line 13334 "preproc.y" +#line 13327 "preproc.y" { (yyval.str) = cat_str(3,mm_strdup("["),(yyvsp[-1].str),mm_strdup("]")); } -#line 55293 "preproc.c" +#line 55286 "preproc.c" break; case 2265: /* indirection_el: '[' opt_slice_bound ':' opt_slice_bound ']' */ -#line 13338 "preproc.y" +#line 13331 "preproc.y" { (yyval.str) = cat_str(5,mm_strdup("["),(yyvsp[-3].str),mm_strdup(":"),(yyvsp[-1].str),mm_strdup("]")); } -#line 55301 "preproc.c" +#line 55294 "preproc.c" break; case 2266: /* opt_slice_bound: a_expr */ -#line 13346 "preproc.y" +#line 13339 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55309 "preproc.c" +#line 55302 "preproc.c" break; case 2267: /* opt_slice_bound: %empty */ -#line 13350 "preproc.y" +#line 13343 "preproc.y" { (yyval.str)=EMPTY; } -#line 55316 "preproc.c" +#line 55309 "preproc.c" break; case 2268: /* indirection: indirection_el */ -#line 13357 "preproc.y" +#line 13350 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55324 "preproc.c" +#line 55317 "preproc.c" break; case 2269: /* indirection: indirection indirection_el */ -#line 13361 "preproc.y" +#line 13354 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55332 "preproc.c" +#line 55325 "preproc.c" break; case 2270: /* opt_indirection: %empty */ -#line 13369 "preproc.y" +#line 13362 "preproc.y" { (yyval.str)=EMPTY; } -#line 55339 "preproc.c" +#line 55332 "preproc.c" break; case 2271: /* opt_indirection: opt_indirection indirection_el */ -#line 13372 "preproc.y" +#line 13365 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55347 "preproc.c" +#line 55340 "preproc.c" break; case 2272: /* opt_asymmetric: ASYMMETRIC */ -#line 13380 "preproc.y" +#line 13373 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } -#line 55355 "preproc.c" +#line 55348 "preproc.c" break; case 2273: /* opt_asymmetric: %empty */ -#line 13384 "preproc.y" +#line 13377 "preproc.y" { (yyval.str)=EMPTY; } -#line 55362 "preproc.c" +#line 55355 "preproc.c" break; case 2274: /* opt_target_list: target_list */ -#line 13391 "preproc.y" +#line 13384 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55370 "preproc.c" +#line 55363 "preproc.c" break; case 2275: /* opt_target_list: %empty */ -#line 13395 "preproc.y" +#line 13388 "preproc.y" { (yyval.str)=EMPTY; } -#line 55377 "preproc.c" +#line 55370 "preproc.c" break; case 2276: /* target_list: target_el */ -#line 13402 "preproc.y" +#line 13395 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55385 "preproc.c" +#line 55378 "preproc.c" break; case 2277: /* target_list: target_list ',' target_el */ -#line 13406 "preproc.y" +#line 13399 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 55393 "preproc.c" +#line 55386 "preproc.c" break; case 2278: /* target_el: a_expr AS ColLabel */ -#line 13414 "preproc.y" +#line 13407 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup("as"),(yyvsp[0].str)); } -#line 55401 "preproc.c" +#line 55394 "preproc.c" break; case 2279: /* target_el: a_expr BareColLabel */ -#line 13418 "preproc.y" +#line 13411 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55409 "preproc.c" +#line 55402 "preproc.c" break; case 2280: /* target_el: a_expr */ -#line 13422 "preproc.y" +#line 13415 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55417 "preproc.c" +#line 55410 "preproc.c" break; case 2281: /* target_el: '*' */ -#line 13426 "preproc.y" +#line 13419 "preproc.y" { (yyval.str) = mm_strdup("*"); } -#line 55425 "preproc.c" +#line 55418 "preproc.c" break; case 2282: /* qualified_name_list: qualified_name */ -#line 13434 "preproc.y" +#line 13427 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55433 "preproc.c" +#line 55426 "preproc.c" break; case 2283: /* qualified_name_list: qualified_name_list ',' qualified_name */ -#line 13438 "preproc.y" +#line 13431 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 55441 "preproc.c" +#line 55434 "preproc.c" break; case 2284: /* qualified_name: ColId */ -#line 13446 "preproc.y" +#line 13439 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55449 "preproc.c" +#line 55442 "preproc.c" break; case 2285: /* qualified_name: ColId indirection */ -#line 13450 "preproc.y" +#line 13443 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55457 "preproc.c" +#line 55450 "preproc.c" break; case 2286: /* name_list: name */ -#line 13458 "preproc.y" +#line 13451 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55465 "preproc.c" +#line 55458 "preproc.c" break; case 2287: /* name_list: name_list ',' name */ -#line 13462 "preproc.y" +#line 13455 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 55473 "preproc.c" +#line 55466 "preproc.c" break; case 2288: /* name: ColId */ -#line 13470 "preproc.y" +#line 13463 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55481 "preproc.c" +#line 55474 "preproc.c" break; case 2289: /* attr_name: ColLabel */ -#line 13478 "preproc.y" +#line 13471 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55489 "preproc.c" +#line 55482 "preproc.c" break; case 2290: /* file_name: ecpg_sconst */ -#line 13486 "preproc.y" +#line 13479 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55497 "preproc.c" +#line 55490 "preproc.c" break; case 2291: /* func_name: type_function_name */ -#line 13494 "preproc.y" +#line 13487 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55505 "preproc.c" +#line 55498 "preproc.c" break; case 2292: /* func_name: ColId indirection */ -#line 13498 "preproc.y" +#line 13491 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55513 "preproc.c" +#line 55506 "preproc.c" break; case 2293: /* AexprConst: Iconst */ -#line 13506 "preproc.y" +#line 13499 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55521 "preproc.c" +#line 55514 "preproc.c" break; case 2294: /* AexprConst: ecpg_fconst */ -#line 13510 "preproc.y" +#line 13503 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55529 "preproc.c" +#line 55522 "preproc.c" break; case 2295: /* AexprConst: ecpg_sconst */ -#line 13514 "preproc.y" +#line 13507 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55537 "preproc.c" +#line 55530 "preproc.c" break; case 2296: /* AexprConst: ecpg_bconst */ -#line 13518 "preproc.y" +#line 13511 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55545 "preproc.c" +#line 55538 "preproc.c" break; case 2297: /* AexprConst: ecpg_xconst */ -#line 13522 "preproc.y" +#line 13515 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55553 "preproc.c" +#line 55546 "preproc.c" break; case 2298: /* AexprConst: func_name ecpg_sconst */ -#line 13526 "preproc.y" +#line 13519 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55561 "preproc.c" +#line 55554 "preproc.c" break; case 2299: /* AexprConst: func_name '(' func_arg_list opt_sort_clause ')' ecpg_sconst */ -#line 13530 "preproc.y" +#line 13523 "preproc.y" { (yyval.str) = cat_str(6,(yyvsp[-5].str),mm_strdup("("),(yyvsp[-3].str),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 55569 "preproc.c" +#line 55562 "preproc.c" break; case 2300: /* AexprConst: ConstTypename ecpg_sconst */ -#line 13534 "preproc.y" +#line 13527 "preproc.y" { (yyval.str) = cat_str(2,(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55577 "preproc.c" +#line 55570 "preproc.c" break; case 2301: /* AexprConst: ConstInterval ecpg_sconst opt_interval */ -#line 13538 "preproc.y" +#line 13531 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),(yyvsp[-1].str),(yyvsp[0].str)); } -#line 55585 "preproc.c" +#line 55578 "preproc.c" break; case 2302: /* AexprConst: ConstInterval '(' Iconst ')' ecpg_sconst */ -#line 13542 "preproc.y" +#line 13535 "preproc.y" { (yyval.str) = cat_str(5,(yyvsp[-4].str),mm_strdup("("),(yyvsp[-2].str),mm_strdup(")"),(yyvsp[0].str)); } -#line 55593 "preproc.c" +#line 55586 "preproc.c" break; case 2303: /* AexprConst: TRUE_P */ -#line 13546 "preproc.y" +#line 13539 "preproc.y" { (yyval.str) = mm_strdup("true"); } -#line 55601 "preproc.c" +#line 55594 "preproc.c" break; case 2304: /* AexprConst: FALSE_P */ -#line 13550 "preproc.y" +#line 13543 "preproc.y" { (yyval.str) = mm_strdup("false"); } -#line 55609 "preproc.c" +#line 55602 "preproc.c" break; case 2305: /* AexprConst: NULL_P */ -#line 13554 "preproc.y" +#line 13547 "preproc.y" { (yyval.str) = mm_strdup("null"); } -#line 55617 "preproc.c" +#line 55610 "preproc.c" break; case 2306: /* AexprConst: civar */ -#line 13557 "preproc.y" +#line 13550 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55623 "preproc.c" +#line 55616 "preproc.c" break; case 2307: /* AexprConst: civarind */ -#line 13558 "preproc.y" +#line 13551 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55629 "preproc.c" +#line 55622 "preproc.c" break; case 2308: /* Iconst: ICONST */ -#line 13564 "preproc.y" +#line 13557 "preproc.y" { (yyval.str) = make_name(); } -#line 55635 "preproc.c" +#line 55628 "preproc.c" break; case 2309: /* SignedIconst: Iconst */ -#line 13570 "preproc.y" +#line 13563 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55643 "preproc.c" +#line 55636 "preproc.c" break; case 2310: /* SignedIconst: civar */ -#line 13573 "preproc.y" +#line 13566 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55649 "preproc.c" +#line 55642 "preproc.c" break; case 2311: /* SignedIconst: '+' Iconst */ -#line 13575 "preproc.y" +#line 13568 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("+"),(yyvsp[0].str)); } -#line 55657 "preproc.c" +#line 55650 "preproc.c" break; case 2312: /* SignedIconst: '-' Iconst */ -#line 13579 "preproc.y" +#line 13572 "preproc.y" { (yyval.str) = cat_str(2,mm_strdup("-"),(yyvsp[0].str)); } -#line 55665 "preproc.c" +#line 55658 "preproc.c" break; case 2313: /* RoleId: RoleSpec */ -#line 13587 "preproc.y" +#line 13580 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55673 "preproc.c" +#line 55666 "preproc.c" break; case 2314: /* RoleSpec: NonReservedWord */ -#line 13595 "preproc.y" +#line 13588 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55681 "preproc.c" +#line 55674 "preproc.c" break; case 2315: /* RoleSpec: CURRENT_ROLE */ -#line 13599 "preproc.y" +#line 13592 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } -#line 55689 "preproc.c" +#line 55682 "preproc.c" break; case 2316: /* RoleSpec: CURRENT_USER */ -#line 13603 "preproc.y" +#line 13596 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } -#line 55697 "preproc.c" +#line 55690 "preproc.c" break; case 2317: /* RoleSpec: SESSION_USER */ -#line 13607 "preproc.y" +#line 13600 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } -#line 55705 "preproc.c" +#line 55698 "preproc.c" break; case 2318: /* role_list: RoleSpec */ -#line 13615 "preproc.y" +#line 13608 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55713 "preproc.c" +#line 55706 "preproc.c" break; case 2319: /* role_list: role_list ',' RoleSpec */ -#line 13619 "preproc.y" +#line 13612 "preproc.y" { (yyval.str) = cat_str(3,(yyvsp[-2].str),mm_strdup(","),(yyvsp[0].str)); } -#line 55721 "preproc.c" +#line 55714 "preproc.c" break; case 2320: /* NonReservedWord: ecpg_ident */ -#line 13627 "preproc.y" +#line 13620 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55729 "preproc.c" +#line 55722 "preproc.c" break; case 2321: /* NonReservedWord: unreserved_keyword */ -#line 13631 "preproc.y" +#line 13624 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55737 "preproc.c" +#line 55730 "preproc.c" break; case 2322: /* NonReservedWord: col_name_keyword */ -#line 13635 "preproc.y" +#line 13628 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55745 "preproc.c" +#line 55738 "preproc.c" break; case 2323: /* NonReservedWord: type_func_name_keyword */ -#line 13639 "preproc.y" +#line 13632 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55753 "preproc.c" +#line 55746 "preproc.c" break; case 2324: /* BareColLabel: ecpg_ident */ -#line 13647 "preproc.y" +#line 13640 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55761 "preproc.c" +#line 55754 "preproc.c" break; case 2325: /* BareColLabel: bare_label_keyword */ -#line 13651 "preproc.y" +#line 13644 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 55769 "preproc.c" +#line 55762 "preproc.c" break; case 2326: /* unreserved_keyword: ABORT_P */ -#line 13659 "preproc.y" +#line 13652 "preproc.y" { (yyval.str) = mm_strdup("abort"); } -#line 55777 "preproc.c" +#line 55770 "preproc.c" break; case 2327: /* unreserved_keyword: ABSOLUTE_P */ -#line 13663 "preproc.y" +#line 13656 "preproc.y" { (yyval.str) = mm_strdup("absolute"); } -#line 55785 "preproc.c" +#line 55778 "preproc.c" break; case 2328: /* unreserved_keyword: ACCESS */ -#line 13667 "preproc.y" +#line 13660 "preproc.y" { (yyval.str) = mm_strdup("access"); } -#line 55793 "preproc.c" +#line 55786 "preproc.c" break; case 2329: /* unreserved_keyword: ACTION */ -#line 13671 "preproc.y" +#line 13664 "preproc.y" { (yyval.str) = mm_strdup("action"); } -#line 55801 "preproc.c" +#line 55794 "preproc.c" break; case 2330: /* unreserved_keyword: ADD_P */ -#line 13675 "preproc.y" +#line 13668 "preproc.y" { (yyval.str) = mm_strdup("add"); } -#line 55809 "preproc.c" +#line 55802 "preproc.c" break; case 2331: /* unreserved_keyword: ADMIN */ -#line 13679 "preproc.y" +#line 13672 "preproc.y" { (yyval.str) = mm_strdup("admin"); } -#line 55817 "preproc.c" +#line 55810 "preproc.c" break; case 2332: /* unreserved_keyword: AFTER */ -#line 13683 "preproc.y" +#line 13676 "preproc.y" { (yyval.str) = mm_strdup("after"); } -#line 55825 "preproc.c" +#line 55818 "preproc.c" break; case 2333: /* unreserved_keyword: AGGREGATE */ -#line 13687 "preproc.y" +#line 13680 "preproc.y" { (yyval.str) = mm_strdup("aggregate"); } -#line 55833 "preproc.c" +#line 55826 "preproc.c" break; case 2334: /* unreserved_keyword: ALSO */ -#line 13691 "preproc.y" +#line 13684 "preproc.y" { (yyval.str) = mm_strdup("also"); } -#line 55841 "preproc.c" +#line 55834 "preproc.c" break; case 2335: /* unreserved_keyword: ALTER */ -#line 13695 "preproc.y" +#line 13688 "preproc.y" { (yyval.str) = mm_strdup("alter"); } -#line 55849 "preproc.c" +#line 55842 "preproc.c" break; case 2336: /* unreserved_keyword: ALWAYS */ -#line 13699 "preproc.y" +#line 13692 "preproc.y" { (yyval.str) = mm_strdup("always"); } -#line 55857 "preproc.c" +#line 55850 "preproc.c" break; case 2337: /* unreserved_keyword: ASENSITIVE */ -#line 13703 "preproc.y" +#line 13696 "preproc.y" { (yyval.str) = mm_strdup("asensitive"); } -#line 55865 "preproc.c" +#line 55858 "preproc.c" break; case 2338: /* unreserved_keyword: ASSERTION */ -#line 13707 "preproc.y" +#line 13700 "preproc.y" { (yyval.str) = mm_strdup("assertion"); } -#line 55873 "preproc.c" +#line 55866 "preproc.c" break; case 2339: /* unreserved_keyword: ASSIGNMENT */ -#line 13711 "preproc.y" +#line 13704 "preproc.y" { (yyval.str) = mm_strdup("assignment"); } -#line 55881 "preproc.c" +#line 55874 "preproc.c" break; case 2340: /* unreserved_keyword: AT */ -#line 13715 "preproc.y" +#line 13708 "preproc.y" { (yyval.str) = mm_strdup("at"); } -#line 55889 "preproc.c" +#line 55882 "preproc.c" break; case 2341: /* unreserved_keyword: ATOMIC */ -#line 13719 "preproc.y" +#line 13712 "preproc.y" { (yyval.str) = mm_strdup("atomic"); } -#line 55897 "preproc.c" +#line 55890 "preproc.c" break; case 2342: /* unreserved_keyword: ATTACH */ -#line 13723 "preproc.y" +#line 13716 "preproc.y" { (yyval.str) = mm_strdup("attach"); } -#line 55905 "preproc.c" +#line 55898 "preproc.c" break; case 2343: /* unreserved_keyword: ATTRIBUTE */ -#line 13727 "preproc.y" +#line 13720 "preproc.y" { (yyval.str) = mm_strdup("attribute"); } -#line 55913 "preproc.c" +#line 55906 "preproc.c" break; case 2344: /* unreserved_keyword: BACKWARD */ -#line 13731 "preproc.y" +#line 13724 "preproc.y" { (yyval.str) = mm_strdup("backward"); } -#line 55921 "preproc.c" +#line 55914 "preproc.c" break; case 2345: /* unreserved_keyword: BEFORE */ -#line 13735 "preproc.y" +#line 13728 "preproc.y" { (yyval.str) = mm_strdup("before"); } -#line 55929 "preproc.c" +#line 55922 "preproc.c" break; case 2346: /* unreserved_keyword: BEGIN_P */ -#line 13739 "preproc.y" +#line 13732 "preproc.y" { (yyval.str) = mm_strdup("begin"); } -#line 55937 "preproc.c" +#line 55930 "preproc.c" break; case 2347: /* unreserved_keyword: BREADTH */ -#line 13743 "preproc.y" +#line 13736 "preproc.y" { (yyval.str) = mm_strdup("breadth"); } -#line 55945 "preproc.c" +#line 55938 "preproc.c" break; case 2348: /* unreserved_keyword: BY */ -#line 13747 "preproc.y" +#line 13740 "preproc.y" { (yyval.str) = mm_strdup("by"); } -#line 55953 "preproc.c" +#line 55946 "preproc.c" break; case 2349: /* unreserved_keyword: CACHE */ -#line 13751 "preproc.y" +#line 13744 "preproc.y" { (yyval.str) = mm_strdup("cache"); } -#line 55961 "preproc.c" +#line 55954 "preproc.c" break; case 2350: /* unreserved_keyword: CALL */ -#line 13755 "preproc.y" +#line 13748 "preproc.y" { (yyval.str) = mm_strdup("call"); } -#line 55969 "preproc.c" +#line 55962 "preproc.c" break; case 2351: /* unreserved_keyword: CALLED */ -#line 13759 "preproc.y" +#line 13752 "preproc.y" { (yyval.str) = mm_strdup("called"); } -#line 55977 "preproc.c" +#line 55970 "preproc.c" break; case 2352: /* unreserved_keyword: CASCADE */ -#line 13763 "preproc.y" +#line 13756 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } -#line 55985 "preproc.c" +#line 55978 "preproc.c" break; case 2353: /* unreserved_keyword: CASCADED */ -#line 13767 "preproc.y" +#line 13760 "preproc.y" { (yyval.str) = mm_strdup("cascaded"); } -#line 55993 "preproc.c" +#line 55986 "preproc.c" break; case 2354: /* unreserved_keyword: CATALOG_P */ -#line 13771 "preproc.y" +#line 13764 "preproc.y" { (yyval.str) = mm_strdup("catalog"); } -#line 56001 "preproc.c" +#line 55994 "preproc.c" break; case 2355: /* unreserved_keyword: CHAIN */ -#line 13775 "preproc.y" +#line 13768 "preproc.y" { (yyval.str) = mm_strdup("chain"); } -#line 56009 "preproc.c" +#line 56002 "preproc.c" break; case 2356: /* unreserved_keyword: CHARACTERISTICS */ -#line 13779 "preproc.y" +#line 13772 "preproc.y" { (yyval.str) = mm_strdup("characteristics"); } -#line 56017 "preproc.c" +#line 56010 "preproc.c" break; case 2357: /* unreserved_keyword: CHECKPOINT */ -#line 13783 "preproc.y" +#line 13776 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } -#line 56025 "preproc.c" +#line 56018 "preproc.c" break; case 2358: /* unreserved_keyword: CLASS */ -#line 13787 "preproc.y" +#line 13780 "preproc.y" { (yyval.str) = mm_strdup("class"); } -#line 56033 "preproc.c" +#line 56026 "preproc.c" break; case 2359: /* unreserved_keyword: CLOSE */ -#line 13791 "preproc.y" +#line 13784 "preproc.y" { (yyval.str) = mm_strdup("close"); } -#line 56041 "preproc.c" +#line 56034 "preproc.c" break; case 2360: /* unreserved_keyword: CLUSTER */ -#line 13795 "preproc.y" +#line 13788 "preproc.y" { (yyval.str) = mm_strdup("cluster"); } -#line 56049 "preproc.c" +#line 56042 "preproc.c" break; case 2361: /* unreserved_keyword: COLUMNS */ -#line 13799 "preproc.y" +#line 13792 "preproc.y" { (yyval.str) = mm_strdup("columns"); } -#line 56057 "preproc.c" +#line 56050 "preproc.c" break; case 2362: /* unreserved_keyword: COMMENT */ -#line 13803 "preproc.y" +#line 13796 "preproc.y" { (yyval.str) = mm_strdup("comment"); } -#line 56065 "preproc.c" +#line 56058 "preproc.c" break; case 2363: /* unreserved_keyword: COMMENTS */ -#line 13807 "preproc.y" +#line 13800 "preproc.y" { (yyval.str) = mm_strdup("comments"); } -#line 56073 "preproc.c" +#line 56066 "preproc.c" break; case 2364: /* unreserved_keyword: COMMIT */ -#line 13811 "preproc.y" +#line 13804 "preproc.y" { (yyval.str) = mm_strdup("commit"); } -#line 56081 "preproc.c" +#line 56074 "preproc.c" break; case 2365: /* unreserved_keyword: COMMITTED */ -#line 13815 "preproc.y" +#line 13808 "preproc.y" { (yyval.str) = mm_strdup("committed"); } -#line 56089 "preproc.c" +#line 56082 "preproc.c" break; case 2366: /* unreserved_keyword: COMPRESSION */ -#line 13819 "preproc.y" +#line 13812 "preproc.y" { (yyval.str) = mm_strdup("compression"); } -#line 56097 "preproc.c" +#line 56090 "preproc.c" break; case 2367: /* unreserved_keyword: CONFIGURATION */ -#line 13823 "preproc.y" +#line 13816 "preproc.y" { (yyval.str) = mm_strdup("configuration"); } -#line 56105 "preproc.c" +#line 56098 "preproc.c" break; case 2368: /* unreserved_keyword: CONFLICT */ -#line 13827 "preproc.y" +#line 13820 "preproc.y" { (yyval.str) = mm_strdup("conflict"); } -#line 56113 "preproc.c" +#line 56106 "preproc.c" break; case 2369: /* unreserved_keyword: CONSTRAINTS */ -#line 13831 "preproc.y" +#line 13824 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } -#line 56121 "preproc.c" +#line 56114 "preproc.c" break; case 2370: /* unreserved_keyword: CONTENT_P */ -#line 13835 "preproc.y" +#line 13828 "preproc.y" { (yyval.str) = mm_strdup("content"); } -#line 56129 "preproc.c" +#line 56122 "preproc.c" break; case 2371: /* unreserved_keyword: CONTINUE_P */ -#line 13839 "preproc.y" +#line 13832 "preproc.y" { (yyval.str) = mm_strdup("continue"); } -#line 56137 "preproc.c" +#line 56130 "preproc.c" break; case 2372: /* unreserved_keyword: CONVERSION_P */ -#line 13843 "preproc.y" +#line 13836 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } -#line 56145 "preproc.c" +#line 56138 "preproc.c" break; case 2373: /* unreserved_keyword: COPY */ -#line 13847 "preproc.y" +#line 13840 "preproc.y" { (yyval.str) = mm_strdup("copy"); } -#line 56153 "preproc.c" +#line 56146 "preproc.c" break; case 2374: /* unreserved_keyword: COST */ -#line 13851 "preproc.y" +#line 13844 "preproc.y" { (yyval.str) = mm_strdup("cost"); } -#line 56161 "preproc.c" +#line 56154 "preproc.c" break; case 2375: /* unreserved_keyword: CSV */ -#line 13855 "preproc.y" +#line 13848 "preproc.y" { (yyval.str) = mm_strdup("csv"); } -#line 56169 "preproc.c" +#line 56162 "preproc.c" break; case 2376: /* unreserved_keyword: CUBE */ -#line 13859 "preproc.y" +#line 13852 "preproc.y" { (yyval.str) = mm_strdup("cube"); } -#line 56177 "preproc.c" +#line 56170 "preproc.c" break; case 2377: /* unreserved_keyword: CURSOR */ -#line 13863 "preproc.y" +#line 13856 "preproc.y" { (yyval.str) = mm_strdup("cursor"); } -#line 56185 "preproc.c" +#line 56178 "preproc.c" break; case 2378: /* unreserved_keyword: CYCLE */ -#line 13867 "preproc.y" +#line 13860 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } -#line 56193 "preproc.c" +#line 56186 "preproc.c" break; case 2379: /* unreserved_keyword: DATA_P */ -#line 13871 "preproc.y" +#line 13864 "preproc.y" { (yyval.str) = mm_strdup("data"); } -#line 56201 "preproc.c" +#line 56194 "preproc.c" break; case 2380: /* unreserved_keyword: DATABASE */ -#line 13875 "preproc.y" +#line 13868 "preproc.y" { (yyval.str) = mm_strdup("database"); } -#line 56209 "preproc.c" +#line 56202 "preproc.c" break; case 2381: /* unreserved_keyword: DEALLOCATE */ -#line 13879 "preproc.y" +#line 13872 "preproc.y" { (yyval.str) = mm_strdup("deallocate"); } -#line 56217 "preproc.c" +#line 56210 "preproc.c" break; case 2382: /* unreserved_keyword: DECLARE */ -#line 13883 "preproc.y" +#line 13876 "preproc.y" { (yyval.str) = mm_strdup("declare"); } -#line 56225 "preproc.c" +#line 56218 "preproc.c" break; case 2383: /* unreserved_keyword: DEFAULTS */ -#line 13887 "preproc.y" +#line 13880 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } -#line 56233 "preproc.c" +#line 56226 "preproc.c" break; case 2384: /* unreserved_keyword: DEFERRED */ -#line 13891 "preproc.y" +#line 13884 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } -#line 56241 "preproc.c" +#line 56234 "preproc.c" break; case 2385: /* unreserved_keyword: DEFINER */ -#line 13895 "preproc.y" +#line 13888 "preproc.y" { (yyval.str) = mm_strdup("definer"); } -#line 56249 "preproc.c" +#line 56242 "preproc.c" break; case 2386: /* unreserved_keyword: DELETE_P */ -#line 13899 "preproc.y" +#line 13892 "preproc.y" { (yyval.str) = mm_strdup("delete"); } -#line 56257 "preproc.c" +#line 56250 "preproc.c" break; case 2387: /* unreserved_keyword: DELIMITER */ -#line 13903 "preproc.y" +#line 13896 "preproc.y" { (yyval.str) = mm_strdup("delimiter"); } -#line 56265 "preproc.c" +#line 56258 "preproc.c" break; case 2388: /* unreserved_keyword: DELIMITERS */ -#line 13907 "preproc.y" +#line 13900 "preproc.y" { (yyval.str) = mm_strdup("delimiters"); } -#line 56273 "preproc.c" +#line 56266 "preproc.c" break; case 2389: /* unreserved_keyword: DEPENDS */ -#line 13911 "preproc.y" +#line 13904 "preproc.y" { (yyval.str) = mm_strdup("depends"); } -#line 56281 "preproc.c" +#line 56274 "preproc.c" break; case 2390: /* unreserved_keyword: DEPTH */ -#line 13915 "preproc.y" +#line 13908 "preproc.y" { (yyval.str) = mm_strdup("depth"); } -#line 56289 "preproc.c" +#line 56282 "preproc.c" break; case 2391: /* unreserved_keyword: DETACH */ -#line 13919 "preproc.y" +#line 13912 "preproc.y" { (yyval.str) = mm_strdup("detach"); } -#line 56297 "preproc.c" +#line 56290 "preproc.c" break; case 2392: /* unreserved_keyword: DICTIONARY */ -#line 13923 "preproc.y" +#line 13916 "preproc.y" { (yyval.str) = mm_strdup("dictionary"); } -#line 56305 "preproc.c" +#line 56298 "preproc.c" break; case 2393: /* unreserved_keyword: DISABLE_P */ -#line 13927 "preproc.y" +#line 13920 "preproc.y" { (yyval.str) = mm_strdup("disable"); } -#line 56313 "preproc.c" +#line 56306 "preproc.c" break; case 2394: /* unreserved_keyword: DISCARD */ -#line 13931 "preproc.y" +#line 13924 "preproc.y" { (yyval.str) = mm_strdup("discard"); } -#line 56321 "preproc.c" +#line 56314 "preproc.c" break; case 2395: /* unreserved_keyword: DOCUMENT_P */ -#line 13935 "preproc.y" +#line 13928 "preproc.y" { (yyval.str) = mm_strdup("document"); } -#line 56329 "preproc.c" +#line 56322 "preproc.c" break; case 2396: /* unreserved_keyword: DOMAIN_P */ -#line 13939 "preproc.y" +#line 13932 "preproc.y" { (yyval.str) = mm_strdup("domain"); } -#line 56337 "preproc.c" +#line 56330 "preproc.c" break; case 2397: /* unreserved_keyword: DOUBLE_P */ -#line 13943 "preproc.y" +#line 13936 "preproc.y" { (yyval.str) = mm_strdup("double"); } -#line 56345 "preproc.c" +#line 56338 "preproc.c" break; case 2398: /* unreserved_keyword: DROP */ -#line 13947 "preproc.y" +#line 13940 "preproc.y" { (yyval.str) = mm_strdup("drop"); } -#line 56353 "preproc.c" +#line 56346 "preproc.c" break; case 2399: /* unreserved_keyword: EACH */ -#line 13951 "preproc.y" +#line 13944 "preproc.y" { (yyval.str) = mm_strdup("each"); } -#line 56361 "preproc.c" +#line 56354 "preproc.c" break; case 2400: /* unreserved_keyword: ENABLE_P */ -#line 13955 "preproc.y" +#line 13948 "preproc.y" { (yyval.str) = mm_strdup("enable"); } -#line 56369 "preproc.c" +#line 56362 "preproc.c" break; case 2401: /* unreserved_keyword: ENCODING */ -#line 13959 "preproc.y" +#line 13952 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } -#line 56377 "preproc.c" +#line 56370 "preproc.c" break; case 2402: /* unreserved_keyword: ENCRYPTED */ -#line 13963 "preproc.y" +#line 13956 "preproc.y" { (yyval.str) = mm_strdup("encrypted"); } -#line 56385 "preproc.c" +#line 56378 "preproc.c" break; case 2403: /* unreserved_keyword: ENUM_P */ -#line 13967 "preproc.y" +#line 13960 "preproc.y" { (yyval.str) = mm_strdup("enum"); } -#line 56393 "preproc.c" +#line 56386 "preproc.c" break; case 2404: /* unreserved_keyword: ESCAPE */ -#line 13971 "preproc.y" +#line 13964 "preproc.y" { (yyval.str) = mm_strdup("escape"); } -#line 56401 "preproc.c" +#line 56394 "preproc.c" break; case 2405: /* unreserved_keyword: EVENT */ -#line 13975 "preproc.y" +#line 13968 "preproc.y" { (yyval.str) = mm_strdup("event"); } -#line 56409 "preproc.c" +#line 56402 "preproc.c" break; case 2406: /* unreserved_keyword: EXCLUDE */ -#line 13979 "preproc.y" +#line 13972 "preproc.y" { (yyval.str) = mm_strdup("exclude"); } -#line 56417 "preproc.c" +#line 56410 "preproc.c" break; case 2407: /* unreserved_keyword: EXCLUDING */ -#line 13983 "preproc.y" +#line 13976 "preproc.y" { (yyval.str) = mm_strdup("excluding"); } -#line 56425 "preproc.c" +#line 56418 "preproc.c" break; case 2408: /* unreserved_keyword: EXCLUSIVE */ -#line 13987 "preproc.y" +#line 13980 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } -#line 56433 "preproc.c" +#line 56426 "preproc.c" break; case 2409: /* unreserved_keyword: EXECUTE */ -#line 13991 "preproc.y" +#line 13984 "preproc.y" { (yyval.str) = mm_strdup("execute"); } -#line 56441 "preproc.c" +#line 56434 "preproc.c" break; case 2410: /* unreserved_keyword: EXPLAIN */ -#line 13995 "preproc.y" +#line 13988 "preproc.y" { (yyval.str) = mm_strdup("explain"); } -#line 56449 "preproc.c" +#line 56442 "preproc.c" break; case 2411: /* unreserved_keyword: EXPRESSION */ -#line 13999 "preproc.y" +#line 13992 "preproc.y" { (yyval.str) = mm_strdup("expression"); } -#line 56457 "preproc.c" +#line 56450 "preproc.c" break; case 2412: /* unreserved_keyword: EXTENSION */ -#line 14003 "preproc.y" +#line 13996 "preproc.y" { (yyval.str) = mm_strdup("extension"); } -#line 56465 "preproc.c" +#line 56458 "preproc.c" break; case 2413: /* unreserved_keyword: EXTERNAL */ -#line 14007 "preproc.y" +#line 14000 "preproc.y" { (yyval.str) = mm_strdup("external"); } -#line 56473 "preproc.c" +#line 56466 "preproc.c" break; case 2414: /* unreserved_keyword: FAMILY */ -#line 14011 "preproc.y" +#line 14004 "preproc.y" { (yyval.str) = mm_strdup("family"); } -#line 56481 "preproc.c" +#line 56474 "preproc.c" break; case 2415: /* unreserved_keyword: FILTER */ -#line 14015 "preproc.y" +#line 14008 "preproc.y" { (yyval.str) = mm_strdup("filter"); } -#line 56489 "preproc.c" +#line 56482 "preproc.c" break; case 2416: /* unreserved_keyword: FINALIZE */ -#line 14019 "preproc.y" +#line 14012 "preproc.y" { (yyval.str) = mm_strdup("finalize"); } -#line 56497 "preproc.c" +#line 56490 "preproc.c" break; case 2417: /* unreserved_keyword: FIRST_P */ -#line 14023 "preproc.y" +#line 14016 "preproc.y" { (yyval.str) = mm_strdup("first"); } -#line 56505 "preproc.c" +#line 56498 "preproc.c" break; case 2418: /* unreserved_keyword: FOLLOWING */ -#line 14027 "preproc.y" +#line 14020 "preproc.y" { (yyval.str) = mm_strdup("following"); } -#line 56513 "preproc.c" +#line 56506 "preproc.c" break; case 2419: /* unreserved_keyword: FORCE */ -#line 14031 "preproc.y" +#line 14024 "preproc.y" { (yyval.str) = mm_strdup("force"); } -#line 56521 "preproc.c" +#line 56514 "preproc.c" break; case 2420: /* unreserved_keyword: FORWARD */ -#line 14035 "preproc.y" +#line 14028 "preproc.y" { (yyval.str) = mm_strdup("forward"); } -#line 56529 "preproc.c" +#line 56522 "preproc.c" break; case 2421: /* unreserved_keyword: FUNCTION */ -#line 14039 "preproc.y" +#line 14032 "preproc.y" { (yyval.str) = mm_strdup("function"); } -#line 56537 "preproc.c" +#line 56530 "preproc.c" break; case 2422: /* unreserved_keyword: FUNCTIONS */ -#line 14043 "preproc.y" +#line 14036 "preproc.y" { (yyval.str) = mm_strdup("functions"); } -#line 56545 "preproc.c" +#line 56538 "preproc.c" break; case 2423: /* unreserved_keyword: GENERATED */ -#line 14047 "preproc.y" +#line 14040 "preproc.y" { (yyval.str) = mm_strdup("generated"); } -#line 56553 "preproc.c" +#line 56546 "preproc.c" break; case 2424: /* unreserved_keyword: GLOBAL */ -#line 14051 "preproc.y" +#line 14044 "preproc.y" { (yyval.str) = mm_strdup("global"); } -#line 56561 "preproc.c" +#line 56554 "preproc.c" break; case 2425: /* unreserved_keyword: GRANTED */ -#line 14055 "preproc.y" +#line 14048 "preproc.y" { (yyval.str) = mm_strdup("granted"); } -#line 56569 "preproc.c" +#line 56562 "preproc.c" break; case 2426: /* unreserved_keyword: GROUPS */ -#line 14059 "preproc.y" +#line 14052 "preproc.y" { (yyval.str) = mm_strdup("groups"); } -#line 56577 "preproc.c" +#line 56570 "preproc.c" break; case 2427: /* unreserved_keyword: HANDLER */ -#line 14063 "preproc.y" +#line 14056 "preproc.y" { (yyval.str) = mm_strdup("handler"); } -#line 56585 "preproc.c" +#line 56578 "preproc.c" break; case 2428: /* unreserved_keyword: HEADER_P */ -#line 14067 "preproc.y" +#line 14060 "preproc.y" { (yyval.str) = mm_strdup("header"); } -#line 56593 "preproc.c" +#line 56586 "preproc.c" break; case 2429: /* unreserved_keyword: HOLD */ -#line 14071 "preproc.y" +#line 14064 "preproc.y" { (yyval.str) = mm_strdup("hold"); } -#line 56601 "preproc.c" +#line 56594 "preproc.c" break; case 2430: /* unreserved_keyword: IDENTITY_P */ -#line 14075 "preproc.y" +#line 14068 "preproc.y" { (yyval.str) = mm_strdup("identity"); } -#line 56609 "preproc.c" +#line 56602 "preproc.c" break; case 2431: /* unreserved_keyword: IF_P */ -#line 14079 "preproc.y" +#line 14072 "preproc.y" { (yyval.str) = mm_strdup("if"); } -#line 56617 "preproc.c" +#line 56610 "preproc.c" break; case 2432: /* unreserved_keyword: IMMEDIATE */ -#line 14083 "preproc.y" +#line 14076 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } -#line 56625 "preproc.c" +#line 56618 "preproc.c" break; case 2433: /* unreserved_keyword: IMMUTABLE */ -#line 14087 "preproc.y" +#line 14080 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } -#line 56633 "preproc.c" +#line 56626 "preproc.c" break; case 2434: /* unreserved_keyword: IMPLICIT_P */ -#line 14091 "preproc.y" +#line 14084 "preproc.y" { (yyval.str) = mm_strdup("implicit"); } -#line 56641 "preproc.c" +#line 56634 "preproc.c" break; case 2435: /* unreserved_keyword: IMPORT_P */ -#line 14095 "preproc.y" +#line 14088 "preproc.y" { (yyval.str) = mm_strdup("import"); } -#line 56649 "preproc.c" +#line 56642 "preproc.c" break; case 2436: /* unreserved_keyword: INCLUDE */ -#line 14099 "preproc.y" +#line 14092 "preproc.y" { (yyval.str) = mm_strdup("include"); } -#line 56657 "preproc.c" +#line 56650 "preproc.c" break; case 2437: /* unreserved_keyword: INCLUDING */ -#line 14103 "preproc.y" +#line 14096 "preproc.y" { (yyval.str) = mm_strdup("including"); } -#line 56665 "preproc.c" +#line 56658 "preproc.c" break; case 2438: /* unreserved_keyword: INCREMENT */ -#line 14107 "preproc.y" +#line 14100 "preproc.y" { (yyval.str) = mm_strdup("increment"); } -#line 56673 "preproc.c" +#line 56666 "preproc.c" break; case 2439: /* unreserved_keyword: INDEX */ -#line 14111 "preproc.y" +#line 14104 "preproc.y" { (yyval.str) = mm_strdup("index"); } -#line 56681 "preproc.c" +#line 56674 "preproc.c" break; case 2440: /* unreserved_keyword: INDEXES */ -#line 14115 "preproc.y" +#line 14108 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } -#line 56689 "preproc.c" +#line 56682 "preproc.c" break; case 2441: /* unreserved_keyword: INHERIT */ -#line 14119 "preproc.y" +#line 14112 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } -#line 56697 "preproc.c" +#line 56690 "preproc.c" break; case 2442: /* unreserved_keyword: INHERITS */ -#line 14123 "preproc.y" +#line 14116 "preproc.y" { (yyval.str) = mm_strdup("inherits"); } -#line 56705 "preproc.c" +#line 56698 "preproc.c" break; case 2443: /* unreserved_keyword: INLINE_P */ -#line 14127 "preproc.y" +#line 14120 "preproc.y" { (yyval.str) = mm_strdup("inline"); } -#line 56713 "preproc.c" +#line 56706 "preproc.c" break; case 2444: /* unreserved_keyword: INSENSITIVE */ -#line 14131 "preproc.y" +#line 14124 "preproc.y" { (yyval.str) = mm_strdup("insensitive"); } -#line 56721 "preproc.c" +#line 56714 "preproc.c" break; case 2445: /* unreserved_keyword: INSERT */ -#line 14135 "preproc.y" +#line 14128 "preproc.y" { (yyval.str) = mm_strdup("insert"); } -#line 56729 "preproc.c" +#line 56722 "preproc.c" break; case 2446: /* unreserved_keyword: INSTEAD */ -#line 14139 "preproc.y" +#line 14132 "preproc.y" { (yyval.str) = mm_strdup("instead"); } -#line 56737 "preproc.c" +#line 56730 "preproc.c" break; case 2447: /* unreserved_keyword: INVOKER */ -#line 14143 "preproc.y" +#line 14136 "preproc.y" { (yyval.str) = mm_strdup("invoker"); } -#line 56745 "preproc.c" +#line 56738 "preproc.c" break; case 2448: /* unreserved_keyword: ISOLATION */ -#line 14147 "preproc.y" +#line 14140 "preproc.y" { (yyval.str) = mm_strdup("isolation"); } -#line 56753 "preproc.c" +#line 56746 "preproc.c" break; case 2449: /* unreserved_keyword: KEY */ -#line 14151 "preproc.y" +#line 14144 "preproc.y" { (yyval.str) = mm_strdup("key"); } -#line 56761 "preproc.c" +#line 56754 "preproc.c" break; case 2450: /* unreserved_keyword: LABEL */ -#line 14155 "preproc.y" +#line 14148 "preproc.y" { (yyval.str) = mm_strdup("label"); } -#line 56769 "preproc.c" +#line 56762 "preproc.c" break; case 2451: /* unreserved_keyword: LANGUAGE */ -#line 14159 "preproc.y" +#line 14152 "preproc.y" { (yyval.str) = mm_strdup("language"); } -#line 56777 "preproc.c" +#line 56770 "preproc.c" break; case 2452: /* unreserved_keyword: LARGE_P */ -#line 14163 "preproc.y" +#line 14156 "preproc.y" { (yyval.str) = mm_strdup("large"); } -#line 56785 "preproc.c" +#line 56778 "preproc.c" break; case 2453: /* unreserved_keyword: LAST_P */ -#line 14167 "preproc.y" +#line 14160 "preproc.y" { (yyval.str) = mm_strdup("last"); } -#line 56793 "preproc.c" +#line 56786 "preproc.c" break; case 2454: /* unreserved_keyword: LEAKPROOF */ -#line 14171 "preproc.y" +#line 14164 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } -#line 56801 "preproc.c" +#line 56794 "preproc.c" break; case 2455: /* unreserved_keyword: LEVEL */ -#line 14175 "preproc.y" +#line 14168 "preproc.y" { (yyval.str) = mm_strdup("level"); } -#line 56809 "preproc.c" +#line 56802 "preproc.c" break; case 2456: /* unreserved_keyword: LISTEN */ -#line 14179 "preproc.y" +#line 14172 "preproc.y" { (yyval.str) = mm_strdup("listen"); } -#line 56817 "preproc.c" +#line 56810 "preproc.c" break; case 2457: /* unreserved_keyword: LOAD */ -#line 14183 "preproc.y" +#line 14176 "preproc.y" { (yyval.str) = mm_strdup("load"); } -#line 56825 "preproc.c" +#line 56818 "preproc.c" break; case 2458: /* unreserved_keyword: LOCAL */ -#line 14187 "preproc.y" +#line 14180 "preproc.y" { (yyval.str) = mm_strdup("local"); } -#line 56833 "preproc.c" +#line 56826 "preproc.c" break; case 2459: /* unreserved_keyword: LOCATION */ -#line 14191 "preproc.y" +#line 14184 "preproc.y" { (yyval.str) = mm_strdup("location"); } -#line 56841 "preproc.c" +#line 56834 "preproc.c" break; case 2460: /* unreserved_keyword: LOCK_P */ -#line 14195 "preproc.y" +#line 14188 "preproc.y" { (yyval.str) = mm_strdup("lock"); } -#line 56849 "preproc.c" +#line 56842 "preproc.c" break; case 2461: /* unreserved_keyword: LOCKED */ -#line 14199 "preproc.y" +#line 14192 "preproc.y" { (yyval.str) = mm_strdup("locked"); } -#line 56857 "preproc.c" +#line 56850 "preproc.c" break; case 2462: /* unreserved_keyword: LOGGED */ -#line 14203 "preproc.y" +#line 14196 "preproc.y" { (yyval.str) = mm_strdup("logged"); } -#line 56865 "preproc.c" +#line 56858 "preproc.c" break; case 2463: /* unreserved_keyword: MAPPING */ -#line 14207 "preproc.y" +#line 14200 "preproc.y" { (yyval.str) = mm_strdup("mapping"); } -#line 56873 "preproc.c" +#line 56866 "preproc.c" break; case 2464: /* unreserved_keyword: MATCH */ -#line 14211 "preproc.y" +#line 14204 "preproc.y" { (yyval.str) = mm_strdup("match"); } -#line 56881 "preproc.c" +#line 56874 "preproc.c" break; case 2465: /* unreserved_keyword: MATCHED */ -#line 14215 "preproc.y" +#line 14208 "preproc.y" { (yyval.str) = mm_strdup("matched"); } -#line 56889 "preproc.c" +#line 56882 "preproc.c" break; case 2466: /* unreserved_keyword: MATERIALIZED */ -#line 14219 "preproc.y" +#line 14212 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } -#line 56897 "preproc.c" +#line 56890 "preproc.c" break; case 2467: /* unreserved_keyword: MAXVALUE */ -#line 14223 "preproc.y" +#line 14216 "preproc.y" { (yyval.str) = mm_strdup("maxvalue"); } -#line 56905 "preproc.c" +#line 56898 "preproc.c" break; case 2468: /* unreserved_keyword: MERGE */ -#line 14227 "preproc.y" +#line 14220 "preproc.y" { (yyval.str) = mm_strdup("merge"); } -#line 56913 "preproc.c" +#line 56906 "preproc.c" break; case 2469: /* unreserved_keyword: METHOD */ -#line 14231 "preproc.y" +#line 14224 "preproc.y" { (yyval.str) = mm_strdup("method"); } -#line 56921 "preproc.c" +#line 56914 "preproc.c" break; case 2470: /* unreserved_keyword: MINVALUE */ -#line 14235 "preproc.y" +#line 14228 "preproc.y" { (yyval.str) = mm_strdup("minvalue"); } -#line 56929 "preproc.c" +#line 56922 "preproc.c" break; case 2471: /* unreserved_keyword: MODE */ -#line 14239 "preproc.y" +#line 14232 "preproc.y" { (yyval.str) = mm_strdup("mode"); } -#line 56937 "preproc.c" +#line 56930 "preproc.c" break; case 2472: /* unreserved_keyword: MOVE */ -#line 14243 "preproc.y" +#line 14236 "preproc.y" { (yyval.str) = mm_strdup("move"); } -#line 56945 "preproc.c" +#line 56938 "preproc.c" break; case 2473: /* unreserved_keyword: NAME_P */ -#line 14247 "preproc.y" +#line 14240 "preproc.y" { (yyval.str) = mm_strdup("name"); } -#line 56953 "preproc.c" +#line 56946 "preproc.c" break; case 2474: /* unreserved_keyword: NAMES */ -#line 14251 "preproc.y" +#line 14244 "preproc.y" { (yyval.str) = mm_strdup("names"); } -#line 56961 "preproc.c" +#line 56954 "preproc.c" break; case 2475: /* unreserved_keyword: NEW */ -#line 14255 "preproc.y" +#line 14248 "preproc.y" { (yyval.str) = mm_strdup("new"); } -#line 56969 "preproc.c" +#line 56962 "preproc.c" break; case 2476: /* unreserved_keyword: NEXT */ -#line 14259 "preproc.y" +#line 14252 "preproc.y" { (yyval.str) = mm_strdup("next"); } -#line 56977 "preproc.c" +#line 56970 "preproc.c" break; case 2477: /* unreserved_keyword: NFC */ -#line 14263 "preproc.y" +#line 14256 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } -#line 56985 "preproc.c" +#line 56978 "preproc.c" break; case 2478: /* unreserved_keyword: NFD */ -#line 14267 "preproc.y" +#line 14260 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } -#line 56993 "preproc.c" +#line 56986 "preproc.c" break; case 2479: /* unreserved_keyword: NFKC */ -#line 14271 "preproc.y" +#line 14264 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } -#line 57001 "preproc.c" +#line 56994 "preproc.c" break; case 2480: /* unreserved_keyword: NFKD */ -#line 14275 "preproc.y" +#line 14268 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } -#line 57009 "preproc.c" +#line 57002 "preproc.c" break; case 2481: /* unreserved_keyword: NO */ -#line 14279 "preproc.y" +#line 14272 "preproc.y" { (yyval.str) = mm_strdup("no"); } -#line 57017 "preproc.c" +#line 57010 "preproc.c" break; case 2482: /* unreserved_keyword: NORMALIZED */ -#line 14283 "preproc.y" +#line 14276 "preproc.y" { (yyval.str) = mm_strdup("normalized"); } -#line 57025 "preproc.c" +#line 57018 "preproc.c" break; case 2483: /* unreserved_keyword: NOTHING */ -#line 14287 "preproc.y" +#line 14280 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } -#line 57033 "preproc.c" +#line 57026 "preproc.c" break; case 2484: /* unreserved_keyword: NOTIFY */ -#line 14291 "preproc.y" +#line 14284 "preproc.y" { (yyval.str) = mm_strdup("notify"); } -#line 57041 "preproc.c" +#line 57034 "preproc.c" break; case 2485: /* unreserved_keyword: NOWAIT */ -#line 14295 "preproc.y" +#line 14288 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } -#line 57049 "preproc.c" +#line 57042 "preproc.c" break; case 2486: /* unreserved_keyword: NULLS_P */ -#line 14299 "preproc.y" +#line 14292 "preproc.y" { (yyval.str) = mm_strdup("nulls"); } -#line 57057 "preproc.c" +#line 57050 "preproc.c" break; case 2487: /* unreserved_keyword: OBJECT_P */ -#line 14303 "preproc.y" +#line 14296 "preproc.y" { (yyval.str) = mm_strdup("object"); } -#line 57065 "preproc.c" +#line 57058 "preproc.c" break; case 2488: /* unreserved_keyword: OF */ -#line 14307 "preproc.y" +#line 14300 "preproc.y" { (yyval.str) = mm_strdup("of"); } -#line 57073 "preproc.c" +#line 57066 "preproc.c" break; case 2489: /* unreserved_keyword: OFF */ -#line 14311 "preproc.y" +#line 14304 "preproc.y" { (yyval.str) = mm_strdup("off"); } -#line 57081 "preproc.c" +#line 57074 "preproc.c" break; case 2490: /* unreserved_keyword: OIDS */ -#line 14315 "preproc.y" +#line 14308 "preproc.y" { (yyval.str) = mm_strdup("oids"); } -#line 57089 "preproc.c" +#line 57082 "preproc.c" break; case 2491: /* unreserved_keyword: OLD */ -#line 14319 "preproc.y" +#line 14312 "preproc.y" { (yyval.str) = mm_strdup("old"); } -#line 57097 "preproc.c" +#line 57090 "preproc.c" break; case 2492: /* unreserved_keyword: OPERATOR */ -#line 14323 "preproc.y" +#line 14316 "preproc.y" { (yyval.str) = mm_strdup("operator"); } -#line 57105 "preproc.c" +#line 57098 "preproc.c" break; case 2493: /* unreserved_keyword: OPTION */ -#line 14327 "preproc.y" +#line 14320 "preproc.y" { (yyval.str) = mm_strdup("option"); } -#line 57113 "preproc.c" +#line 57106 "preproc.c" break; case 2494: /* unreserved_keyword: OPTIONS */ -#line 14331 "preproc.y" +#line 14324 "preproc.y" { (yyval.str) = mm_strdup("options"); } -#line 57121 "preproc.c" +#line 57114 "preproc.c" break; case 2495: /* unreserved_keyword: ORDINALITY */ -#line 14335 "preproc.y" +#line 14328 "preproc.y" { (yyval.str) = mm_strdup("ordinality"); } -#line 57129 "preproc.c" +#line 57122 "preproc.c" break; case 2496: /* unreserved_keyword: OTHERS */ -#line 14339 "preproc.y" +#line 14332 "preproc.y" { (yyval.str) = mm_strdup("others"); } -#line 57137 "preproc.c" +#line 57130 "preproc.c" break; case 2497: /* unreserved_keyword: OVER */ -#line 14343 "preproc.y" +#line 14336 "preproc.y" { (yyval.str) = mm_strdup("over"); } -#line 57145 "preproc.c" +#line 57138 "preproc.c" break; case 2498: /* unreserved_keyword: OVERRIDING */ -#line 14347 "preproc.y" +#line 14340 "preproc.y" { (yyval.str) = mm_strdup("overriding"); } -#line 57153 "preproc.c" +#line 57146 "preproc.c" break; case 2499: /* unreserved_keyword: OWNED */ -#line 14351 "preproc.y" +#line 14344 "preproc.y" { (yyval.str) = mm_strdup("owned"); } -#line 57161 "preproc.c" +#line 57154 "preproc.c" break; case 2500: /* unreserved_keyword: OWNER */ -#line 14355 "preproc.y" +#line 14348 "preproc.y" { (yyval.str) = mm_strdup("owner"); } -#line 57169 "preproc.c" +#line 57162 "preproc.c" break; case 2501: /* unreserved_keyword: PARALLEL */ -#line 14359 "preproc.y" +#line 14352 "preproc.y" { (yyval.str) = mm_strdup("parallel"); } -#line 57177 "preproc.c" +#line 57170 "preproc.c" break; case 2502: /* unreserved_keyword: PARAMETER */ -#line 14363 "preproc.y" +#line 14356 "preproc.y" { (yyval.str) = mm_strdup("parameter"); } -#line 57185 "preproc.c" +#line 57178 "preproc.c" break; case 2503: /* unreserved_keyword: PARSER */ -#line 14367 "preproc.y" +#line 14360 "preproc.y" { (yyval.str) = mm_strdup("parser"); } -#line 57193 "preproc.c" +#line 57186 "preproc.c" break; case 2504: /* unreserved_keyword: PARTIAL */ -#line 14371 "preproc.y" +#line 14364 "preproc.y" { (yyval.str) = mm_strdup("partial"); } -#line 57201 "preproc.c" +#line 57194 "preproc.c" break; case 2505: /* unreserved_keyword: PARTITION */ -#line 14375 "preproc.y" +#line 14368 "preproc.y" { (yyval.str) = mm_strdup("partition"); } -#line 57209 "preproc.c" +#line 57202 "preproc.c" break; case 2506: /* unreserved_keyword: PASSING */ -#line 14379 "preproc.y" +#line 14372 "preproc.y" { (yyval.str) = mm_strdup("passing"); } -#line 57217 "preproc.c" +#line 57210 "preproc.c" break; case 2507: /* unreserved_keyword: PASSWORD */ -#line 14383 "preproc.y" +#line 14376 "preproc.y" { (yyval.str) = mm_strdup("password"); } -#line 57225 "preproc.c" +#line 57218 "preproc.c" break; case 2508: /* unreserved_keyword: PLANS */ -#line 14387 "preproc.y" +#line 14380 "preproc.y" { (yyval.str) = mm_strdup("plans"); } -#line 57233 "preproc.c" +#line 57226 "preproc.c" break; case 2509: /* unreserved_keyword: POLICY */ -#line 14391 "preproc.y" +#line 14384 "preproc.y" { (yyval.str) = mm_strdup("policy"); } -#line 57241 "preproc.c" +#line 57234 "preproc.c" break; case 2510: /* unreserved_keyword: PRECEDING */ -#line 14395 "preproc.y" +#line 14388 "preproc.y" { (yyval.str) = mm_strdup("preceding"); } -#line 57249 "preproc.c" +#line 57242 "preproc.c" break; case 2511: /* unreserved_keyword: PREPARE */ -#line 14399 "preproc.y" +#line 14392 "preproc.y" { (yyval.str) = mm_strdup("prepare"); } -#line 57257 "preproc.c" +#line 57250 "preproc.c" break; case 2512: /* unreserved_keyword: PREPARED */ -#line 14403 "preproc.y" +#line 14396 "preproc.y" { (yyval.str) = mm_strdup("prepared"); } -#line 57265 "preproc.c" +#line 57258 "preproc.c" break; case 2513: /* unreserved_keyword: PRESERVE */ -#line 14407 "preproc.y" +#line 14400 "preproc.y" { (yyval.str) = mm_strdup("preserve"); } -#line 57273 "preproc.c" +#line 57266 "preproc.c" break; case 2514: /* unreserved_keyword: PRIOR */ -#line 14411 "preproc.y" +#line 14404 "preproc.y" { (yyval.str) = mm_strdup("prior"); } -#line 57281 "preproc.c" +#line 57274 "preproc.c" break; case 2515: /* unreserved_keyword: PRIVILEGES */ -#line 14415 "preproc.y" +#line 14408 "preproc.y" { (yyval.str) = mm_strdup("privileges"); } -#line 57289 "preproc.c" +#line 57282 "preproc.c" break; case 2516: /* unreserved_keyword: PROCEDURAL */ -#line 14419 "preproc.y" +#line 14412 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } -#line 57297 "preproc.c" +#line 57290 "preproc.c" break; case 2517: /* unreserved_keyword: PROCEDURE */ -#line 14423 "preproc.y" +#line 14416 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } -#line 57305 "preproc.c" +#line 57298 "preproc.c" break; case 2518: /* unreserved_keyword: PROCEDURES */ -#line 14427 "preproc.y" +#line 14420 "preproc.y" { (yyval.str) = mm_strdup("procedures"); } -#line 57313 "preproc.c" +#line 57306 "preproc.c" break; case 2519: /* unreserved_keyword: PROGRAM */ -#line 14431 "preproc.y" +#line 14424 "preproc.y" { (yyval.str) = mm_strdup("program"); } -#line 57321 "preproc.c" +#line 57314 "preproc.c" break; case 2520: /* unreserved_keyword: PUBLICATION */ -#line 14435 "preproc.y" +#line 14428 "preproc.y" { (yyval.str) = mm_strdup("publication"); } -#line 57329 "preproc.c" +#line 57322 "preproc.c" break; case 2521: /* unreserved_keyword: QUOTE */ -#line 14439 "preproc.y" +#line 14432 "preproc.y" { (yyval.str) = mm_strdup("quote"); } -#line 57337 "preproc.c" +#line 57330 "preproc.c" break; case 2522: /* unreserved_keyword: RANGE */ -#line 14443 "preproc.y" +#line 14436 "preproc.y" { (yyval.str) = mm_strdup("range"); } -#line 57345 "preproc.c" +#line 57338 "preproc.c" break; case 2523: /* unreserved_keyword: READ */ -#line 14447 "preproc.y" +#line 14440 "preproc.y" { (yyval.str) = mm_strdup("read"); } -#line 57353 "preproc.c" +#line 57346 "preproc.c" break; case 2524: /* unreserved_keyword: REASSIGN */ -#line 14451 "preproc.y" +#line 14444 "preproc.y" { (yyval.str) = mm_strdup("reassign"); } -#line 57361 "preproc.c" +#line 57354 "preproc.c" break; case 2525: /* unreserved_keyword: RECHECK */ -#line 14455 "preproc.y" +#line 14448 "preproc.y" { (yyval.str) = mm_strdup("recheck"); } -#line 57369 "preproc.c" +#line 57362 "preproc.c" break; case 2526: /* unreserved_keyword: RECURSIVE */ -#line 14459 "preproc.y" +#line 14452 "preproc.y" { (yyval.str) = mm_strdup("recursive"); } -#line 57377 "preproc.c" +#line 57370 "preproc.c" break; case 2527: /* unreserved_keyword: REF_P */ -#line 14463 "preproc.y" +#line 14456 "preproc.y" { (yyval.str) = mm_strdup("ref"); } -#line 57385 "preproc.c" +#line 57378 "preproc.c" break; case 2528: /* unreserved_keyword: REFERENCING */ -#line 14467 "preproc.y" +#line 14460 "preproc.y" { (yyval.str) = mm_strdup("referencing"); } -#line 57393 "preproc.c" +#line 57386 "preproc.c" break; case 2529: /* unreserved_keyword: REFRESH */ -#line 14471 "preproc.y" +#line 14464 "preproc.y" { (yyval.str) = mm_strdup("refresh"); } -#line 57401 "preproc.c" +#line 57394 "preproc.c" break; case 2530: /* unreserved_keyword: REINDEX */ -#line 14475 "preproc.y" +#line 14468 "preproc.y" { (yyval.str) = mm_strdup("reindex"); } -#line 57409 "preproc.c" +#line 57402 "preproc.c" break; case 2531: /* unreserved_keyword: RELATIVE_P */ -#line 14479 "preproc.y" +#line 14472 "preproc.y" { (yyval.str) = mm_strdup("relative"); } -#line 57417 "preproc.c" +#line 57410 "preproc.c" break; case 2532: /* unreserved_keyword: RELEASE */ -#line 14483 "preproc.y" +#line 14476 "preproc.y" { (yyval.str) = mm_strdup("release"); } -#line 57425 "preproc.c" +#line 57418 "preproc.c" break; case 2533: /* unreserved_keyword: RENAME */ -#line 14487 "preproc.y" +#line 14480 "preproc.y" { (yyval.str) = mm_strdup("rename"); } -#line 57433 "preproc.c" +#line 57426 "preproc.c" break; case 2534: /* unreserved_keyword: REPEATABLE */ -#line 14491 "preproc.y" +#line 14484 "preproc.y" { (yyval.str) = mm_strdup("repeatable"); } -#line 57441 "preproc.c" +#line 57434 "preproc.c" break; case 2535: /* unreserved_keyword: REPLACE */ -#line 14495 "preproc.y" +#line 14488 "preproc.y" { (yyval.str) = mm_strdup("replace"); } -#line 57449 "preproc.c" +#line 57442 "preproc.c" break; case 2536: /* unreserved_keyword: REPLICA */ -#line 14499 "preproc.y" +#line 14492 "preproc.y" { (yyval.str) = mm_strdup("replica"); } -#line 57457 "preproc.c" +#line 57450 "preproc.c" break; case 2537: /* unreserved_keyword: RESET */ -#line 14503 "preproc.y" +#line 14496 "preproc.y" { (yyval.str) = mm_strdup("reset"); } -#line 57465 "preproc.c" +#line 57458 "preproc.c" break; case 2538: /* unreserved_keyword: RESTART */ -#line 14507 "preproc.y" +#line 14500 "preproc.y" { (yyval.str) = mm_strdup("restart"); } -#line 57473 "preproc.c" +#line 57466 "preproc.c" break; case 2539: /* unreserved_keyword: RESTRICT */ -#line 14511 "preproc.y" +#line 14504 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } -#line 57481 "preproc.c" +#line 57474 "preproc.c" break; case 2540: /* unreserved_keyword: RETURN */ -#line 14515 "preproc.y" +#line 14508 "preproc.y" { (yyval.str) = mm_strdup("return"); } -#line 57489 "preproc.c" +#line 57482 "preproc.c" break; case 2541: /* unreserved_keyword: RETURNS */ -#line 14519 "preproc.y" +#line 14512 "preproc.y" { (yyval.str) = mm_strdup("returns"); } -#line 57497 "preproc.c" +#line 57490 "preproc.c" break; case 2542: /* unreserved_keyword: REVOKE */ -#line 14523 "preproc.y" +#line 14516 "preproc.y" { (yyval.str) = mm_strdup("revoke"); } -#line 57505 "preproc.c" +#line 57498 "preproc.c" break; case 2543: /* unreserved_keyword: ROLE */ -#line 14527 "preproc.y" +#line 14520 "preproc.y" { (yyval.str) = mm_strdup("role"); } -#line 57513 "preproc.c" +#line 57506 "preproc.c" break; case 2544: /* unreserved_keyword: ROLLBACK */ -#line 14531 "preproc.y" +#line 14524 "preproc.y" { (yyval.str) = mm_strdup("rollback"); } -#line 57521 "preproc.c" +#line 57514 "preproc.c" break; case 2545: /* unreserved_keyword: ROLLUP */ -#line 14535 "preproc.y" +#line 14528 "preproc.y" { (yyval.str) = mm_strdup("rollup"); } -#line 57529 "preproc.c" +#line 57522 "preproc.c" break; case 2546: /* unreserved_keyword: ROUTINE */ -#line 14539 "preproc.y" +#line 14532 "preproc.y" { (yyval.str) = mm_strdup("routine"); } -#line 57537 "preproc.c" +#line 57530 "preproc.c" break; case 2547: /* unreserved_keyword: ROUTINES */ -#line 14543 "preproc.y" +#line 14536 "preproc.y" { (yyval.str) = mm_strdup("routines"); } -#line 57545 "preproc.c" +#line 57538 "preproc.c" break; case 2548: /* unreserved_keyword: ROWS */ -#line 14547 "preproc.y" +#line 14540 "preproc.y" { (yyval.str) = mm_strdup("rows"); } -#line 57553 "preproc.c" +#line 57546 "preproc.c" break; case 2549: /* unreserved_keyword: RULE */ -#line 14551 "preproc.y" +#line 14544 "preproc.y" { (yyval.str) = mm_strdup("rule"); } -#line 57561 "preproc.c" +#line 57554 "preproc.c" break; case 2550: /* unreserved_keyword: SAVEPOINT */ -#line 14555 "preproc.y" +#line 14548 "preproc.y" { (yyval.str) = mm_strdup("savepoint"); } -#line 57569 "preproc.c" +#line 57562 "preproc.c" break; case 2551: /* unreserved_keyword: SCHEMA */ -#line 14559 "preproc.y" +#line 14552 "preproc.y" { (yyval.str) = mm_strdup("schema"); } -#line 57577 "preproc.c" +#line 57570 "preproc.c" break; case 2552: /* unreserved_keyword: SCHEMAS */ -#line 14563 "preproc.y" +#line 14556 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } -#line 57585 "preproc.c" +#line 57578 "preproc.c" break; case 2553: /* unreserved_keyword: SCROLL */ -#line 14567 "preproc.y" +#line 14560 "preproc.y" { (yyval.str) = mm_strdup("scroll"); } -#line 57593 "preproc.c" +#line 57586 "preproc.c" break; case 2554: /* unreserved_keyword: SEARCH */ -#line 14571 "preproc.y" +#line 14564 "preproc.y" { (yyval.str) = mm_strdup("search"); } -#line 57601 "preproc.c" +#line 57594 "preproc.c" break; case 2555: /* unreserved_keyword: SECURITY */ -#line 14575 "preproc.y" +#line 14568 "preproc.y" { (yyval.str) = mm_strdup("security"); } -#line 57609 "preproc.c" +#line 57602 "preproc.c" break; case 2556: /* unreserved_keyword: SEQUENCE */ -#line 14579 "preproc.y" +#line 14572 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } -#line 57617 "preproc.c" +#line 57610 "preproc.c" break; case 2557: /* unreserved_keyword: SEQUENCES */ -#line 14583 "preproc.y" +#line 14576 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } -#line 57625 "preproc.c" +#line 57618 "preproc.c" break; case 2558: /* unreserved_keyword: SERIALIZABLE */ -#line 14587 "preproc.y" +#line 14580 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } -#line 57633 "preproc.c" +#line 57626 "preproc.c" break; case 2559: /* unreserved_keyword: SERVER */ -#line 14591 "preproc.y" +#line 14584 "preproc.y" { (yyval.str) = mm_strdup("server"); } -#line 57641 "preproc.c" +#line 57634 "preproc.c" break; case 2560: /* unreserved_keyword: SESSION */ -#line 14595 "preproc.y" +#line 14588 "preproc.y" { (yyval.str) = mm_strdup("session"); } -#line 57649 "preproc.c" +#line 57642 "preproc.c" break; case 2561: /* unreserved_keyword: SET */ -#line 14599 "preproc.y" +#line 14592 "preproc.y" { (yyval.str) = mm_strdup("set"); } -#line 57657 "preproc.c" +#line 57650 "preproc.c" break; case 2562: /* unreserved_keyword: SETS */ -#line 14603 "preproc.y" +#line 14596 "preproc.y" { (yyval.str) = mm_strdup("sets"); } -#line 57665 "preproc.c" +#line 57658 "preproc.c" break; case 2563: /* unreserved_keyword: SHARE */ -#line 14607 "preproc.y" +#line 14600 "preproc.y" { (yyval.str) = mm_strdup("share"); } -#line 57673 "preproc.c" +#line 57666 "preproc.c" break; case 2564: /* unreserved_keyword: SHOW */ -#line 14611 "preproc.y" +#line 14604 "preproc.y" { (yyval.str) = mm_strdup("show"); } -#line 57681 "preproc.c" +#line 57674 "preproc.c" break; case 2565: /* unreserved_keyword: SIMPLE */ -#line 14615 "preproc.y" +#line 14608 "preproc.y" { (yyval.str) = mm_strdup("simple"); } -#line 57689 "preproc.c" +#line 57682 "preproc.c" break; case 2566: /* unreserved_keyword: SKIP */ -#line 14619 "preproc.y" +#line 14612 "preproc.y" { (yyval.str) = mm_strdup("skip"); } -#line 57697 "preproc.c" +#line 57690 "preproc.c" break; case 2567: /* unreserved_keyword: SNAPSHOT */ -#line 14623 "preproc.y" +#line 14616 "preproc.y" { (yyval.str) = mm_strdup("snapshot"); } -#line 57705 "preproc.c" +#line 57698 "preproc.c" break; case 2568: /* unreserved_keyword: SQL_P */ -#line 14627 "preproc.y" +#line 14620 "preproc.y" { (yyval.str) = mm_strdup("sql"); } -#line 57713 "preproc.c" +#line 57706 "preproc.c" break; case 2569: /* unreserved_keyword: STABLE */ -#line 14631 "preproc.y" +#line 14624 "preproc.y" { (yyval.str) = mm_strdup("stable"); } -#line 57721 "preproc.c" +#line 57714 "preproc.c" break; case 2570: /* unreserved_keyword: STANDALONE_P */ -#line 14635 "preproc.y" +#line 14628 "preproc.y" { (yyval.str) = mm_strdup("standalone"); } -#line 57729 "preproc.c" +#line 57722 "preproc.c" break; case 2571: /* unreserved_keyword: START */ -#line 14639 "preproc.y" +#line 14632 "preproc.y" { (yyval.str) = mm_strdup("start"); } -#line 57737 "preproc.c" +#line 57730 "preproc.c" break; case 2572: /* unreserved_keyword: STATEMENT */ -#line 14643 "preproc.y" +#line 14636 "preproc.y" { (yyval.str) = mm_strdup("statement"); } -#line 57745 "preproc.c" +#line 57738 "preproc.c" break; case 2573: /* unreserved_keyword: STATISTICS */ -#line 14647 "preproc.y" +#line 14640 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } -#line 57753 "preproc.c" +#line 57746 "preproc.c" break; case 2574: /* unreserved_keyword: STDIN */ -#line 14651 "preproc.y" +#line 14644 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } -#line 57761 "preproc.c" +#line 57754 "preproc.c" break; case 2575: /* unreserved_keyword: STDOUT */ -#line 14655 "preproc.y" +#line 14648 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } -#line 57769 "preproc.c" +#line 57762 "preproc.c" break; case 2576: /* unreserved_keyword: STORAGE */ -#line 14659 "preproc.y" +#line 14652 "preproc.y" { (yyval.str) = mm_strdup("storage"); } -#line 57777 "preproc.c" +#line 57770 "preproc.c" break; case 2577: /* unreserved_keyword: STORED */ -#line 14663 "preproc.y" +#line 14656 "preproc.y" { (yyval.str) = mm_strdup("stored"); } -#line 57785 "preproc.c" +#line 57778 "preproc.c" break; case 2578: /* unreserved_keyword: STRICT_P */ -#line 14667 "preproc.y" +#line 14660 "preproc.y" { (yyval.str) = mm_strdup("strict"); } -#line 57793 "preproc.c" +#line 57786 "preproc.c" break; case 2579: /* unreserved_keyword: STRIP_P */ -#line 14671 "preproc.y" +#line 14664 "preproc.y" { (yyval.str) = mm_strdup("strip"); } -#line 57801 "preproc.c" +#line 57794 "preproc.c" break; case 2580: /* unreserved_keyword: SUBSCRIPTION */ -#line 14675 "preproc.y" +#line 14668 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } -#line 57809 "preproc.c" +#line 57802 "preproc.c" break; case 2581: /* unreserved_keyword: SUPPORT */ -#line 14679 "preproc.y" +#line 14672 "preproc.y" { (yyval.str) = mm_strdup("support"); } -#line 57817 "preproc.c" +#line 57810 "preproc.c" break; case 2582: /* unreserved_keyword: SYSID */ -#line 14683 "preproc.y" +#line 14676 "preproc.y" { (yyval.str) = mm_strdup("sysid"); } -#line 57825 "preproc.c" +#line 57818 "preproc.c" break; case 2583: /* unreserved_keyword: SYSTEM_P */ -#line 14687 "preproc.y" +#line 14680 "preproc.y" { (yyval.str) = mm_strdup("system"); } -#line 57833 "preproc.c" +#line 57826 "preproc.c" break; case 2584: /* unreserved_keyword: TABLES */ -#line 14691 "preproc.y" +#line 14684 "preproc.y" { (yyval.str) = mm_strdup("tables"); } -#line 57841 "preproc.c" +#line 57834 "preproc.c" break; case 2585: /* unreserved_keyword: TABLESPACE */ -#line 14695 "preproc.y" +#line 14688 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } -#line 57849 "preproc.c" +#line 57842 "preproc.c" break; case 2586: /* unreserved_keyword: TEMP */ -#line 14699 "preproc.y" +#line 14692 "preproc.y" { (yyval.str) = mm_strdup("temp"); } -#line 57857 "preproc.c" +#line 57850 "preproc.c" break; case 2587: /* unreserved_keyword: TEMPLATE */ -#line 14703 "preproc.y" +#line 14696 "preproc.y" { (yyval.str) = mm_strdup("template"); } -#line 57865 "preproc.c" +#line 57858 "preproc.c" break; case 2588: /* unreserved_keyword: TEMPORARY */ -#line 14707 "preproc.y" +#line 14700 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } -#line 57873 "preproc.c" +#line 57866 "preproc.c" break; case 2589: /* unreserved_keyword: TEXT_P */ -#line 14711 "preproc.y" +#line 14704 "preproc.y" { (yyval.str) = mm_strdup("text"); } -#line 57881 "preproc.c" +#line 57874 "preproc.c" break; case 2590: /* unreserved_keyword: TIES */ -#line 14715 "preproc.y" +#line 14708 "preproc.y" { (yyval.str) = mm_strdup("ties"); } -#line 57889 "preproc.c" +#line 57882 "preproc.c" break; case 2591: /* unreserved_keyword: TRANSACTION */ -#line 14719 "preproc.y" +#line 14712 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } -#line 57897 "preproc.c" +#line 57890 "preproc.c" break; case 2592: /* unreserved_keyword: TRANSFORM */ -#line 14723 "preproc.y" +#line 14716 "preproc.y" { (yyval.str) = mm_strdup("transform"); } -#line 57905 "preproc.c" +#line 57898 "preproc.c" break; case 2593: /* unreserved_keyword: TRIGGER */ -#line 14727 "preproc.y" +#line 14720 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } -#line 57913 "preproc.c" +#line 57906 "preproc.c" break; case 2594: /* unreserved_keyword: TRUNCATE */ -#line 14731 "preproc.y" +#line 14724 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } -#line 57921 "preproc.c" +#line 57914 "preproc.c" break; case 2595: /* unreserved_keyword: TRUSTED */ -#line 14735 "preproc.y" +#line 14728 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } -#line 57929 "preproc.c" +#line 57922 "preproc.c" break; case 2596: /* unreserved_keyword: TYPE_P */ -#line 14739 "preproc.y" +#line 14732 "preproc.y" { (yyval.str) = mm_strdup("type"); } -#line 57937 "preproc.c" +#line 57930 "preproc.c" break; case 2597: /* unreserved_keyword: TYPES_P */ -#line 14743 "preproc.y" +#line 14736 "preproc.y" { (yyval.str) = mm_strdup("types"); } -#line 57945 "preproc.c" +#line 57938 "preproc.c" break; case 2598: /* unreserved_keyword: UESCAPE */ -#line 14747 "preproc.y" +#line 14740 "preproc.y" { (yyval.str) = mm_strdup("uescape"); } -#line 57953 "preproc.c" +#line 57946 "preproc.c" break; case 2599: /* unreserved_keyword: UNBOUNDED */ -#line 14751 "preproc.y" +#line 14744 "preproc.y" { (yyval.str) = mm_strdup("unbounded"); } -#line 57961 "preproc.c" +#line 57954 "preproc.c" break; case 2600: /* unreserved_keyword: UNCOMMITTED */ -#line 14755 "preproc.y" +#line 14748 "preproc.y" { (yyval.str) = mm_strdup("uncommitted"); } -#line 57969 "preproc.c" +#line 57962 "preproc.c" break; case 2601: /* unreserved_keyword: UNENCRYPTED */ -#line 14759 "preproc.y" +#line 14752 "preproc.y" { (yyval.str) = mm_strdup("unencrypted"); } -#line 57977 "preproc.c" +#line 57970 "preproc.c" break; case 2602: /* unreserved_keyword: UNKNOWN */ -#line 14763 "preproc.y" +#line 14756 "preproc.y" { (yyval.str) = mm_strdup("unknown"); } -#line 57985 "preproc.c" +#line 57978 "preproc.c" break; case 2603: /* unreserved_keyword: UNLISTEN */ -#line 14767 "preproc.y" +#line 14760 "preproc.y" { (yyval.str) = mm_strdup("unlisten"); } -#line 57993 "preproc.c" +#line 57986 "preproc.c" break; case 2604: /* unreserved_keyword: UNLOGGED */ -#line 14771 "preproc.y" +#line 14764 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } -#line 58001 "preproc.c" +#line 57994 "preproc.c" break; case 2605: /* unreserved_keyword: UNTIL */ -#line 14775 "preproc.y" +#line 14768 "preproc.y" { (yyval.str) = mm_strdup("until"); } -#line 58009 "preproc.c" +#line 58002 "preproc.c" break; case 2606: /* unreserved_keyword: UPDATE */ -#line 14779 "preproc.y" +#line 14772 "preproc.y" { (yyval.str) = mm_strdup("update"); } -#line 58017 "preproc.c" +#line 58010 "preproc.c" break; case 2607: /* unreserved_keyword: VACUUM */ -#line 14783 "preproc.y" +#line 14776 "preproc.y" { (yyval.str) = mm_strdup("vacuum"); } -#line 58025 "preproc.c" +#line 58018 "preproc.c" break; case 2608: /* unreserved_keyword: VALID */ -#line 14787 "preproc.y" +#line 14780 "preproc.y" { (yyval.str) = mm_strdup("valid"); } -#line 58033 "preproc.c" +#line 58026 "preproc.c" break; case 2609: /* unreserved_keyword: VALIDATE */ -#line 14791 "preproc.y" +#line 14784 "preproc.y" { (yyval.str) = mm_strdup("validate"); } -#line 58041 "preproc.c" +#line 58034 "preproc.c" break; case 2610: /* unreserved_keyword: VALIDATOR */ -#line 14795 "preproc.y" +#line 14788 "preproc.y" { (yyval.str) = mm_strdup("validator"); } -#line 58049 "preproc.c" +#line 58042 "preproc.c" break; case 2611: /* unreserved_keyword: VALUE_P */ -#line 14799 "preproc.y" +#line 14792 "preproc.y" { (yyval.str) = mm_strdup("value"); } -#line 58057 "preproc.c" +#line 58050 "preproc.c" break; case 2612: /* unreserved_keyword: VARYING */ -#line 14803 "preproc.y" +#line 14796 "preproc.y" { (yyval.str) = mm_strdup("varying"); } -#line 58065 "preproc.c" +#line 58058 "preproc.c" break; case 2613: /* unreserved_keyword: VERSION_P */ -#line 14807 "preproc.y" +#line 14800 "preproc.y" { (yyval.str) = mm_strdup("version"); } -#line 58073 "preproc.c" +#line 58066 "preproc.c" break; case 2614: /* unreserved_keyword: VIEW */ -#line 14811 "preproc.y" +#line 14804 "preproc.y" { (yyval.str) = mm_strdup("view"); } -#line 58081 "preproc.c" +#line 58074 "preproc.c" break; case 2615: /* unreserved_keyword: VIEWS */ -#line 14815 "preproc.y" +#line 14808 "preproc.y" { (yyval.str) = mm_strdup("views"); } -#line 58089 "preproc.c" +#line 58082 "preproc.c" break; case 2616: /* unreserved_keyword: VOLATILE */ -#line 14819 "preproc.y" +#line 14812 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } -#line 58097 "preproc.c" +#line 58090 "preproc.c" break; case 2617: /* unreserved_keyword: WHITESPACE_P */ -#line 14823 "preproc.y" +#line 14816 "preproc.y" { (yyval.str) = mm_strdup("whitespace"); } -#line 58105 "preproc.c" +#line 58098 "preproc.c" break; case 2618: /* unreserved_keyword: WITHIN */ -#line 14827 "preproc.y" +#line 14820 "preproc.y" { (yyval.str) = mm_strdup("within"); } -#line 58113 "preproc.c" +#line 58106 "preproc.c" break; case 2619: /* unreserved_keyword: WITHOUT */ -#line 14831 "preproc.y" +#line 14824 "preproc.y" { (yyval.str) = mm_strdup("without"); } -#line 58121 "preproc.c" +#line 58114 "preproc.c" break; case 2620: /* unreserved_keyword: WORK */ -#line 14835 "preproc.y" +#line 14828 "preproc.y" { (yyval.str) = mm_strdup("work"); } -#line 58129 "preproc.c" +#line 58122 "preproc.c" break; case 2621: /* unreserved_keyword: WRAPPER */ -#line 14839 "preproc.y" +#line 14832 "preproc.y" { (yyval.str) = mm_strdup("wrapper"); } -#line 58137 "preproc.c" +#line 58130 "preproc.c" break; case 2622: /* unreserved_keyword: WRITE */ -#line 14843 "preproc.y" +#line 14836 "preproc.y" { (yyval.str) = mm_strdup("write"); } -#line 58145 "preproc.c" +#line 58138 "preproc.c" break; case 2623: /* unreserved_keyword: XML_P */ -#line 14847 "preproc.y" +#line 14840 "preproc.y" { (yyval.str) = mm_strdup("xml"); } -#line 58153 "preproc.c" +#line 58146 "preproc.c" break; case 2624: /* unreserved_keyword: YES_P */ -#line 14851 "preproc.y" +#line 14844 "preproc.y" { (yyval.str) = mm_strdup("yes"); } -#line 58161 "preproc.c" +#line 58154 "preproc.c" break; case 2625: /* unreserved_keyword: ZONE */ -#line 14855 "preproc.y" +#line 14848 "preproc.y" { (yyval.str) = mm_strdup("zone"); } -#line 58169 "preproc.c" +#line 58162 "preproc.c" break; case 2626: /* col_name_keyword: BETWEEN */ -#line 14863 "preproc.y" +#line 14856 "preproc.y" { (yyval.str) = mm_strdup("between"); } -#line 58177 "preproc.c" +#line 58170 "preproc.c" break; case 2627: /* col_name_keyword: BIGINT */ -#line 14867 "preproc.y" +#line 14860 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } -#line 58185 "preproc.c" +#line 58178 "preproc.c" break; case 2628: /* col_name_keyword: BIT */ -#line 14871 "preproc.y" +#line 14864 "preproc.y" { (yyval.str) = mm_strdup("bit"); } -#line 58193 "preproc.c" +#line 58186 "preproc.c" break; case 2629: /* col_name_keyword: BOOLEAN_P */ -#line 14875 "preproc.y" +#line 14868 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } -#line 58201 "preproc.c" +#line 58194 "preproc.c" break; case 2630: /* col_name_keyword: CHARACTER */ -#line 14879 "preproc.y" +#line 14872 "preproc.y" { (yyval.str) = mm_strdup("character"); } -#line 58209 "preproc.c" +#line 58202 "preproc.c" break; case 2631: /* col_name_keyword: COALESCE */ -#line 14883 "preproc.y" +#line 14876 "preproc.y" { (yyval.str) = mm_strdup("coalesce"); } -#line 58217 "preproc.c" +#line 58210 "preproc.c" break; case 2632: /* col_name_keyword: DEC */ -#line 14887 "preproc.y" +#line 14880 "preproc.y" { (yyval.str) = mm_strdup("dec"); } -#line 58225 "preproc.c" +#line 58218 "preproc.c" break; case 2633: /* col_name_keyword: DECIMAL_P */ -#line 14891 "preproc.y" +#line 14884 "preproc.y" { (yyval.str) = mm_strdup("decimal"); } -#line 58233 "preproc.c" +#line 58226 "preproc.c" break; case 2634: /* col_name_keyword: EXISTS */ -#line 14895 "preproc.y" +#line 14888 "preproc.y" { (yyval.str) = mm_strdup("exists"); } -#line 58241 "preproc.c" +#line 58234 "preproc.c" break; case 2635: /* col_name_keyword: EXTRACT */ -#line 14899 "preproc.y" +#line 14892 "preproc.y" { (yyval.str) = mm_strdup("extract"); } -#line 58249 "preproc.c" +#line 58242 "preproc.c" break; case 2636: /* col_name_keyword: FLOAT_P */ -#line 14903 "preproc.y" +#line 14896 "preproc.y" { (yyval.str) = mm_strdup("float"); } -#line 58257 "preproc.c" +#line 58250 "preproc.c" break; case 2637: /* col_name_keyword: GREATEST */ -#line 14907 "preproc.y" +#line 14900 "preproc.y" { (yyval.str) = mm_strdup("greatest"); } -#line 58265 "preproc.c" +#line 58258 "preproc.c" break; case 2638: /* col_name_keyword: GROUPING */ -#line 14911 "preproc.y" +#line 14904 "preproc.y" { (yyval.str) = mm_strdup("grouping"); } -#line 58273 "preproc.c" +#line 58266 "preproc.c" break; case 2639: /* col_name_keyword: INOUT */ -#line 14915 "preproc.y" +#line 14908 "preproc.y" { (yyval.str) = mm_strdup("inout"); } -#line 58281 "preproc.c" +#line 58274 "preproc.c" break; case 2640: /* col_name_keyword: INTEGER */ -#line 14919 "preproc.y" +#line 14912 "preproc.y" { (yyval.str) = mm_strdup("integer"); } -#line 58289 "preproc.c" +#line 58282 "preproc.c" break; case 2641: /* col_name_keyword: INTERVAL */ -#line 14923 "preproc.y" +#line 14916 "preproc.y" { (yyval.str) = mm_strdup("interval"); } -#line 58297 "preproc.c" +#line 58290 "preproc.c" break; case 2642: /* col_name_keyword: LEAST */ -#line 14927 "preproc.y" +#line 14920 "preproc.y" { (yyval.str) = mm_strdup("least"); } -#line 58305 "preproc.c" +#line 58298 "preproc.c" break; case 2643: /* col_name_keyword: NATIONAL */ -#line 14931 "preproc.y" +#line 14924 "preproc.y" { (yyval.str) = mm_strdup("national"); } -#line 58313 "preproc.c" +#line 58306 "preproc.c" break; case 2644: /* col_name_keyword: NCHAR */ -#line 14935 "preproc.y" +#line 14928 "preproc.y" { (yyval.str) = mm_strdup("nchar"); } -#line 58321 "preproc.c" +#line 58314 "preproc.c" break; case 2645: /* col_name_keyword: NONE */ -#line 14939 "preproc.y" +#line 14932 "preproc.y" { (yyval.str) = mm_strdup("none"); } -#line 58329 "preproc.c" +#line 58322 "preproc.c" break; case 2646: /* col_name_keyword: NORMALIZE */ -#line 14943 "preproc.y" +#line 14936 "preproc.y" { (yyval.str) = mm_strdup("normalize"); } -#line 58337 "preproc.c" +#line 58330 "preproc.c" break; case 2647: /* col_name_keyword: NULLIF */ -#line 14947 "preproc.y" +#line 14940 "preproc.y" { (yyval.str) = mm_strdup("nullif"); } -#line 58345 "preproc.c" +#line 58338 "preproc.c" break; case 2648: /* col_name_keyword: NUMERIC */ -#line 14951 "preproc.y" +#line 14944 "preproc.y" { (yyval.str) = mm_strdup("numeric"); } -#line 58353 "preproc.c" +#line 58346 "preproc.c" break; case 2649: /* col_name_keyword: OUT_P */ -#line 14955 "preproc.y" +#line 14948 "preproc.y" { (yyval.str) = mm_strdup("out"); } -#line 58361 "preproc.c" +#line 58354 "preproc.c" break; case 2650: /* col_name_keyword: OVERLAY */ -#line 14959 "preproc.y" +#line 14952 "preproc.y" { (yyval.str) = mm_strdup("overlay"); } -#line 58369 "preproc.c" +#line 58362 "preproc.c" break; case 2651: /* col_name_keyword: POSITION */ -#line 14963 "preproc.y" +#line 14956 "preproc.y" { (yyval.str) = mm_strdup("position"); } -#line 58377 "preproc.c" +#line 58370 "preproc.c" break; case 2652: /* col_name_keyword: PRECISION */ -#line 14967 "preproc.y" +#line 14960 "preproc.y" { (yyval.str) = mm_strdup("precision"); } -#line 58385 "preproc.c" +#line 58378 "preproc.c" break; case 2653: /* col_name_keyword: REAL */ -#line 14971 "preproc.y" +#line 14964 "preproc.y" { (yyval.str) = mm_strdup("real"); } -#line 58393 "preproc.c" +#line 58386 "preproc.c" break; case 2654: /* col_name_keyword: ROW */ -#line 14975 "preproc.y" +#line 14968 "preproc.y" { (yyval.str) = mm_strdup("row"); } -#line 58401 "preproc.c" +#line 58394 "preproc.c" break; case 2655: /* col_name_keyword: SETOF */ -#line 14979 "preproc.y" +#line 14972 "preproc.y" { (yyval.str) = mm_strdup("setof"); } -#line 58409 "preproc.c" +#line 58402 "preproc.c" break; case 2656: /* col_name_keyword: SMALLINT */ -#line 14983 "preproc.y" +#line 14976 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } -#line 58417 "preproc.c" +#line 58410 "preproc.c" break; case 2657: /* col_name_keyword: SUBSTRING */ -#line 14987 "preproc.y" +#line 14980 "preproc.y" { (yyval.str) = mm_strdup("substring"); } -#line 58425 "preproc.c" +#line 58418 "preproc.c" break; case 2658: /* col_name_keyword: TIME */ -#line 14991 "preproc.y" +#line 14984 "preproc.y" { (yyval.str) = mm_strdup("time"); } -#line 58433 "preproc.c" +#line 58426 "preproc.c" break; case 2659: /* col_name_keyword: TIMESTAMP */ -#line 14995 "preproc.y" +#line 14988 "preproc.y" { (yyval.str) = mm_strdup("timestamp"); } -#line 58441 "preproc.c" +#line 58434 "preproc.c" break; case 2660: /* col_name_keyword: TREAT */ -#line 14999 "preproc.y" +#line 14992 "preproc.y" { (yyval.str) = mm_strdup("treat"); } -#line 58449 "preproc.c" +#line 58442 "preproc.c" break; case 2661: /* col_name_keyword: TRIM */ -#line 15003 "preproc.y" +#line 14996 "preproc.y" { (yyval.str) = mm_strdup("trim"); } -#line 58457 "preproc.c" +#line 58450 "preproc.c" break; case 2662: /* col_name_keyword: VARCHAR */ -#line 15007 "preproc.y" +#line 15000 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } -#line 58465 "preproc.c" +#line 58458 "preproc.c" break; case 2663: /* col_name_keyword: XMLATTRIBUTES */ -#line 15011 "preproc.y" +#line 15004 "preproc.y" { (yyval.str) = mm_strdup("xmlattributes"); } -#line 58473 "preproc.c" +#line 58466 "preproc.c" break; case 2664: /* col_name_keyword: XMLCONCAT */ -#line 15015 "preproc.y" +#line 15008 "preproc.y" { (yyval.str) = mm_strdup("xmlconcat"); } -#line 58481 "preproc.c" +#line 58474 "preproc.c" break; case 2665: /* col_name_keyword: XMLELEMENT */ -#line 15019 "preproc.y" +#line 15012 "preproc.y" { (yyval.str) = mm_strdup("xmlelement"); } -#line 58489 "preproc.c" +#line 58482 "preproc.c" break; case 2666: /* col_name_keyword: XMLEXISTS */ -#line 15023 "preproc.y" +#line 15016 "preproc.y" { (yyval.str) = mm_strdup("xmlexists"); } -#line 58497 "preproc.c" +#line 58490 "preproc.c" break; case 2667: /* col_name_keyword: XMLFOREST */ -#line 15027 "preproc.y" +#line 15020 "preproc.y" { (yyval.str) = mm_strdup("xmlforest"); } -#line 58505 "preproc.c" +#line 58498 "preproc.c" break; case 2668: /* col_name_keyword: XMLNAMESPACES */ -#line 15031 "preproc.y" +#line 15024 "preproc.y" { (yyval.str) = mm_strdup("xmlnamespaces"); } -#line 58513 "preproc.c" +#line 58506 "preproc.c" break; case 2669: /* col_name_keyword: XMLPARSE */ -#line 15035 "preproc.y" +#line 15028 "preproc.y" { (yyval.str) = mm_strdup("xmlparse"); } -#line 58521 "preproc.c" +#line 58514 "preproc.c" break; case 2670: /* col_name_keyword: XMLPI */ -#line 15039 "preproc.y" +#line 15032 "preproc.y" { (yyval.str) = mm_strdup("xmlpi"); } -#line 58529 "preproc.c" +#line 58522 "preproc.c" break; case 2671: /* col_name_keyword: XMLROOT */ -#line 15043 "preproc.y" +#line 15036 "preproc.y" { (yyval.str) = mm_strdup("xmlroot"); } -#line 58537 "preproc.c" +#line 58530 "preproc.c" break; case 2672: /* col_name_keyword: XMLSERIALIZE */ -#line 15047 "preproc.y" +#line 15040 "preproc.y" { (yyval.str) = mm_strdup("xmlserialize"); } -#line 58545 "preproc.c" +#line 58538 "preproc.c" break; case 2673: /* col_name_keyword: XMLTABLE */ -#line 15051 "preproc.y" +#line 15044 "preproc.y" { (yyval.str) = mm_strdup("xmltable"); } -#line 58553 "preproc.c" +#line 58546 "preproc.c" break; case 2674: /* type_func_name_keyword: AUTHORIZATION */ -#line 15059 "preproc.y" +#line 15052 "preproc.y" { (yyval.str) = mm_strdup("authorization"); } -#line 58561 "preproc.c" +#line 58554 "preproc.c" break; case 2675: /* type_func_name_keyword: BINARY */ -#line 15063 "preproc.y" +#line 15056 "preproc.y" { (yyval.str) = mm_strdup("binary"); } -#line 58569 "preproc.c" +#line 58562 "preproc.c" break; case 2676: /* type_func_name_keyword: COLLATION */ -#line 15067 "preproc.y" +#line 15060 "preproc.y" { (yyval.str) = mm_strdup("collation"); } -#line 58577 "preproc.c" +#line 58570 "preproc.c" break; case 2677: /* type_func_name_keyword: CONCURRENTLY */ -#line 15071 "preproc.y" +#line 15064 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } -#line 58585 "preproc.c" +#line 58578 "preproc.c" break; case 2678: /* type_func_name_keyword: CROSS */ -#line 15075 "preproc.y" +#line 15068 "preproc.y" { (yyval.str) = mm_strdup("cross"); } -#line 58593 "preproc.c" +#line 58586 "preproc.c" break; case 2679: /* type_func_name_keyword: CURRENT_SCHEMA */ -#line 15079 "preproc.y" +#line 15072 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } -#line 58601 "preproc.c" +#line 58594 "preproc.c" break; case 2680: /* type_func_name_keyword: FREEZE */ -#line 15083 "preproc.y" +#line 15076 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } -#line 58609 "preproc.c" +#line 58602 "preproc.c" break; case 2681: /* type_func_name_keyword: FULL */ -#line 15087 "preproc.y" +#line 15080 "preproc.y" { (yyval.str) = mm_strdup("full"); } -#line 58617 "preproc.c" +#line 58610 "preproc.c" break; case 2682: /* type_func_name_keyword: ILIKE */ -#line 15091 "preproc.y" +#line 15084 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } -#line 58625 "preproc.c" +#line 58618 "preproc.c" break; case 2683: /* type_func_name_keyword: INNER_P */ -#line 15095 "preproc.y" +#line 15088 "preproc.y" { (yyval.str) = mm_strdup("inner"); } -#line 58633 "preproc.c" +#line 58626 "preproc.c" break; case 2684: /* type_func_name_keyword: IS */ -#line 15099 "preproc.y" +#line 15092 "preproc.y" { (yyval.str) = mm_strdup("is"); } -#line 58641 "preproc.c" +#line 58634 "preproc.c" break; case 2685: /* type_func_name_keyword: ISNULL */ -#line 15103 "preproc.y" +#line 15096 "preproc.y" { (yyval.str) = mm_strdup("isnull"); } -#line 58649 "preproc.c" +#line 58642 "preproc.c" break; case 2686: /* type_func_name_keyword: JOIN */ -#line 15107 "preproc.y" +#line 15100 "preproc.y" { (yyval.str) = mm_strdup("join"); } -#line 58657 "preproc.c" +#line 58650 "preproc.c" break; case 2687: /* type_func_name_keyword: LEFT */ -#line 15111 "preproc.y" +#line 15104 "preproc.y" { (yyval.str) = mm_strdup("left"); } -#line 58665 "preproc.c" +#line 58658 "preproc.c" break; case 2688: /* type_func_name_keyword: LIKE */ -#line 15115 "preproc.y" +#line 15108 "preproc.y" { (yyval.str) = mm_strdup("like"); } -#line 58673 "preproc.c" +#line 58666 "preproc.c" break; case 2689: /* type_func_name_keyword: NATURAL */ -#line 15119 "preproc.y" +#line 15112 "preproc.y" { (yyval.str) = mm_strdup("natural"); } -#line 58681 "preproc.c" +#line 58674 "preproc.c" break; case 2690: /* type_func_name_keyword: NOTNULL */ -#line 15123 "preproc.y" +#line 15116 "preproc.y" { (yyval.str) = mm_strdup("notnull"); } -#line 58689 "preproc.c" +#line 58682 "preproc.c" break; case 2691: /* type_func_name_keyword: OUTER_P */ -#line 15127 "preproc.y" +#line 15120 "preproc.y" { (yyval.str) = mm_strdup("outer"); } -#line 58697 "preproc.c" +#line 58690 "preproc.c" break; case 2692: /* type_func_name_keyword: OVERLAPS */ -#line 15131 "preproc.y" +#line 15124 "preproc.y" { (yyval.str) = mm_strdup("overlaps"); } -#line 58705 "preproc.c" +#line 58698 "preproc.c" break; case 2693: /* type_func_name_keyword: RIGHT */ -#line 15135 "preproc.y" +#line 15128 "preproc.y" { (yyval.str) = mm_strdup("right"); } -#line 58713 "preproc.c" +#line 58706 "preproc.c" break; case 2694: /* type_func_name_keyword: SIMILAR */ -#line 15139 "preproc.y" +#line 15132 "preproc.y" { (yyval.str) = mm_strdup("similar"); } -#line 58721 "preproc.c" +#line 58714 "preproc.c" break; case 2695: /* type_func_name_keyword: TABLESAMPLE */ -#line 15143 "preproc.y" +#line 15136 "preproc.y" { (yyval.str) = mm_strdup("tablesample"); } -#line 58729 "preproc.c" +#line 58722 "preproc.c" break; case 2696: /* type_func_name_keyword: VERBOSE */ -#line 15147 "preproc.y" +#line 15140 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } -#line 58737 "preproc.c" +#line 58730 "preproc.c" break; case 2697: /* reserved_keyword: ALL */ -#line 15155 "preproc.y" +#line 15148 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 58745 "preproc.c" +#line 58738 "preproc.c" break; case 2698: /* reserved_keyword: ANALYSE */ -#line 15159 "preproc.y" +#line 15152 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } -#line 58753 "preproc.c" +#line 58746 "preproc.c" break; case 2699: /* reserved_keyword: ANALYZE */ -#line 15163 "preproc.y" +#line 15156 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } -#line 58761 "preproc.c" +#line 58754 "preproc.c" break; case 2700: /* reserved_keyword: AND */ -#line 15167 "preproc.y" +#line 15160 "preproc.y" { (yyval.str) = mm_strdup("and"); } -#line 58769 "preproc.c" +#line 58762 "preproc.c" break; case 2701: /* reserved_keyword: ANY */ -#line 15171 "preproc.y" +#line 15164 "preproc.y" { (yyval.str) = mm_strdup("any"); } -#line 58777 "preproc.c" +#line 58770 "preproc.c" break; case 2702: /* reserved_keyword: ARRAY */ -#line 15175 "preproc.y" +#line 15168 "preproc.y" { (yyval.str) = mm_strdup("array"); } -#line 58785 "preproc.c" +#line 58778 "preproc.c" break; case 2703: /* reserved_keyword: AS */ -#line 15179 "preproc.y" +#line 15172 "preproc.y" { (yyval.str) = mm_strdup("as"); } -#line 58793 "preproc.c" +#line 58786 "preproc.c" break; case 2704: /* reserved_keyword: ASC */ -#line 15183 "preproc.y" +#line 15176 "preproc.y" { (yyval.str) = mm_strdup("asc"); } -#line 58801 "preproc.c" +#line 58794 "preproc.c" break; case 2705: /* reserved_keyword: ASYMMETRIC */ -#line 15187 "preproc.y" +#line 15180 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } -#line 58809 "preproc.c" +#line 58802 "preproc.c" break; case 2706: /* reserved_keyword: BOTH */ -#line 15191 "preproc.y" +#line 15184 "preproc.y" { (yyval.str) = mm_strdup("both"); } -#line 58817 "preproc.c" +#line 58810 "preproc.c" break; case 2707: /* reserved_keyword: CASE */ -#line 15195 "preproc.y" +#line 15188 "preproc.y" { (yyval.str) = mm_strdup("case"); } -#line 58825 "preproc.c" +#line 58818 "preproc.c" break; case 2708: /* reserved_keyword: CAST */ -#line 15199 "preproc.y" +#line 15192 "preproc.y" { (yyval.str) = mm_strdup("cast"); } -#line 58833 "preproc.c" +#line 58826 "preproc.c" break; case 2709: /* reserved_keyword: CHECK */ -#line 15203 "preproc.y" +#line 15196 "preproc.y" { (yyval.str) = mm_strdup("check"); } -#line 58841 "preproc.c" +#line 58834 "preproc.c" break; case 2710: /* reserved_keyword: COLLATE */ -#line 15207 "preproc.y" +#line 15200 "preproc.y" { (yyval.str) = mm_strdup("collate"); } -#line 58849 "preproc.c" +#line 58842 "preproc.c" break; case 2711: /* reserved_keyword: COLUMN */ -#line 15211 "preproc.y" +#line 15204 "preproc.y" { (yyval.str) = mm_strdup("column"); } -#line 58857 "preproc.c" +#line 58850 "preproc.c" break; case 2712: /* reserved_keyword: CONSTRAINT */ -#line 15215 "preproc.y" +#line 15208 "preproc.y" { (yyval.str) = mm_strdup("constraint"); } -#line 58865 "preproc.c" +#line 58858 "preproc.c" break; case 2713: /* reserved_keyword: CREATE */ -#line 15219 "preproc.y" +#line 15212 "preproc.y" { (yyval.str) = mm_strdup("create"); } -#line 58873 "preproc.c" +#line 58866 "preproc.c" break; case 2714: /* reserved_keyword: CURRENT_CATALOG */ -#line 15223 "preproc.y" +#line 15216 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } -#line 58881 "preproc.c" +#line 58874 "preproc.c" break; case 2715: /* reserved_keyword: CURRENT_DATE */ -#line 15227 "preproc.y" +#line 15220 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } -#line 58889 "preproc.c" +#line 58882 "preproc.c" break; case 2716: /* reserved_keyword: CURRENT_ROLE */ -#line 15231 "preproc.y" +#line 15224 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } -#line 58897 "preproc.c" +#line 58890 "preproc.c" break; case 2717: /* reserved_keyword: CURRENT_TIME */ -#line 15235 "preproc.y" +#line 15228 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } -#line 58905 "preproc.c" +#line 58898 "preproc.c" break; case 2718: /* reserved_keyword: CURRENT_TIMESTAMP */ -#line 15239 "preproc.y" +#line 15232 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } -#line 58913 "preproc.c" +#line 58906 "preproc.c" break; case 2719: /* reserved_keyword: CURRENT_USER */ -#line 15243 "preproc.y" +#line 15236 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } -#line 58921 "preproc.c" +#line 58914 "preproc.c" break; case 2720: /* reserved_keyword: DEFAULT */ -#line 15247 "preproc.y" +#line 15240 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 58929 "preproc.c" +#line 58922 "preproc.c" break; case 2721: /* reserved_keyword: DEFERRABLE */ -#line 15251 "preproc.y" +#line 15244 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } -#line 58937 "preproc.c" +#line 58930 "preproc.c" break; case 2722: /* reserved_keyword: DESC */ -#line 15255 "preproc.y" +#line 15248 "preproc.y" { (yyval.str) = mm_strdup("desc"); } -#line 58945 "preproc.c" +#line 58938 "preproc.c" break; case 2723: /* reserved_keyword: DISTINCT */ -#line 15259 "preproc.y" +#line 15252 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } -#line 58953 "preproc.c" +#line 58946 "preproc.c" break; case 2724: /* reserved_keyword: DO */ -#line 15263 "preproc.y" +#line 15256 "preproc.y" { (yyval.str) = mm_strdup("do"); } -#line 58961 "preproc.c" +#line 58954 "preproc.c" break; case 2725: /* reserved_keyword: ELSE */ -#line 15267 "preproc.y" +#line 15260 "preproc.y" { (yyval.str) = mm_strdup("else"); } -#line 58969 "preproc.c" +#line 58962 "preproc.c" break; case 2726: /* reserved_keyword: END_P */ -#line 15271 "preproc.y" +#line 15264 "preproc.y" { (yyval.str) = mm_strdup("end"); } -#line 58977 "preproc.c" +#line 58970 "preproc.c" break; case 2727: /* reserved_keyword: EXCEPT */ -#line 15275 "preproc.y" +#line 15268 "preproc.y" { (yyval.str) = mm_strdup("except"); } -#line 58985 "preproc.c" +#line 58978 "preproc.c" break; case 2728: /* reserved_keyword: FALSE_P */ -#line 15279 "preproc.y" +#line 15272 "preproc.y" { (yyval.str) = mm_strdup("false"); } -#line 58993 "preproc.c" +#line 58986 "preproc.c" break; case 2729: /* reserved_keyword: FETCH */ -#line 15283 "preproc.y" +#line 15276 "preproc.y" { (yyval.str) = mm_strdup("fetch"); } -#line 59001 "preproc.c" +#line 58994 "preproc.c" break; case 2730: /* reserved_keyword: FOR */ -#line 15287 "preproc.y" +#line 15280 "preproc.y" { (yyval.str) = mm_strdup("for"); } -#line 59009 "preproc.c" +#line 59002 "preproc.c" break; case 2731: /* reserved_keyword: FOREIGN */ -#line 15291 "preproc.y" +#line 15284 "preproc.y" { (yyval.str) = mm_strdup("foreign"); } -#line 59017 "preproc.c" +#line 59010 "preproc.c" break; case 2732: /* reserved_keyword: FROM */ -#line 15295 "preproc.y" +#line 15288 "preproc.y" { (yyval.str) = mm_strdup("from"); } -#line 59025 "preproc.c" +#line 59018 "preproc.c" break; case 2733: /* reserved_keyword: GRANT */ -#line 15299 "preproc.y" +#line 15292 "preproc.y" { (yyval.str) = mm_strdup("grant"); } -#line 59033 "preproc.c" +#line 59026 "preproc.c" break; case 2734: /* reserved_keyword: GROUP_P */ -#line 15303 "preproc.y" +#line 15296 "preproc.y" { (yyval.str) = mm_strdup("group"); } -#line 59041 "preproc.c" +#line 59034 "preproc.c" break; case 2735: /* reserved_keyword: HAVING */ -#line 15307 "preproc.y" +#line 15300 "preproc.y" { (yyval.str) = mm_strdup("having"); } -#line 59049 "preproc.c" +#line 59042 "preproc.c" break; case 2736: /* reserved_keyword: IN_P */ -#line 15311 "preproc.y" +#line 15304 "preproc.y" { (yyval.str) = mm_strdup("in"); } -#line 59057 "preproc.c" +#line 59050 "preproc.c" break; case 2737: /* reserved_keyword: INITIALLY */ -#line 15315 "preproc.y" +#line 15308 "preproc.y" { (yyval.str) = mm_strdup("initially"); } -#line 59065 "preproc.c" +#line 59058 "preproc.c" break; case 2738: /* reserved_keyword: INTERSECT */ -#line 15319 "preproc.y" +#line 15312 "preproc.y" { (yyval.str) = mm_strdup("intersect"); } -#line 59073 "preproc.c" +#line 59066 "preproc.c" break; case 2739: /* reserved_keyword: INTO */ -#line 15323 "preproc.y" +#line 15316 "preproc.y" { (yyval.str) = mm_strdup("into"); } -#line 59081 "preproc.c" +#line 59074 "preproc.c" break; case 2740: /* reserved_keyword: LATERAL_P */ -#line 15327 "preproc.y" +#line 15320 "preproc.y" { (yyval.str) = mm_strdup("lateral"); } -#line 59089 "preproc.c" +#line 59082 "preproc.c" break; case 2741: /* reserved_keyword: LEADING */ -#line 15331 "preproc.y" +#line 15324 "preproc.y" { (yyval.str) = mm_strdup("leading"); } -#line 59097 "preproc.c" +#line 59090 "preproc.c" break; case 2742: /* reserved_keyword: LIMIT */ -#line 15335 "preproc.y" +#line 15328 "preproc.y" { (yyval.str) = mm_strdup("limit"); } -#line 59105 "preproc.c" +#line 59098 "preproc.c" break; case 2743: /* reserved_keyword: LOCALTIME */ -#line 15339 "preproc.y" +#line 15332 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } -#line 59113 "preproc.c" +#line 59106 "preproc.c" break; case 2744: /* reserved_keyword: LOCALTIMESTAMP */ -#line 15343 "preproc.y" +#line 15336 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } -#line 59121 "preproc.c" +#line 59114 "preproc.c" break; case 2745: /* reserved_keyword: NOT */ -#line 15347 "preproc.y" +#line 15340 "preproc.y" { (yyval.str) = mm_strdup("not"); } -#line 59129 "preproc.c" +#line 59122 "preproc.c" break; case 2746: /* reserved_keyword: NULL_P */ -#line 15351 "preproc.y" +#line 15344 "preproc.y" { (yyval.str) = mm_strdup("null"); } -#line 59137 "preproc.c" +#line 59130 "preproc.c" break; case 2747: /* reserved_keyword: OFFSET */ -#line 15355 "preproc.y" +#line 15348 "preproc.y" { (yyval.str) = mm_strdup("offset"); } -#line 59145 "preproc.c" +#line 59138 "preproc.c" break; case 2748: /* reserved_keyword: ON */ -#line 15359 "preproc.y" +#line 15352 "preproc.y" { (yyval.str) = mm_strdup("on"); } -#line 59153 "preproc.c" +#line 59146 "preproc.c" break; case 2749: /* reserved_keyword: ONLY */ -#line 15363 "preproc.y" +#line 15356 "preproc.y" { (yyval.str) = mm_strdup("only"); } -#line 59161 "preproc.c" +#line 59154 "preproc.c" break; case 2750: /* reserved_keyword: OR */ -#line 15367 "preproc.y" +#line 15360 "preproc.y" { (yyval.str) = mm_strdup("or"); } -#line 59169 "preproc.c" +#line 59162 "preproc.c" break; case 2751: /* reserved_keyword: ORDER */ -#line 15371 "preproc.y" +#line 15364 "preproc.y" { (yyval.str) = mm_strdup("order"); } -#line 59177 "preproc.c" +#line 59170 "preproc.c" break; case 2752: /* reserved_keyword: PLACING */ -#line 15375 "preproc.y" +#line 15368 "preproc.y" { (yyval.str) = mm_strdup("placing"); } -#line 59185 "preproc.c" +#line 59178 "preproc.c" break; case 2753: /* reserved_keyword: PRIMARY */ -#line 15379 "preproc.y" +#line 15372 "preproc.y" { (yyval.str) = mm_strdup("primary"); } -#line 59193 "preproc.c" +#line 59186 "preproc.c" break; case 2754: /* reserved_keyword: REFERENCES */ -#line 15383 "preproc.y" +#line 15376 "preproc.y" { (yyval.str) = mm_strdup("references"); } -#line 59201 "preproc.c" +#line 59194 "preproc.c" break; case 2755: /* reserved_keyword: RETURNING */ -#line 15387 "preproc.y" +#line 15380 "preproc.y" { (yyval.str) = mm_strdup("returning"); } -#line 59209 "preproc.c" +#line 59202 "preproc.c" break; case 2756: /* reserved_keyword: SELECT */ -#line 15391 "preproc.y" +#line 15384 "preproc.y" { (yyval.str) = mm_strdup("select"); } -#line 59217 "preproc.c" +#line 59210 "preproc.c" break; case 2757: /* reserved_keyword: SESSION_USER */ -#line 15395 "preproc.y" +#line 15388 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } -#line 59225 "preproc.c" +#line 59218 "preproc.c" break; case 2758: /* reserved_keyword: SOME */ -#line 15399 "preproc.y" +#line 15392 "preproc.y" { (yyval.str) = mm_strdup("some"); } -#line 59233 "preproc.c" +#line 59226 "preproc.c" break; case 2759: /* reserved_keyword: SYMMETRIC */ -#line 15403 "preproc.y" +#line 15396 "preproc.y" { (yyval.str) = mm_strdup("symmetric"); } -#line 59241 "preproc.c" +#line 59234 "preproc.c" break; case 2760: /* reserved_keyword: TABLE */ -#line 15407 "preproc.y" +#line 15400 "preproc.y" { (yyval.str) = mm_strdup("table"); } -#line 59249 "preproc.c" +#line 59242 "preproc.c" break; case 2761: /* reserved_keyword: THEN */ -#line 15411 "preproc.y" +#line 15404 "preproc.y" { (yyval.str) = mm_strdup("then"); } -#line 59257 "preproc.c" +#line 59250 "preproc.c" break; case 2762: /* reserved_keyword: TRAILING */ -#line 15415 "preproc.y" +#line 15408 "preproc.y" { (yyval.str) = mm_strdup("trailing"); } -#line 59265 "preproc.c" +#line 59258 "preproc.c" break; case 2763: /* reserved_keyword: TRUE_P */ -#line 15419 "preproc.y" +#line 15412 "preproc.y" { (yyval.str) = mm_strdup("true"); } -#line 59273 "preproc.c" +#line 59266 "preproc.c" break; case 2764: /* reserved_keyword: UNIQUE */ -#line 15423 "preproc.y" +#line 15416 "preproc.y" { (yyval.str) = mm_strdup("unique"); } -#line 59281 "preproc.c" +#line 59274 "preproc.c" break; case 2765: /* reserved_keyword: USER */ -#line 15427 "preproc.y" +#line 15420 "preproc.y" { (yyval.str) = mm_strdup("user"); } -#line 59289 "preproc.c" +#line 59282 "preproc.c" break; case 2766: /* reserved_keyword: USING */ -#line 15431 "preproc.y" +#line 15424 "preproc.y" { (yyval.str) = mm_strdup("using"); } -#line 59297 "preproc.c" +#line 59290 "preproc.c" break; case 2767: /* reserved_keyword: VARIADIC */ -#line 15435 "preproc.y" +#line 15428 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } -#line 59305 "preproc.c" +#line 59298 "preproc.c" break; case 2768: /* reserved_keyword: WHEN */ -#line 15439 "preproc.y" +#line 15432 "preproc.y" { (yyval.str) = mm_strdup("when"); } -#line 59313 "preproc.c" +#line 59306 "preproc.c" break; case 2769: /* reserved_keyword: WHERE */ -#line 15443 "preproc.y" +#line 15436 "preproc.y" { (yyval.str) = mm_strdup("where"); } -#line 59321 "preproc.c" +#line 59314 "preproc.c" break; case 2770: /* reserved_keyword: WINDOW */ -#line 15447 "preproc.y" +#line 15440 "preproc.y" { (yyval.str) = mm_strdup("window"); } -#line 59329 "preproc.c" +#line 59322 "preproc.c" break; case 2771: /* reserved_keyword: WITH */ -#line 15451 "preproc.y" +#line 15444 "preproc.y" { (yyval.str) = mm_strdup("with"); } -#line 59337 "preproc.c" +#line 59330 "preproc.c" break; case 2772: /* bare_label_keyword: ABORT_P */ -#line 15459 "preproc.y" +#line 15452 "preproc.y" { (yyval.str) = mm_strdup("abort"); } -#line 59345 "preproc.c" +#line 59338 "preproc.c" break; case 2773: /* bare_label_keyword: ABSOLUTE_P */ -#line 15463 "preproc.y" +#line 15456 "preproc.y" { (yyval.str) = mm_strdup("absolute"); } -#line 59353 "preproc.c" +#line 59346 "preproc.c" break; case 2774: /* bare_label_keyword: ACCESS */ -#line 15467 "preproc.y" +#line 15460 "preproc.y" { (yyval.str) = mm_strdup("access"); } -#line 59361 "preproc.c" +#line 59354 "preproc.c" break; case 2775: /* bare_label_keyword: ACTION */ -#line 15471 "preproc.y" +#line 15464 "preproc.y" { (yyval.str) = mm_strdup("action"); } -#line 59369 "preproc.c" +#line 59362 "preproc.c" break; case 2776: /* bare_label_keyword: ADD_P */ -#line 15475 "preproc.y" +#line 15468 "preproc.y" { (yyval.str) = mm_strdup("add"); } -#line 59377 "preproc.c" +#line 59370 "preproc.c" break; case 2777: /* bare_label_keyword: ADMIN */ -#line 15479 "preproc.y" +#line 15472 "preproc.y" { (yyval.str) = mm_strdup("admin"); } -#line 59385 "preproc.c" +#line 59378 "preproc.c" break; case 2778: /* bare_label_keyword: AFTER */ -#line 15483 "preproc.y" +#line 15476 "preproc.y" { (yyval.str) = mm_strdup("after"); } -#line 59393 "preproc.c" +#line 59386 "preproc.c" break; case 2779: /* bare_label_keyword: AGGREGATE */ -#line 15487 "preproc.y" +#line 15480 "preproc.y" { (yyval.str) = mm_strdup("aggregate"); } -#line 59401 "preproc.c" +#line 59394 "preproc.c" break; case 2780: /* bare_label_keyword: ALL */ -#line 15491 "preproc.y" +#line 15484 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 59409 "preproc.c" +#line 59402 "preproc.c" break; case 2781: /* bare_label_keyword: ALSO */ -#line 15495 "preproc.y" +#line 15488 "preproc.y" { (yyval.str) = mm_strdup("also"); } -#line 59417 "preproc.c" +#line 59410 "preproc.c" break; case 2782: /* bare_label_keyword: ALTER */ -#line 15499 "preproc.y" +#line 15492 "preproc.y" { (yyval.str) = mm_strdup("alter"); } -#line 59425 "preproc.c" +#line 59418 "preproc.c" break; case 2783: /* bare_label_keyword: ALWAYS */ -#line 15503 "preproc.y" +#line 15496 "preproc.y" { (yyval.str) = mm_strdup("always"); } -#line 59433 "preproc.c" +#line 59426 "preproc.c" break; case 2784: /* bare_label_keyword: ANALYSE */ -#line 15507 "preproc.y" +#line 15500 "preproc.y" { (yyval.str) = mm_strdup("analyse"); } -#line 59441 "preproc.c" +#line 59434 "preproc.c" break; case 2785: /* bare_label_keyword: ANALYZE */ -#line 15511 "preproc.y" +#line 15504 "preproc.y" { (yyval.str) = mm_strdup("analyze"); } -#line 59449 "preproc.c" +#line 59442 "preproc.c" break; case 2786: /* bare_label_keyword: AND */ -#line 15515 "preproc.y" +#line 15508 "preproc.y" { (yyval.str) = mm_strdup("and"); } -#line 59457 "preproc.c" +#line 59450 "preproc.c" break; case 2787: /* bare_label_keyword: ANY */ -#line 15519 "preproc.y" +#line 15512 "preproc.y" { (yyval.str) = mm_strdup("any"); } -#line 59465 "preproc.c" +#line 59458 "preproc.c" break; case 2788: /* bare_label_keyword: ASC */ -#line 15523 "preproc.y" +#line 15516 "preproc.y" { (yyval.str) = mm_strdup("asc"); } -#line 59473 "preproc.c" +#line 59466 "preproc.c" break; case 2789: /* bare_label_keyword: ASENSITIVE */ -#line 15527 "preproc.y" +#line 15520 "preproc.y" { (yyval.str) = mm_strdup("asensitive"); } -#line 59481 "preproc.c" +#line 59474 "preproc.c" break; case 2790: /* bare_label_keyword: ASSERTION */ -#line 15531 "preproc.y" +#line 15524 "preproc.y" { (yyval.str) = mm_strdup("assertion"); } -#line 59489 "preproc.c" +#line 59482 "preproc.c" break; case 2791: /* bare_label_keyword: ASSIGNMENT */ -#line 15535 "preproc.y" +#line 15528 "preproc.y" { (yyval.str) = mm_strdup("assignment"); } -#line 59497 "preproc.c" +#line 59490 "preproc.c" break; case 2792: /* bare_label_keyword: ASYMMETRIC */ -#line 15539 "preproc.y" +#line 15532 "preproc.y" { (yyval.str) = mm_strdup("asymmetric"); } -#line 59505 "preproc.c" +#line 59498 "preproc.c" break; case 2793: /* bare_label_keyword: AT */ -#line 15543 "preproc.y" +#line 15536 "preproc.y" { (yyval.str) = mm_strdup("at"); } -#line 59513 "preproc.c" +#line 59506 "preproc.c" break; case 2794: /* bare_label_keyword: ATOMIC */ -#line 15547 "preproc.y" +#line 15540 "preproc.y" { (yyval.str) = mm_strdup("atomic"); } -#line 59521 "preproc.c" +#line 59514 "preproc.c" break; case 2795: /* bare_label_keyword: ATTACH */ -#line 15551 "preproc.y" +#line 15544 "preproc.y" { (yyval.str) = mm_strdup("attach"); } -#line 59529 "preproc.c" +#line 59522 "preproc.c" break; case 2796: /* bare_label_keyword: ATTRIBUTE */ -#line 15555 "preproc.y" +#line 15548 "preproc.y" { (yyval.str) = mm_strdup("attribute"); } -#line 59537 "preproc.c" +#line 59530 "preproc.c" break; case 2797: /* bare_label_keyword: AUTHORIZATION */ -#line 15559 "preproc.y" +#line 15552 "preproc.y" { (yyval.str) = mm_strdup("authorization"); } -#line 59545 "preproc.c" +#line 59538 "preproc.c" break; case 2798: /* bare_label_keyword: BACKWARD */ -#line 15563 "preproc.y" +#line 15556 "preproc.y" { (yyval.str) = mm_strdup("backward"); } -#line 59553 "preproc.c" +#line 59546 "preproc.c" break; case 2799: /* bare_label_keyword: BEFORE */ -#line 15567 "preproc.y" +#line 15560 "preproc.y" { (yyval.str) = mm_strdup("before"); } -#line 59561 "preproc.c" +#line 59554 "preproc.c" break; case 2800: /* bare_label_keyword: BEGIN_P */ -#line 15571 "preproc.y" +#line 15564 "preproc.y" { (yyval.str) = mm_strdup("begin"); } -#line 59569 "preproc.c" +#line 59562 "preproc.c" break; case 2801: /* bare_label_keyword: BETWEEN */ -#line 15575 "preproc.y" +#line 15568 "preproc.y" { (yyval.str) = mm_strdup("between"); } -#line 59577 "preproc.c" +#line 59570 "preproc.c" break; case 2802: /* bare_label_keyword: BIGINT */ -#line 15579 "preproc.y" +#line 15572 "preproc.y" { (yyval.str) = mm_strdup("bigint"); } -#line 59585 "preproc.c" +#line 59578 "preproc.c" break; case 2803: /* bare_label_keyword: BINARY */ -#line 15583 "preproc.y" +#line 15576 "preproc.y" { (yyval.str) = mm_strdup("binary"); } -#line 59593 "preproc.c" +#line 59586 "preproc.c" break; case 2804: /* bare_label_keyword: BIT */ -#line 15587 "preproc.y" +#line 15580 "preproc.y" { (yyval.str) = mm_strdup("bit"); } -#line 59601 "preproc.c" +#line 59594 "preproc.c" break; case 2805: /* bare_label_keyword: BOOLEAN_P */ -#line 15591 "preproc.y" +#line 15584 "preproc.y" { (yyval.str) = mm_strdup("boolean"); } -#line 59609 "preproc.c" +#line 59602 "preproc.c" break; case 2806: /* bare_label_keyword: BOTH */ -#line 15595 "preproc.y" +#line 15588 "preproc.y" { (yyval.str) = mm_strdup("both"); } -#line 59617 "preproc.c" +#line 59610 "preproc.c" break; case 2807: /* bare_label_keyword: BREADTH */ -#line 15599 "preproc.y" +#line 15592 "preproc.y" { (yyval.str) = mm_strdup("breadth"); } -#line 59625 "preproc.c" +#line 59618 "preproc.c" break; case 2808: /* bare_label_keyword: BY */ -#line 15603 "preproc.y" +#line 15596 "preproc.y" { (yyval.str) = mm_strdup("by"); } -#line 59633 "preproc.c" +#line 59626 "preproc.c" break; case 2809: /* bare_label_keyword: CACHE */ -#line 15607 "preproc.y" +#line 15600 "preproc.y" { (yyval.str) = mm_strdup("cache"); } -#line 59641 "preproc.c" +#line 59634 "preproc.c" break; case 2810: /* bare_label_keyword: CALL */ -#line 15611 "preproc.y" +#line 15604 "preproc.y" { (yyval.str) = mm_strdup("call"); } -#line 59649 "preproc.c" +#line 59642 "preproc.c" break; case 2811: /* bare_label_keyword: CALLED */ -#line 15615 "preproc.y" +#line 15608 "preproc.y" { (yyval.str) = mm_strdup("called"); } -#line 59657 "preproc.c" +#line 59650 "preproc.c" break; case 2812: /* bare_label_keyword: CASCADE */ -#line 15619 "preproc.y" +#line 15612 "preproc.y" { (yyval.str) = mm_strdup("cascade"); } -#line 59665 "preproc.c" +#line 59658 "preproc.c" break; case 2813: /* bare_label_keyword: CASCADED */ -#line 15623 "preproc.y" +#line 15616 "preproc.y" { (yyval.str) = mm_strdup("cascaded"); } -#line 59673 "preproc.c" +#line 59666 "preproc.c" break; case 2814: /* bare_label_keyword: CASE */ -#line 15627 "preproc.y" +#line 15620 "preproc.y" { (yyval.str) = mm_strdup("case"); } -#line 59681 "preproc.c" +#line 59674 "preproc.c" break; case 2815: /* bare_label_keyword: CAST */ -#line 15631 "preproc.y" +#line 15624 "preproc.y" { (yyval.str) = mm_strdup("cast"); } -#line 59689 "preproc.c" +#line 59682 "preproc.c" break; case 2816: /* bare_label_keyword: CATALOG_P */ -#line 15635 "preproc.y" +#line 15628 "preproc.y" { (yyval.str) = mm_strdup("catalog"); } -#line 59697 "preproc.c" +#line 59690 "preproc.c" break; case 2817: /* bare_label_keyword: CHAIN */ -#line 15639 "preproc.y" +#line 15632 "preproc.y" { (yyval.str) = mm_strdup("chain"); } -#line 59705 "preproc.c" +#line 59698 "preproc.c" break; case 2818: /* bare_label_keyword: CHARACTERISTICS */ -#line 15643 "preproc.y" +#line 15636 "preproc.y" { (yyval.str) = mm_strdup("characteristics"); } -#line 59713 "preproc.c" +#line 59706 "preproc.c" break; case 2819: /* bare_label_keyword: CHECK */ -#line 15647 "preproc.y" +#line 15640 "preproc.y" { (yyval.str) = mm_strdup("check"); } -#line 59721 "preproc.c" +#line 59714 "preproc.c" break; case 2820: /* bare_label_keyword: CHECKPOINT */ -#line 15651 "preproc.y" +#line 15644 "preproc.y" { (yyval.str) = mm_strdup("checkpoint"); } -#line 59729 "preproc.c" +#line 59722 "preproc.c" break; case 2821: /* bare_label_keyword: CLASS */ -#line 15655 "preproc.y" +#line 15648 "preproc.y" { (yyval.str) = mm_strdup("class"); } -#line 59737 "preproc.c" +#line 59730 "preproc.c" break; case 2822: /* bare_label_keyword: CLOSE */ -#line 15659 "preproc.y" +#line 15652 "preproc.y" { (yyval.str) = mm_strdup("close"); } -#line 59745 "preproc.c" +#line 59738 "preproc.c" break; case 2823: /* bare_label_keyword: CLUSTER */ -#line 15663 "preproc.y" +#line 15656 "preproc.y" { (yyval.str) = mm_strdup("cluster"); } -#line 59753 "preproc.c" +#line 59746 "preproc.c" break; case 2824: /* bare_label_keyword: COALESCE */ -#line 15667 "preproc.y" +#line 15660 "preproc.y" { (yyval.str) = mm_strdup("coalesce"); } -#line 59761 "preproc.c" +#line 59754 "preproc.c" break; case 2825: /* bare_label_keyword: COLLATE */ -#line 15671 "preproc.y" +#line 15664 "preproc.y" { (yyval.str) = mm_strdup("collate"); } -#line 59769 "preproc.c" +#line 59762 "preproc.c" break; case 2826: /* bare_label_keyword: COLLATION */ -#line 15675 "preproc.y" +#line 15668 "preproc.y" { (yyval.str) = mm_strdup("collation"); } -#line 59777 "preproc.c" +#line 59770 "preproc.c" break; case 2827: /* bare_label_keyword: COLUMN */ -#line 15679 "preproc.y" +#line 15672 "preproc.y" { (yyval.str) = mm_strdup("column"); } -#line 59785 "preproc.c" +#line 59778 "preproc.c" break; case 2828: /* bare_label_keyword: COLUMNS */ -#line 15683 "preproc.y" +#line 15676 "preproc.y" { (yyval.str) = mm_strdup("columns"); } -#line 59793 "preproc.c" +#line 59786 "preproc.c" break; case 2829: /* bare_label_keyword: COMMENT */ -#line 15687 "preproc.y" +#line 15680 "preproc.y" { (yyval.str) = mm_strdup("comment"); } -#line 59801 "preproc.c" +#line 59794 "preproc.c" break; case 2830: /* bare_label_keyword: COMMENTS */ -#line 15691 "preproc.y" +#line 15684 "preproc.y" { (yyval.str) = mm_strdup("comments"); } -#line 59809 "preproc.c" +#line 59802 "preproc.c" break; case 2831: /* bare_label_keyword: COMMIT */ -#line 15695 "preproc.y" +#line 15688 "preproc.y" { (yyval.str) = mm_strdup("commit"); } -#line 59817 "preproc.c" +#line 59810 "preproc.c" break; case 2832: /* bare_label_keyword: COMMITTED */ -#line 15699 "preproc.y" +#line 15692 "preproc.y" { (yyval.str) = mm_strdup("committed"); } -#line 59825 "preproc.c" +#line 59818 "preproc.c" break; case 2833: /* bare_label_keyword: COMPRESSION */ -#line 15703 "preproc.y" +#line 15696 "preproc.y" { (yyval.str) = mm_strdup("compression"); } -#line 59833 "preproc.c" +#line 59826 "preproc.c" break; case 2834: /* bare_label_keyword: CONCURRENTLY */ -#line 15707 "preproc.y" +#line 15700 "preproc.y" { (yyval.str) = mm_strdup("concurrently"); } -#line 59841 "preproc.c" +#line 59834 "preproc.c" break; case 2835: /* bare_label_keyword: CONFIGURATION */ -#line 15711 "preproc.y" +#line 15704 "preproc.y" { (yyval.str) = mm_strdup("configuration"); } -#line 59849 "preproc.c" +#line 59842 "preproc.c" break; case 2836: /* bare_label_keyword: CONFLICT */ -#line 15715 "preproc.y" +#line 15708 "preproc.y" { (yyval.str) = mm_strdup("conflict"); } -#line 59857 "preproc.c" +#line 59850 "preproc.c" break; case 2837: /* bare_label_keyword: CONNECTION */ -#line 15719 "preproc.y" +#line 15712 "preproc.y" { (yyval.str) = mm_strdup("connection"); } -#line 59865 "preproc.c" +#line 59858 "preproc.c" break; case 2838: /* bare_label_keyword: CONSTRAINT */ -#line 15723 "preproc.y" +#line 15716 "preproc.y" { (yyval.str) = mm_strdup("constraint"); } -#line 59873 "preproc.c" +#line 59866 "preproc.c" break; case 2839: /* bare_label_keyword: CONSTRAINTS */ -#line 15727 "preproc.y" +#line 15720 "preproc.y" { (yyval.str) = mm_strdup("constraints"); } -#line 59881 "preproc.c" +#line 59874 "preproc.c" break; case 2840: /* bare_label_keyword: CONTENT_P */ -#line 15731 "preproc.y" +#line 15724 "preproc.y" { (yyval.str) = mm_strdup("content"); } -#line 59889 "preproc.c" +#line 59882 "preproc.c" break; case 2841: /* bare_label_keyword: CONTINUE_P */ -#line 15735 "preproc.y" +#line 15728 "preproc.y" { (yyval.str) = mm_strdup("continue"); } -#line 59897 "preproc.c" +#line 59890 "preproc.c" break; case 2842: /* bare_label_keyword: CONVERSION_P */ -#line 15739 "preproc.y" +#line 15732 "preproc.y" { (yyval.str) = mm_strdup("conversion"); } -#line 59905 "preproc.c" +#line 59898 "preproc.c" break; case 2843: /* bare_label_keyword: COPY */ -#line 15743 "preproc.y" +#line 15736 "preproc.y" { (yyval.str) = mm_strdup("copy"); } -#line 59913 "preproc.c" +#line 59906 "preproc.c" break; case 2844: /* bare_label_keyword: COST */ -#line 15747 "preproc.y" +#line 15740 "preproc.y" { (yyval.str) = mm_strdup("cost"); } -#line 59921 "preproc.c" +#line 59914 "preproc.c" break; case 2845: /* bare_label_keyword: CROSS */ -#line 15751 "preproc.y" +#line 15744 "preproc.y" { (yyval.str) = mm_strdup("cross"); } -#line 59929 "preproc.c" +#line 59922 "preproc.c" break; case 2846: /* bare_label_keyword: CSV */ -#line 15755 "preproc.y" +#line 15748 "preproc.y" { (yyval.str) = mm_strdup("csv"); } -#line 59937 "preproc.c" +#line 59930 "preproc.c" break; case 2847: /* bare_label_keyword: CUBE */ -#line 15759 "preproc.y" +#line 15752 "preproc.y" { (yyval.str) = mm_strdup("cube"); } -#line 59945 "preproc.c" +#line 59938 "preproc.c" break; case 2848: /* bare_label_keyword: CURRENT_P */ -#line 15763 "preproc.y" +#line 15756 "preproc.y" { (yyval.str) = mm_strdup("current"); } -#line 59953 "preproc.c" +#line 59946 "preproc.c" break; case 2849: /* bare_label_keyword: CURRENT_CATALOG */ -#line 15767 "preproc.y" +#line 15760 "preproc.y" { (yyval.str) = mm_strdup("current_catalog"); } -#line 59961 "preproc.c" +#line 59954 "preproc.c" break; case 2850: /* bare_label_keyword: CURRENT_DATE */ -#line 15771 "preproc.y" +#line 15764 "preproc.y" { (yyval.str) = mm_strdup("current_date"); } -#line 59969 "preproc.c" +#line 59962 "preproc.c" break; case 2851: /* bare_label_keyword: CURRENT_ROLE */ -#line 15775 "preproc.y" +#line 15768 "preproc.y" { (yyval.str) = mm_strdup("current_role"); } -#line 59977 "preproc.c" +#line 59970 "preproc.c" break; case 2852: /* bare_label_keyword: CURRENT_SCHEMA */ -#line 15779 "preproc.y" +#line 15772 "preproc.y" { (yyval.str) = mm_strdup("current_schema"); } -#line 59985 "preproc.c" +#line 59978 "preproc.c" break; case 2853: /* bare_label_keyword: CURRENT_TIME */ -#line 15783 "preproc.y" +#line 15776 "preproc.y" { (yyval.str) = mm_strdup("current_time"); } -#line 59993 "preproc.c" +#line 59986 "preproc.c" break; case 2854: /* bare_label_keyword: CURRENT_TIMESTAMP */ -#line 15787 "preproc.y" +#line 15780 "preproc.y" { (yyval.str) = mm_strdup("current_timestamp"); } -#line 60001 "preproc.c" +#line 59994 "preproc.c" break; case 2855: /* bare_label_keyword: CURRENT_USER */ -#line 15791 "preproc.y" +#line 15784 "preproc.y" { (yyval.str) = mm_strdup("current_user"); } -#line 60009 "preproc.c" +#line 60002 "preproc.c" break; case 2856: /* bare_label_keyword: CURSOR */ -#line 15795 "preproc.y" +#line 15788 "preproc.y" { (yyval.str) = mm_strdup("cursor"); } -#line 60017 "preproc.c" +#line 60010 "preproc.c" break; case 2857: /* bare_label_keyword: CYCLE */ -#line 15799 "preproc.y" +#line 15792 "preproc.y" { (yyval.str) = mm_strdup("cycle"); } -#line 60025 "preproc.c" +#line 60018 "preproc.c" break; case 2858: /* bare_label_keyword: DATA_P */ -#line 15803 "preproc.y" +#line 15796 "preproc.y" { (yyval.str) = mm_strdup("data"); } -#line 60033 "preproc.c" +#line 60026 "preproc.c" break; case 2859: /* bare_label_keyword: DATABASE */ -#line 15807 "preproc.y" +#line 15800 "preproc.y" { (yyval.str) = mm_strdup("database"); } -#line 60041 "preproc.c" +#line 60034 "preproc.c" break; case 2860: /* bare_label_keyword: DEALLOCATE */ -#line 15811 "preproc.y" +#line 15804 "preproc.y" { (yyval.str) = mm_strdup("deallocate"); } -#line 60049 "preproc.c" +#line 60042 "preproc.c" break; case 2861: /* bare_label_keyword: DEC */ -#line 15815 "preproc.y" +#line 15808 "preproc.y" { (yyval.str) = mm_strdup("dec"); } -#line 60057 "preproc.c" +#line 60050 "preproc.c" break; case 2862: /* bare_label_keyword: DECIMAL_P */ -#line 15819 "preproc.y" +#line 15812 "preproc.y" { (yyval.str) = mm_strdup("decimal"); } -#line 60065 "preproc.c" +#line 60058 "preproc.c" break; case 2863: /* bare_label_keyword: DECLARE */ -#line 15823 "preproc.y" +#line 15816 "preproc.y" { (yyval.str) = mm_strdup("declare"); } -#line 60073 "preproc.c" +#line 60066 "preproc.c" break; case 2864: /* bare_label_keyword: DEFAULT */ -#line 15827 "preproc.y" +#line 15820 "preproc.y" { (yyval.str) = mm_strdup("default"); } -#line 60081 "preproc.c" +#line 60074 "preproc.c" break; case 2865: /* bare_label_keyword: DEFAULTS */ -#line 15831 "preproc.y" +#line 15824 "preproc.y" { (yyval.str) = mm_strdup("defaults"); } -#line 60089 "preproc.c" +#line 60082 "preproc.c" break; case 2866: /* bare_label_keyword: DEFERRABLE */ -#line 15835 "preproc.y" +#line 15828 "preproc.y" { (yyval.str) = mm_strdup("deferrable"); } -#line 60097 "preproc.c" +#line 60090 "preproc.c" break; case 2867: /* bare_label_keyword: DEFERRED */ -#line 15839 "preproc.y" +#line 15832 "preproc.y" { (yyval.str) = mm_strdup("deferred"); } -#line 60105 "preproc.c" +#line 60098 "preproc.c" break; case 2868: /* bare_label_keyword: DEFINER */ -#line 15843 "preproc.y" +#line 15836 "preproc.y" { (yyval.str) = mm_strdup("definer"); } -#line 60113 "preproc.c" +#line 60106 "preproc.c" break; case 2869: /* bare_label_keyword: DELETE_P */ -#line 15847 "preproc.y" +#line 15840 "preproc.y" { (yyval.str) = mm_strdup("delete"); } -#line 60121 "preproc.c" +#line 60114 "preproc.c" break; case 2870: /* bare_label_keyword: DELIMITER */ -#line 15851 "preproc.y" +#line 15844 "preproc.y" { (yyval.str) = mm_strdup("delimiter"); } -#line 60129 "preproc.c" +#line 60122 "preproc.c" break; case 2871: /* bare_label_keyword: DELIMITERS */ -#line 15855 "preproc.y" +#line 15848 "preproc.y" { (yyval.str) = mm_strdup("delimiters"); } -#line 60137 "preproc.c" +#line 60130 "preproc.c" break; case 2872: /* bare_label_keyword: DEPENDS */ -#line 15859 "preproc.y" +#line 15852 "preproc.y" { (yyval.str) = mm_strdup("depends"); } -#line 60145 "preproc.c" +#line 60138 "preproc.c" break; case 2873: /* bare_label_keyword: DEPTH */ -#line 15863 "preproc.y" +#line 15856 "preproc.y" { (yyval.str) = mm_strdup("depth"); } -#line 60153 "preproc.c" +#line 60146 "preproc.c" break; case 2874: /* bare_label_keyword: DESC */ -#line 15867 "preproc.y" +#line 15860 "preproc.y" { (yyval.str) = mm_strdup("desc"); } -#line 60161 "preproc.c" +#line 60154 "preproc.c" break; case 2875: /* bare_label_keyword: DETACH */ -#line 15871 "preproc.y" +#line 15864 "preproc.y" { (yyval.str) = mm_strdup("detach"); } -#line 60169 "preproc.c" +#line 60162 "preproc.c" break; case 2876: /* bare_label_keyword: DICTIONARY */ -#line 15875 "preproc.y" +#line 15868 "preproc.y" { (yyval.str) = mm_strdup("dictionary"); } -#line 60177 "preproc.c" +#line 60170 "preproc.c" break; case 2877: /* bare_label_keyword: DISABLE_P */ -#line 15879 "preproc.y" +#line 15872 "preproc.y" { (yyval.str) = mm_strdup("disable"); } -#line 60185 "preproc.c" +#line 60178 "preproc.c" break; case 2878: /* bare_label_keyword: DISCARD */ -#line 15883 "preproc.y" +#line 15876 "preproc.y" { (yyval.str) = mm_strdup("discard"); } -#line 60193 "preproc.c" +#line 60186 "preproc.c" break; case 2879: /* bare_label_keyword: DISTINCT */ -#line 15887 "preproc.y" +#line 15880 "preproc.y" { (yyval.str) = mm_strdup("distinct"); } -#line 60201 "preproc.c" +#line 60194 "preproc.c" break; case 2880: /* bare_label_keyword: DO */ -#line 15891 "preproc.y" +#line 15884 "preproc.y" { (yyval.str) = mm_strdup("do"); } -#line 60209 "preproc.c" +#line 60202 "preproc.c" break; case 2881: /* bare_label_keyword: DOCUMENT_P */ -#line 15895 "preproc.y" +#line 15888 "preproc.y" { (yyval.str) = mm_strdup("document"); } -#line 60217 "preproc.c" +#line 60210 "preproc.c" break; case 2882: /* bare_label_keyword: DOMAIN_P */ -#line 15899 "preproc.y" +#line 15892 "preproc.y" { (yyval.str) = mm_strdup("domain"); } -#line 60225 "preproc.c" +#line 60218 "preproc.c" break; case 2883: /* bare_label_keyword: DOUBLE_P */ -#line 15903 "preproc.y" +#line 15896 "preproc.y" { (yyval.str) = mm_strdup("double"); } -#line 60233 "preproc.c" +#line 60226 "preproc.c" break; case 2884: /* bare_label_keyword: DROP */ -#line 15907 "preproc.y" +#line 15900 "preproc.y" { (yyval.str) = mm_strdup("drop"); } -#line 60241 "preproc.c" +#line 60234 "preproc.c" break; case 2885: /* bare_label_keyword: EACH */ -#line 15911 "preproc.y" +#line 15904 "preproc.y" { (yyval.str) = mm_strdup("each"); } -#line 60249 "preproc.c" +#line 60242 "preproc.c" break; case 2886: /* bare_label_keyword: ELSE */ -#line 15915 "preproc.y" +#line 15908 "preproc.y" { (yyval.str) = mm_strdup("else"); } -#line 60257 "preproc.c" +#line 60250 "preproc.c" break; case 2887: /* bare_label_keyword: ENABLE_P */ -#line 15919 "preproc.y" +#line 15912 "preproc.y" { (yyval.str) = mm_strdup("enable"); } -#line 60265 "preproc.c" +#line 60258 "preproc.c" break; case 2888: /* bare_label_keyword: ENCODING */ -#line 15923 "preproc.y" +#line 15916 "preproc.y" { (yyval.str) = mm_strdup("encoding"); } -#line 60273 "preproc.c" +#line 60266 "preproc.c" break; case 2889: /* bare_label_keyword: ENCRYPTED */ -#line 15927 "preproc.y" +#line 15920 "preproc.y" { (yyval.str) = mm_strdup("encrypted"); } -#line 60281 "preproc.c" +#line 60274 "preproc.c" break; case 2890: /* bare_label_keyword: END_P */ -#line 15931 "preproc.y" +#line 15924 "preproc.y" { (yyval.str) = mm_strdup("end"); } -#line 60289 "preproc.c" +#line 60282 "preproc.c" break; case 2891: /* bare_label_keyword: ENUM_P */ -#line 15935 "preproc.y" +#line 15928 "preproc.y" { (yyval.str) = mm_strdup("enum"); } -#line 60297 "preproc.c" +#line 60290 "preproc.c" break; case 2892: /* bare_label_keyword: ESCAPE */ -#line 15939 "preproc.y" +#line 15932 "preproc.y" { (yyval.str) = mm_strdup("escape"); } -#line 60305 "preproc.c" +#line 60298 "preproc.c" break; case 2893: /* bare_label_keyword: EVENT */ -#line 15943 "preproc.y" +#line 15936 "preproc.y" { (yyval.str) = mm_strdup("event"); } -#line 60313 "preproc.c" +#line 60306 "preproc.c" break; case 2894: /* bare_label_keyword: EXCLUDE */ -#line 15947 "preproc.y" +#line 15940 "preproc.y" { (yyval.str) = mm_strdup("exclude"); } -#line 60321 "preproc.c" +#line 60314 "preproc.c" break; case 2895: /* bare_label_keyword: EXCLUDING */ -#line 15951 "preproc.y" +#line 15944 "preproc.y" { (yyval.str) = mm_strdup("excluding"); } -#line 60329 "preproc.c" +#line 60322 "preproc.c" break; case 2896: /* bare_label_keyword: EXCLUSIVE */ -#line 15955 "preproc.y" +#line 15948 "preproc.y" { (yyval.str) = mm_strdup("exclusive"); } -#line 60337 "preproc.c" +#line 60330 "preproc.c" break; case 2897: /* bare_label_keyword: EXECUTE */ -#line 15959 "preproc.y" +#line 15952 "preproc.y" { (yyval.str) = mm_strdup("execute"); } -#line 60345 "preproc.c" +#line 60338 "preproc.c" break; case 2898: /* bare_label_keyword: EXISTS */ -#line 15963 "preproc.y" +#line 15956 "preproc.y" { (yyval.str) = mm_strdup("exists"); } -#line 60353 "preproc.c" +#line 60346 "preproc.c" break; case 2899: /* bare_label_keyword: EXPLAIN */ -#line 15967 "preproc.y" +#line 15960 "preproc.y" { (yyval.str) = mm_strdup("explain"); } -#line 60361 "preproc.c" +#line 60354 "preproc.c" break; case 2900: /* bare_label_keyword: EXPRESSION */ -#line 15971 "preproc.y" +#line 15964 "preproc.y" { (yyval.str) = mm_strdup("expression"); } -#line 60369 "preproc.c" +#line 60362 "preproc.c" break; case 2901: /* bare_label_keyword: EXTENSION */ -#line 15975 "preproc.y" +#line 15968 "preproc.y" { (yyval.str) = mm_strdup("extension"); } -#line 60377 "preproc.c" +#line 60370 "preproc.c" break; case 2902: /* bare_label_keyword: EXTERNAL */ -#line 15979 "preproc.y" +#line 15972 "preproc.y" { (yyval.str) = mm_strdup("external"); } -#line 60385 "preproc.c" +#line 60378 "preproc.c" break; case 2903: /* bare_label_keyword: EXTRACT */ -#line 15983 "preproc.y" +#line 15976 "preproc.y" { (yyval.str) = mm_strdup("extract"); } -#line 60393 "preproc.c" +#line 60386 "preproc.c" break; case 2904: /* bare_label_keyword: FALSE_P */ -#line 15987 "preproc.y" +#line 15980 "preproc.y" { (yyval.str) = mm_strdup("false"); } -#line 60401 "preproc.c" +#line 60394 "preproc.c" break; case 2905: /* bare_label_keyword: FAMILY */ -#line 15991 "preproc.y" +#line 15984 "preproc.y" { (yyval.str) = mm_strdup("family"); } -#line 60409 "preproc.c" +#line 60402 "preproc.c" break; case 2906: /* bare_label_keyword: FINALIZE */ -#line 15995 "preproc.y" +#line 15988 "preproc.y" { (yyval.str) = mm_strdup("finalize"); } -#line 60417 "preproc.c" +#line 60410 "preproc.c" break; case 2907: /* bare_label_keyword: FIRST_P */ -#line 15999 "preproc.y" +#line 15992 "preproc.y" { (yyval.str) = mm_strdup("first"); } -#line 60425 "preproc.c" +#line 60418 "preproc.c" break; case 2908: /* bare_label_keyword: FLOAT_P */ -#line 16003 "preproc.y" +#line 15996 "preproc.y" { (yyval.str) = mm_strdup("float"); } -#line 60433 "preproc.c" +#line 60426 "preproc.c" break; case 2909: /* bare_label_keyword: FOLLOWING */ -#line 16007 "preproc.y" +#line 16000 "preproc.y" { (yyval.str) = mm_strdup("following"); } -#line 60441 "preproc.c" +#line 60434 "preproc.c" break; case 2910: /* bare_label_keyword: FORCE */ -#line 16011 "preproc.y" +#line 16004 "preproc.y" { (yyval.str) = mm_strdup("force"); } -#line 60449 "preproc.c" +#line 60442 "preproc.c" break; case 2911: /* bare_label_keyword: FOREIGN */ -#line 16015 "preproc.y" +#line 16008 "preproc.y" { (yyval.str) = mm_strdup("foreign"); } -#line 60457 "preproc.c" +#line 60450 "preproc.c" break; case 2912: /* bare_label_keyword: FORWARD */ -#line 16019 "preproc.y" +#line 16012 "preproc.y" { (yyval.str) = mm_strdup("forward"); } -#line 60465 "preproc.c" +#line 60458 "preproc.c" break; case 2913: /* bare_label_keyword: FREEZE */ -#line 16023 "preproc.y" +#line 16016 "preproc.y" { (yyval.str) = mm_strdup("freeze"); } -#line 60473 "preproc.c" +#line 60466 "preproc.c" break; case 2914: /* bare_label_keyword: FULL */ -#line 16027 "preproc.y" +#line 16020 "preproc.y" { (yyval.str) = mm_strdup("full"); } -#line 60481 "preproc.c" +#line 60474 "preproc.c" break; case 2915: /* bare_label_keyword: FUNCTION */ -#line 16031 "preproc.y" +#line 16024 "preproc.y" { (yyval.str) = mm_strdup("function"); } -#line 60489 "preproc.c" +#line 60482 "preproc.c" break; case 2916: /* bare_label_keyword: FUNCTIONS */ -#line 16035 "preproc.y" +#line 16028 "preproc.y" { (yyval.str) = mm_strdup("functions"); } -#line 60497 "preproc.c" +#line 60490 "preproc.c" break; case 2917: /* bare_label_keyword: GENERATED */ -#line 16039 "preproc.y" +#line 16032 "preproc.y" { (yyval.str) = mm_strdup("generated"); } -#line 60505 "preproc.c" +#line 60498 "preproc.c" break; case 2918: /* bare_label_keyword: GLOBAL */ -#line 16043 "preproc.y" +#line 16036 "preproc.y" { (yyval.str) = mm_strdup("global"); } -#line 60513 "preproc.c" +#line 60506 "preproc.c" break; case 2919: /* bare_label_keyword: GRANTED */ -#line 16047 "preproc.y" +#line 16040 "preproc.y" { (yyval.str) = mm_strdup("granted"); } -#line 60521 "preproc.c" +#line 60514 "preproc.c" break; case 2920: /* bare_label_keyword: GREATEST */ -#line 16051 "preproc.y" +#line 16044 "preproc.y" { (yyval.str) = mm_strdup("greatest"); } -#line 60529 "preproc.c" +#line 60522 "preproc.c" break; case 2921: /* bare_label_keyword: GROUPING */ -#line 16055 "preproc.y" +#line 16048 "preproc.y" { (yyval.str) = mm_strdup("grouping"); } -#line 60537 "preproc.c" +#line 60530 "preproc.c" break; case 2922: /* bare_label_keyword: GROUPS */ -#line 16059 "preproc.y" +#line 16052 "preproc.y" { (yyval.str) = mm_strdup("groups"); } -#line 60545 "preproc.c" +#line 60538 "preproc.c" break; case 2923: /* bare_label_keyword: HANDLER */ -#line 16063 "preproc.y" +#line 16056 "preproc.y" { (yyval.str) = mm_strdup("handler"); } -#line 60553 "preproc.c" +#line 60546 "preproc.c" break; case 2924: /* bare_label_keyword: HEADER_P */ -#line 16067 "preproc.y" +#line 16060 "preproc.y" { (yyval.str) = mm_strdup("header"); } -#line 60561 "preproc.c" +#line 60554 "preproc.c" break; case 2925: /* bare_label_keyword: HOLD */ -#line 16071 "preproc.y" +#line 16064 "preproc.y" { (yyval.str) = mm_strdup("hold"); } -#line 60569 "preproc.c" +#line 60562 "preproc.c" break; case 2926: /* bare_label_keyword: IDENTITY_P */ -#line 16075 "preproc.y" +#line 16068 "preproc.y" { (yyval.str) = mm_strdup("identity"); } -#line 60577 "preproc.c" +#line 60570 "preproc.c" break; case 2927: /* bare_label_keyword: IF_P */ -#line 16079 "preproc.y" +#line 16072 "preproc.y" { (yyval.str) = mm_strdup("if"); } -#line 60585 "preproc.c" +#line 60578 "preproc.c" break; case 2928: /* bare_label_keyword: ILIKE */ -#line 16083 "preproc.y" +#line 16076 "preproc.y" { (yyval.str) = mm_strdup("ilike"); } -#line 60593 "preproc.c" +#line 60586 "preproc.c" break; case 2929: /* bare_label_keyword: IMMEDIATE */ -#line 16087 "preproc.y" +#line 16080 "preproc.y" { (yyval.str) = mm_strdup("immediate"); } -#line 60601 "preproc.c" +#line 60594 "preproc.c" break; case 2930: /* bare_label_keyword: IMMUTABLE */ -#line 16091 "preproc.y" +#line 16084 "preproc.y" { (yyval.str) = mm_strdup("immutable"); } -#line 60609 "preproc.c" +#line 60602 "preproc.c" break; case 2931: /* bare_label_keyword: IMPLICIT_P */ -#line 16095 "preproc.y" +#line 16088 "preproc.y" { (yyval.str) = mm_strdup("implicit"); } -#line 60617 "preproc.c" +#line 60610 "preproc.c" break; case 2932: /* bare_label_keyword: IMPORT_P */ -#line 16099 "preproc.y" +#line 16092 "preproc.y" { (yyval.str) = mm_strdup("import"); } -#line 60625 "preproc.c" +#line 60618 "preproc.c" break; case 2933: /* bare_label_keyword: IN_P */ -#line 16103 "preproc.y" +#line 16096 "preproc.y" { (yyval.str) = mm_strdup("in"); } -#line 60633 "preproc.c" +#line 60626 "preproc.c" break; case 2934: /* bare_label_keyword: INCLUDE */ -#line 16107 "preproc.y" +#line 16100 "preproc.y" { (yyval.str) = mm_strdup("include"); } -#line 60641 "preproc.c" +#line 60634 "preproc.c" break; case 2935: /* bare_label_keyword: INCLUDING */ -#line 16111 "preproc.y" +#line 16104 "preproc.y" { (yyval.str) = mm_strdup("including"); } -#line 60649 "preproc.c" +#line 60642 "preproc.c" break; case 2936: /* bare_label_keyword: INCREMENT */ -#line 16115 "preproc.y" +#line 16108 "preproc.y" { (yyval.str) = mm_strdup("increment"); } -#line 60657 "preproc.c" +#line 60650 "preproc.c" break; case 2937: /* bare_label_keyword: INDEX */ -#line 16119 "preproc.y" +#line 16112 "preproc.y" { (yyval.str) = mm_strdup("index"); } -#line 60665 "preproc.c" +#line 60658 "preproc.c" break; case 2938: /* bare_label_keyword: INDEXES */ -#line 16123 "preproc.y" +#line 16116 "preproc.y" { (yyval.str) = mm_strdup("indexes"); } -#line 60673 "preproc.c" +#line 60666 "preproc.c" break; case 2939: /* bare_label_keyword: INHERIT */ -#line 16127 "preproc.y" +#line 16120 "preproc.y" { (yyval.str) = mm_strdup("inherit"); } -#line 60681 "preproc.c" +#line 60674 "preproc.c" break; case 2940: /* bare_label_keyword: INHERITS */ -#line 16131 "preproc.y" +#line 16124 "preproc.y" { (yyval.str) = mm_strdup("inherits"); } -#line 60689 "preproc.c" +#line 60682 "preproc.c" break; case 2941: /* bare_label_keyword: INITIALLY */ -#line 16135 "preproc.y" +#line 16128 "preproc.y" { (yyval.str) = mm_strdup("initially"); } -#line 60697 "preproc.c" +#line 60690 "preproc.c" break; case 2942: /* bare_label_keyword: INLINE_P */ -#line 16139 "preproc.y" +#line 16132 "preproc.y" { (yyval.str) = mm_strdup("inline"); } -#line 60705 "preproc.c" +#line 60698 "preproc.c" break; case 2943: /* bare_label_keyword: INNER_P */ -#line 16143 "preproc.y" +#line 16136 "preproc.y" { (yyval.str) = mm_strdup("inner"); } -#line 60713 "preproc.c" +#line 60706 "preproc.c" break; case 2944: /* bare_label_keyword: INOUT */ -#line 16147 "preproc.y" +#line 16140 "preproc.y" { (yyval.str) = mm_strdup("inout"); } -#line 60721 "preproc.c" +#line 60714 "preproc.c" break; case 2945: /* bare_label_keyword: INPUT_P */ -#line 16151 "preproc.y" +#line 16144 "preproc.y" { (yyval.str) = mm_strdup("input"); } -#line 60729 "preproc.c" +#line 60722 "preproc.c" break; case 2946: /* bare_label_keyword: INSENSITIVE */ -#line 16155 "preproc.y" +#line 16148 "preproc.y" { (yyval.str) = mm_strdup("insensitive"); } -#line 60737 "preproc.c" +#line 60730 "preproc.c" break; case 2947: /* bare_label_keyword: INSERT */ -#line 16159 "preproc.y" +#line 16152 "preproc.y" { (yyval.str) = mm_strdup("insert"); } -#line 60745 "preproc.c" +#line 60738 "preproc.c" break; case 2948: /* bare_label_keyword: INSTEAD */ -#line 16163 "preproc.y" +#line 16156 "preproc.y" { (yyval.str) = mm_strdup("instead"); } -#line 60753 "preproc.c" +#line 60746 "preproc.c" break; case 2949: /* bare_label_keyword: INT_P */ -#line 16167 "preproc.y" +#line 16160 "preproc.y" { (yyval.str) = mm_strdup("int"); } -#line 60761 "preproc.c" +#line 60754 "preproc.c" break; case 2950: /* bare_label_keyword: INTEGER */ -#line 16171 "preproc.y" +#line 16164 "preproc.y" { (yyval.str) = mm_strdup("integer"); } -#line 60769 "preproc.c" +#line 60762 "preproc.c" break; case 2951: /* bare_label_keyword: INTERVAL */ -#line 16175 "preproc.y" +#line 16168 "preproc.y" { (yyval.str) = mm_strdup("interval"); } -#line 60777 "preproc.c" +#line 60770 "preproc.c" break; case 2952: /* bare_label_keyword: INVOKER */ -#line 16179 "preproc.y" +#line 16172 "preproc.y" { (yyval.str) = mm_strdup("invoker"); } -#line 60785 "preproc.c" +#line 60778 "preproc.c" break; case 2953: /* bare_label_keyword: IS */ -#line 16183 "preproc.y" +#line 16176 "preproc.y" { (yyval.str) = mm_strdup("is"); } -#line 60793 "preproc.c" +#line 60786 "preproc.c" break; case 2954: /* bare_label_keyword: ISOLATION */ -#line 16187 "preproc.y" +#line 16180 "preproc.y" { (yyval.str) = mm_strdup("isolation"); } -#line 60801 "preproc.c" +#line 60794 "preproc.c" break; case 2955: /* bare_label_keyword: JOIN */ -#line 16191 "preproc.y" +#line 16184 "preproc.y" { (yyval.str) = mm_strdup("join"); } -#line 60809 "preproc.c" +#line 60802 "preproc.c" break; case 2956: /* bare_label_keyword: KEY */ -#line 16195 "preproc.y" +#line 16188 "preproc.y" { (yyval.str) = mm_strdup("key"); } -#line 60817 "preproc.c" +#line 60810 "preproc.c" break; case 2957: /* bare_label_keyword: LABEL */ -#line 16199 "preproc.y" +#line 16192 "preproc.y" { (yyval.str) = mm_strdup("label"); } -#line 60825 "preproc.c" +#line 60818 "preproc.c" break; case 2958: /* bare_label_keyword: LANGUAGE */ -#line 16203 "preproc.y" +#line 16196 "preproc.y" { (yyval.str) = mm_strdup("language"); } -#line 60833 "preproc.c" +#line 60826 "preproc.c" break; case 2959: /* bare_label_keyword: LARGE_P */ -#line 16207 "preproc.y" +#line 16200 "preproc.y" { (yyval.str) = mm_strdup("large"); } -#line 60841 "preproc.c" +#line 60834 "preproc.c" break; case 2960: /* bare_label_keyword: LAST_P */ -#line 16211 "preproc.y" +#line 16204 "preproc.y" { (yyval.str) = mm_strdup("last"); } -#line 60849 "preproc.c" +#line 60842 "preproc.c" break; case 2961: /* bare_label_keyword: LATERAL_P */ -#line 16215 "preproc.y" +#line 16208 "preproc.y" { (yyval.str) = mm_strdup("lateral"); } -#line 60857 "preproc.c" +#line 60850 "preproc.c" break; case 2962: /* bare_label_keyword: LEADING */ -#line 16219 "preproc.y" +#line 16212 "preproc.y" { (yyval.str) = mm_strdup("leading"); } -#line 60865 "preproc.c" +#line 60858 "preproc.c" break; case 2963: /* bare_label_keyword: LEAKPROOF */ -#line 16223 "preproc.y" +#line 16216 "preproc.y" { (yyval.str) = mm_strdup("leakproof"); } -#line 60873 "preproc.c" +#line 60866 "preproc.c" break; case 2964: /* bare_label_keyword: LEAST */ -#line 16227 "preproc.y" +#line 16220 "preproc.y" { (yyval.str) = mm_strdup("least"); } -#line 60881 "preproc.c" +#line 60874 "preproc.c" break; case 2965: /* bare_label_keyword: LEFT */ -#line 16231 "preproc.y" +#line 16224 "preproc.y" { (yyval.str) = mm_strdup("left"); } -#line 60889 "preproc.c" +#line 60882 "preproc.c" break; case 2966: /* bare_label_keyword: LEVEL */ -#line 16235 "preproc.y" +#line 16228 "preproc.y" { (yyval.str) = mm_strdup("level"); } -#line 60897 "preproc.c" +#line 60890 "preproc.c" break; case 2967: /* bare_label_keyword: LIKE */ -#line 16239 "preproc.y" +#line 16232 "preproc.y" { (yyval.str) = mm_strdup("like"); } -#line 60905 "preproc.c" +#line 60898 "preproc.c" break; case 2968: /* bare_label_keyword: LISTEN */ -#line 16243 "preproc.y" +#line 16236 "preproc.y" { (yyval.str) = mm_strdup("listen"); } -#line 60913 "preproc.c" +#line 60906 "preproc.c" break; case 2969: /* bare_label_keyword: LOAD */ -#line 16247 "preproc.y" +#line 16240 "preproc.y" { (yyval.str) = mm_strdup("load"); } -#line 60921 "preproc.c" +#line 60914 "preproc.c" break; case 2970: /* bare_label_keyword: LOCAL */ -#line 16251 "preproc.y" +#line 16244 "preproc.y" { (yyval.str) = mm_strdup("local"); } -#line 60929 "preproc.c" +#line 60922 "preproc.c" break; case 2971: /* bare_label_keyword: LOCALTIME */ -#line 16255 "preproc.y" +#line 16248 "preproc.y" { (yyval.str) = mm_strdup("localtime"); } -#line 60937 "preproc.c" +#line 60930 "preproc.c" break; case 2972: /* bare_label_keyword: LOCALTIMESTAMP */ -#line 16259 "preproc.y" +#line 16252 "preproc.y" { (yyval.str) = mm_strdup("localtimestamp"); } -#line 60945 "preproc.c" +#line 60938 "preproc.c" break; case 2973: /* bare_label_keyword: LOCATION */ -#line 16263 "preproc.y" +#line 16256 "preproc.y" { (yyval.str) = mm_strdup("location"); } -#line 60953 "preproc.c" +#line 60946 "preproc.c" break; case 2974: /* bare_label_keyword: LOCK_P */ -#line 16267 "preproc.y" +#line 16260 "preproc.y" { (yyval.str) = mm_strdup("lock"); } -#line 60961 "preproc.c" +#line 60954 "preproc.c" break; case 2975: /* bare_label_keyword: LOCKED */ -#line 16271 "preproc.y" +#line 16264 "preproc.y" { (yyval.str) = mm_strdup("locked"); } -#line 60969 "preproc.c" +#line 60962 "preproc.c" break; case 2976: /* bare_label_keyword: LOGGED */ -#line 16275 "preproc.y" +#line 16268 "preproc.y" { (yyval.str) = mm_strdup("logged"); } -#line 60977 "preproc.c" +#line 60970 "preproc.c" break; case 2977: /* bare_label_keyword: MAPPING */ -#line 16279 "preproc.y" +#line 16272 "preproc.y" { (yyval.str) = mm_strdup("mapping"); } -#line 60985 "preproc.c" +#line 60978 "preproc.c" break; case 2978: /* bare_label_keyword: MATCH */ -#line 16283 "preproc.y" +#line 16276 "preproc.y" { (yyval.str) = mm_strdup("match"); } -#line 60993 "preproc.c" +#line 60986 "preproc.c" break; case 2979: /* bare_label_keyword: MATCHED */ -#line 16287 "preproc.y" +#line 16280 "preproc.y" { (yyval.str) = mm_strdup("matched"); } -#line 61001 "preproc.c" +#line 60994 "preproc.c" break; case 2980: /* bare_label_keyword: MATERIALIZED */ -#line 16291 "preproc.y" +#line 16284 "preproc.y" { (yyval.str) = mm_strdup("materialized"); } -#line 61009 "preproc.c" +#line 61002 "preproc.c" break; case 2981: /* bare_label_keyword: MAXVALUE */ -#line 16295 "preproc.y" +#line 16288 "preproc.y" { (yyval.str) = mm_strdup("maxvalue"); } -#line 61017 "preproc.c" +#line 61010 "preproc.c" break; case 2982: /* bare_label_keyword: MERGE */ -#line 16299 "preproc.y" +#line 16292 "preproc.y" { (yyval.str) = mm_strdup("merge"); } -#line 61025 "preproc.c" +#line 61018 "preproc.c" break; case 2983: /* bare_label_keyword: METHOD */ -#line 16303 "preproc.y" +#line 16296 "preproc.y" { (yyval.str) = mm_strdup("method"); } -#line 61033 "preproc.c" +#line 61026 "preproc.c" break; case 2984: /* bare_label_keyword: MINVALUE */ -#line 16307 "preproc.y" +#line 16300 "preproc.y" { (yyval.str) = mm_strdup("minvalue"); } -#line 61041 "preproc.c" +#line 61034 "preproc.c" break; case 2985: /* bare_label_keyword: MODE */ -#line 16311 "preproc.y" +#line 16304 "preproc.y" { (yyval.str) = mm_strdup("mode"); } -#line 61049 "preproc.c" +#line 61042 "preproc.c" break; case 2986: /* bare_label_keyword: MOVE */ -#line 16315 "preproc.y" +#line 16308 "preproc.y" { (yyval.str) = mm_strdup("move"); } -#line 61057 "preproc.c" +#line 61050 "preproc.c" break; case 2987: /* bare_label_keyword: NAME_P */ -#line 16319 "preproc.y" +#line 16312 "preproc.y" { (yyval.str) = mm_strdup("name"); } -#line 61065 "preproc.c" +#line 61058 "preproc.c" break; case 2988: /* bare_label_keyword: NAMES */ -#line 16323 "preproc.y" +#line 16316 "preproc.y" { (yyval.str) = mm_strdup("names"); } -#line 61073 "preproc.c" +#line 61066 "preproc.c" break; case 2989: /* bare_label_keyword: NATIONAL */ -#line 16327 "preproc.y" +#line 16320 "preproc.y" { (yyval.str) = mm_strdup("national"); } -#line 61081 "preproc.c" +#line 61074 "preproc.c" break; case 2990: /* bare_label_keyword: NATURAL */ -#line 16331 "preproc.y" +#line 16324 "preproc.y" { (yyval.str) = mm_strdup("natural"); } -#line 61089 "preproc.c" +#line 61082 "preproc.c" break; case 2991: /* bare_label_keyword: NCHAR */ -#line 16335 "preproc.y" +#line 16328 "preproc.y" { (yyval.str) = mm_strdup("nchar"); } -#line 61097 "preproc.c" +#line 61090 "preproc.c" break; case 2992: /* bare_label_keyword: NEW */ -#line 16339 "preproc.y" +#line 16332 "preproc.y" { (yyval.str) = mm_strdup("new"); } -#line 61105 "preproc.c" +#line 61098 "preproc.c" break; case 2993: /* bare_label_keyword: NEXT */ -#line 16343 "preproc.y" +#line 16336 "preproc.y" { (yyval.str) = mm_strdup("next"); } -#line 61113 "preproc.c" +#line 61106 "preproc.c" break; case 2994: /* bare_label_keyword: NFC */ -#line 16347 "preproc.y" +#line 16340 "preproc.y" { (yyval.str) = mm_strdup("nfc"); } -#line 61121 "preproc.c" +#line 61114 "preproc.c" break; case 2995: /* bare_label_keyword: NFD */ -#line 16351 "preproc.y" +#line 16344 "preproc.y" { (yyval.str) = mm_strdup("nfd"); } -#line 61129 "preproc.c" +#line 61122 "preproc.c" break; case 2996: /* bare_label_keyword: NFKC */ -#line 16355 "preproc.y" +#line 16348 "preproc.y" { (yyval.str) = mm_strdup("nfkc"); } -#line 61137 "preproc.c" +#line 61130 "preproc.c" break; case 2997: /* bare_label_keyword: NFKD */ -#line 16359 "preproc.y" +#line 16352 "preproc.y" { (yyval.str) = mm_strdup("nfkd"); } -#line 61145 "preproc.c" +#line 61138 "preproc.c" break; case 2998: /* bare_label_keyword: NO */ -#line 16363 "preproc.y" +#line 16356 "preproc.y" { (yyval.str) = mm_strdup("no"); } -#line 61153 "preproc.c" +#line 61146 "preproc.c" break; case 2999: /* bare_label_keyword: NONE */ -#line 16367 "preproc.y" +#line 16360 "preproc.y" { (yyval.str) = mm_strdup("none"); } -#line 61161 "preproc.c" +#line 61154 "preproc.c" break; case 3000: /* bare_label_keyword: NORMALIZE */ -#line 16371 "preproc.y" +#line 16364 "preproc.y" { (yyval.str) = mm_strdup("normalize"); } -#line 61169 "preproc.c" +#line 61162 "preproc.c" break; case 3001: /* bare_label_keyword: NORMALIZED */ -#line 16375 "preproc.y" +#line 16368 "preproc.y" { (yyval.str) = mm_strdup("normalized"); } -#line 61177 "preproc.c" +#line 61170 "preproc.c" break; case 3002: /* bare_label_keyword: NOT */ -#line 16379 "preproc.y" +#line 16372 "preproc.y" { (yyval.str) = mm_strdup("not"); } -#line 61185 "preproc.c" +#line 61178 "preproc.c" break; case 3003: /* bare_label_keyword: NOTHING */ -#line 16383 "preproc.y" +#line 16376 "preproc.y" { (yyval.str) = mm_strdup("nothing"); } -#line 61193 "preproc.c" +#line 61186 "preproc.c" break; case 3004: /* bare_label_keyword: NOTIFY */ -#line 16387 "preproc.y" +#line 16380 "preproc.y" { (yyval.str) = mm_strdup("notify"); } -#line 61201 "preproc.c" +#line 61194 "preproc.c" break; case 3005: /* bare_label_keyword: NOWAIT */ -#line 16391 "preproc.y" +#line 16384 "preproc.y" { (yyval.str) = mm_strdup("nowait"); } -#line 61209 "preproc.c" +#line 61202 "preproc.c" break; case 3006: /* bare_label_keyword: NULL_P */ -#line 16395 "preproc.y" +#line 16388 "preproc.y" { (yyval.str) = mm_strdup("null"); } -#line 61217 "preproc.c" +#line 61210 "preproc.c" break; case 3007: /* bare_label_keyword: NULLIF */ -#line 16399 "preproc.y" +#line 16392 "preproc.y" { (yyval.str) = mm_strdup("nullif"); } -#line 61225 "preproc.c" +#line 61218 "preproc.c" break; case 3008: /* bare_label_keyword: NULLS_P */ -#line 16403 "preproc.y" +#line 16396 "preproc.y" { (yyval.str) = mm_strdup("nulls"); } -#line 61233 "preproc.c" +#line 61226 "preproc.c" break; case 3009: /* bare_label_keyword: NUMERIC */ -#line 16407 "preproc.y" +#line 16400 "preproc.y" { (yyval.str) = mm_strdup("numeric"); } -#line 61241 "preproc.c" +#line 61234 "preproc.c" break; case 3010: /* bare_label_keyword: OBJECT_P */ -#line 16411 "preproc.y" +#line 16404 "preproc.y" { (yyval.str) = mm_strdup("object"); } -#line 61249 "preproc.c" +#line 61242 "preproc.c" break; case 3011: /* bare_label_keyword: OF */ -#line 16415 "preproc.y" +#line 16408 "preproc.y" { (yyval.str) = mm_strdup("of"); } -#line 61257 "preproc.c" +#line 61250 "preproc.c" break; case 3012: /* bare_label_keyword: OFF */ -#line 16419 "preproc.y" +#line 16412 "preproc.y" { (yyval.str) = mm_strdup("off"); } -#line 61265 "preproc.c" +#line 61258 "preproc.c" break; case 3013: /* bare_label_keyword: OIDS */ -#line 16423 "preproc.y" +#line 16416 "preproc.y" { (yyval.str) = mm_strdup("oids"); } -#line 61273 "preproc.c" +#line 61266 "preproc.c" break; case 3014: /* bare_label_keyword: OLD */ -#line 16427 "preproc.y" +#line 16420 "preproc.y" { (yyval.str) = mm_strdup("old"); } -#line 61281 "preproc.c" +#line 61274 "preproc.c" break; case 3015: /* bare_label_keyword: ONLY */ -#line 16431 "preproc.y" +#line 16424 "preproc.y" { (yyval.str) = mm_strdup("only"); } -#line 61289 "preproc.c" +#line 61282 "preproc.c" break; case 3016: /* bare_label_keyword: OPERATOR */ -#line 16435 "preproc.y" +#line 16428 "preproc.y" { (yyval.str) = mm_strdup("operator"); } -#line 61297 "preproc.c" +#line 61290 "preproc.c" break; case 3017: /* bare_label_keyword: OPTION */ -#line 16439 "preproc.y" +#line 16432 "preproc.y" { (yyval.str) = mm_strdup("option"); } -#line 61305 "preproc.c" +#line 61298 "preproc.c" break; case 3018: /* bare_label_keyword: OPTIONS */ -#line 16443 "preproc.y" +#line 16436 "preproc.y" { (yyval.str) = mm_strdup("options"); } -#line 61313 "preproc.c" +#line 61306 "preproc.c" break; case 3019: /* bare_label_keyword: OR */ -#line 16447 "preproc.y" +#line 16440 "preproc.y" { (yyval.str) = mm_strdup("or"); } -#line 61321 "preproc.c" +#line 61314 "preproc.c" break; case 3020: /* bare_label_keyword: ORDINALITY */ -#line 16451 "preproc.y" +#line 16444 "preproc.y" { (yyval.str) = mm_strdup("ordinality"); } -#line 61329 "preproc.c" +#line 61322 "preproc.c" break; case 3021: /* bare_label_keyword: OTHERS */ -#line 16455 "preproc.y" +#line 16448 "preproc.y" { (yyval.str) = mm_strdup("others"); } -#line 61337 "preproc.c" +#line 61330 "preproc.c" break; case 3022: /* bare_label_keyword: OUT_P */ -#line 16459 "preproc.y" +#line 16452 "preproc.y" { (yyval.str) = mm_strdup("out"); } -#line 61345 "preproc.c" +#line 61338 "preproc.c" break; case 3023: /* bare_label_keyword: OUTER_P */ -#line 16463 "preproc.y" +#line 16456 "preproc.y" { (yyval.str) = mm_strdup("outer"); } -#line 61353 "preproc.c" +#line 61346 "preproc.c" break; case 3024: /* bare_label_keyword: OVERLAY */ -#line 16467 "preproc.y" +#line 16460 "preproc.y" { (yyval.str) = mm_strdup("overlay"); } -#line 61361 "preproc.c" +#line 61354 "preproc.c" break; case 3025: /* bare_label_keyword: OVERRIDING */ -#line 16471 "preproc.y" +#line 16464 "preproc.y" { (yyval.str) = mm_strdup("overriding"); } -#line 61369 "preproc.c" +#line 61362 "preproc.c" break; case 3026: /* bare_label_keyword: OWNED */ -#line 16475 "preproc.y" +#line 16468 "preproc.y" { (yyval.str) = mm_strdup("owned"); } -#line 61377 "preproc.c" +#line 61370 "preproc.c" break; case 3027: /* bare_label_keyword: OWNER */ -#line 16479 "preproc.y" +#line 16472 "preproc.y" { (yyval.str) = mm_strdup("owner"); } -#line 61385 "preproc.c" +#line 61378 "preproc.c" break; case 3028: /* bare_label_keyword: PARALLEL */ -#line 16483 "preproc.y" +#line 16476 "preproc.y" { (yyval.str) = mm_strdup("parallel"); } -#line 61393 "preproc.c" +#line 61386 "preproc.c" break; case 3029: /* bare_label_keyword: PARAMETER */ -#line 16487 "preproc.y" +#line 16480 "preproc.y" { (yyval.str) = mm_strdup("parameter"); } -#line 61401 "preproc.c" +#line 61394 "preproc.c" break; case 3030: /* bare_label_keyword: PARSER */ -#line 16491 "preproc.y" +#line 16484 "preproc.y" { (yyval.str) = mm_strdup("parser"); } -#line 61409 "preproc.c" +#line 61402 "preproc.c" break; case 3031: /* bare_label_keyword: PARTIAL */ -#line 16495 "preproc.y" +#line 16488 "preproc.y" { (yyval.str) = mm_strdup("partial"); } -#line 61417 "preproc.c" +#line 61410 "preproc.c" break; case 3032: /* bare_label_keyword: PARTITION */ -#line 16499 "preproc.y" +#line 16492 "preproc.y" { (yyval.str) = mm_strdup("partition"); } -#line 61425 "preproc.c" +#line 61418 "preproc.c" break; case 3033: /* bare_label_keyword: PASSING */ -#line 16503 "preproc.y" +#line 16496 "preproc.y" { (yyval.str) = mm_strdup("passing"); } -#line 61433 "preproc.c" +#line 61426 "preproc.c" break; case 3034: /* bare_label_keyword: PASSWORD */ -#line 16507 "preproc.y" +#line 16500 "preproc.y" { (yyval.str) = mm_strdup("password"); } -#line 61441 "preproc.c" +#line 61434 "preproc.c" break; case 3035: /* bare_label_keyword: PLACING */ -#line 16511 "preproc.y" +#line 16504 "preproc.y" { (yyval.str) = mm_strdup("placing"); } -#line 61449 "preproc.c" +#line 61442 "preproc.c" break; case 3036: /* bare_label_keyword: PLANS */ -#line 16515 "preproc.y" +#line 16508 "preproc.y" { (yyval.str) = mm_strdup("plans"); } -#line 61457 "preproc.c" +#line 61450 "preproc.c" break; case 3037: /* bare_label_keyword: POLICY */ -#line 16519 "preproc.y" +#line 16512 "preproc.y" { (yyval.str) = mm_strdup("policy"); } -#line 61465 "preproc.c" +#line 61458 "preproc.c" break; case 3038: /* bare_label_keyword: POSITION */ -#line 16523 "preproc.y" +#line 16516 "preproc.y" { (yyval.str) = mm_strdup("position"); } -#line 61473 "preproc.c" +#line 61466 "preproc.c" break; case 3039: /* bare_label_keyword: PRECEDING */ -#line 16527 "preproc.y" +#line 16520 "preproc.y" { (yyval.str) = mm_strdup("preceding"); } -#line 61481 "preproc.c" +#line 61474 "preproc.c" break; case 3040: /* bare_label_keyword: PREPARE */ -#line 16531 "preproc.y" +#line 16524 "preproc.y" { (yyval.str) = mm_strdup("prepare"); } -#line 61489 "preproc.c" +#line 61482 "preproc.c" break; case 3041: /* bare_label_keyword: PREPARED */ -#line 16535 "preproc.y" +#line 16528 "preproc.y" { (yyval.str) = mm_strdup("prepared"); } -#line 61497 "preproc.c" +#line 61490 "preproc.c" break; case 3042: /* bare_label_keyword: PRESERVE */ -#line 16539 "preproc.y" +#line 16532 "preproc.y" { (yyval.str) = mm_strdup("preserve"); } -#line 61505 "preproc.c" +#line 61498 "preproc.c" break; case 3043: /* bare_label_keyword: PRIMARY */ -#line 16543 "preproc.y" +#line 16536 "preproc.y" { (yyval.str) = mm_strdup("primary"); } -#line 61513 "preproc.c" +#line 61506 "preproc.c" break; case 3044: /* bare_label_keyword: PRIOR */ -#line 16547 "preproc.y" +#line 16540 "preproc.y" { (yyval.str) = mm_strdup("prior"); } -#line 61521 "preproc.c" +#line 61514 "preproc.c" break; case 3045: /* bare_label_keyword: PRIVILEGES */ -#line 16551 "preproc.y" +#line 16544 "preproc.y" { (yyval.str) = mm_strdup("privileges"); } -#line 61529 "preproc.c" +#line 61522 "preproc.c" break; case 3046: /* bare_label_keyword: PROCEDURAL */ -#line 16555 "preproc.y" +#line 16548 "preproc.y" { (yyval.str) = mm_strdup("procedural"); } -#line 61537 "preproc.c" +#line 61530 "preproc.c" break; case 3047: /* bare_label_keyword: PROCEDURE */ -#line 16559 "preproc.y" +#line 16552 "preproc.y" { (yyval.str) = mm_strdup("procedure"); } -#line 61545 "preproc.c" +#line 61538 "preproc.c" break; case 3048: /* bare_label_keyword: PROCEDURES */ -#line 16563 "preproc.y" +#line 16556 "preproc.y" { (yyval.str) = mm_strdup("procedures"); } -#line 61553 "preproc.c" +#line 61546 "preproc.c" break; case 3049: /* bare_label_keyword: PROGRAM */ -#line 16567 "preproc.y" +#line 16560 "preproc.y" { (yyval.str) = mm_strdup("program"); } -#line 61561 "preproc.c" +#line 61554 "preproc.c" break; case 3050: /* bare_label_keyword: PUBLICATION */ -#line 16571 "preproc.y" +#line 16564 "preproc.y" { (yyval.str) = mm_strdup("publication"); } -#line 61569 "preproc.c" +#line 61562 "preproc.c" break; case 3051: /* bare_label_keyword: QUOTE */ -#line 16575 "preproc.y" +#line 16568 "preproc.y" { (yyval.str) = mm_strdup("quote"); } -#line 61577 "preproc.c" +#line 61570 "preproc.c" break; case 3052: /* bare_label_keyword: RANGE */ -#line 16579 "preproc.y" +#line 16572 "preproc.y" { (yyval.str) = mm_strdup("range"); } -#line 61585 "preproc.c" +#line 61578 "preproc.c" break; case 3053: /* bare_label_keyword: READ */ -#line 16583 "preproc.y" +#line 16576 "preproc.y" { (yyval.str) = mm_strdup("read"); } -#line 61593 "preproc.c" +#line 61586 "preproc.c" break; case 3054: /* bare_label_keyword: REAL */ -#line 16587 "preproc.y" +#line 16580 "preproc.y" { (yyval.str) = mm_strdup("real"); } -#line 61601 "preproc.c" +#line 61594 "preproc.c" break; case 3055: /* bare_label_keyword: REASSIGN */ -#line 16591 "preproc.y" +#line 16584 "preproc.y" { (yyval.str) = mm_strdup("reassign"); } -#line 61609 "preproc.c" +#line 61602 "preproc.c" break; case 3056: /* bare_label_keyword: RECHECK */ -#line 16595 "preproc.y" +#line 16588 "preproc.y" { (yyval.str) = mm_strdup("recheck"); } -#line 61617 "preproc.c" +#line 61610 "preproc.c" break; case 3057: /* bare_label_keyword: RECURSIVE */ -#line 16599 "preproc.y" +#line 16592 "preproc.y" { (yyval.str) = mm_strdup("recursive"); } -#line 61625 "preproc.c" +#line 61618 "preproc.c" break; case 3058: /* bare_label_keyword: REF_P */ -#line 16603 "preproc.y" +#line 16596 "preproc.y" { (yyval.str) = mm_strdup("ref"); } -#line 61633 "preproc.c" +#line 61626 "preproc.c" break; case 3059: /* bare_label_keyword: REFERENCES */ -#line 16607 "preproc.y" +#line 16600 "preproc.y" { (yyval.str) = mm_strdup("references"); } -#line 61641 "preproc.c" +#line 61634 "preproc.c" break; case 3060: /* bare_label_keyword: REFERENCING */ -#line 16611 "preproc.y" +#line 16604 "preproc.y" { (yyval.str) = mm_strdup("referencing"); } -#line 61649 "preproc.c" +#line 61642 "preproc.c" break; case 3061: /* bare_label_keyword: REFRESH */ -#line 16615 "preproc.y" +#line 16608 "preproc.y" { (yyval.str) = mm_strdup("refresh"); } -#line 61657 "preproc.c" +#line 61650 "preproc.c" break; case 3062: /* bare_label_keyword: REINDEX */ -#line 16619 "preproc.y" +#line 16612 "preproc.y" { (yyval.str) = mm_strdup("reindex"); } -#line 61665 "preproc.c" +#line 61658 "preproc.c" break; case 3063: /* bare_label_keyword: RELATIVE_P */ -#line 16623 "preproc.y" +#line 16616 "preproc.y" { (yyval.str) = mm_strdup("relative"); } -#line 61673 "preproc.c" +#line 61666 "preproc.c" break; case 3064: /* bare_label_keyword: RELEASE */ -#line 16627 "preproc.y" +#line 16620 "preproc.y" { (yyval.str) = mm_strdup("release"); } -#line 61681 "preproc.c" +#line 61674 "preproc.c" break; case 3065: /* bare_label_keyword: RENAME */ -#line 16631 "preproc.y" +#line 16624 "preproc.y" { (yyval.str) = mm_strdup("rename"); } -#line 61689 "preproc.c" +#line 61682 "preproc.c" break; case 3066: /* bare_label_keyword: REPEATABLE */ -#line 16635 "preproc.y" +#line 16628 "preproc.y" { (yyval.str) = mm_strdup("repeatable"); } -#line 61697 "preproc.c" +#line 61690 "preproc.c" break; case 3067: /* bare_label_keyword: REPLACE */ -#line 16639 "preproc.y" +#line 16632 "preproc.y" { (yyval.str) = mm_strdup("replace"); } -#line 61705 "preproc.c" +#line 61698 "preproc.c" break; case 3068: /* bare_label_keyword: REPLICA */ -#line 16643 "preproc.y" +#line 16636 "preproc.y" { (yyval.str) = mm_strdup("replica"); } -#line 61713 "preproc.c" +#line 61706 "preproc.c" break; case 3069: /* bare_label_keyword: RESET */ -#line 16647 "preproc.y" +#line 16640 "preproc.y" { (yyval.str) = mm_strdup("reset"); } -#line 61721 "preproc.c" +#line 61714 "preproc.c" break; case 3070: /* bare_label_keyword: RESTART */ -#line 16651 "preproc.y" +#line 16644 "preproc.y" { (yyval.str) = mm_strdup("restart"); } -#line 61729 "preproc.c" +#line 61722 "preproc.c" break; case 3071: /* bare_label_keyword: RESTRICT */ -#line 16655 "preproc.y" +#line 16648 "preproc.y" { (yyval.str) = mm_strdup("restrict"); } -#line 61737 "preproc.c" +#line 61730 "preproc.c" break; case 3072: /* bare_label_keyword: RETURN */ -#line 16659 "preproc.y" +#line 16652 "preproc.y" { (yyval.str) = mm_strdup("return"); } -#line 61745 "preproc.c" +#line 61738 "preproc.c" break; case 3073: /* bare_label_keyword: RETURNS */ -#line 16663 "preproc.y" +#line 16656 "preproc.y" { (yyval.str) = mm_strdup("returns"); } -#line 61753 "preproc.c" +#line 61746 "preproc.c" break; case 3074: /* bare_label_keyword: REVOKE */ -#line 16667 "preproc.y" +#line 16660 "preproc.y" { (yyval.str) = mm_strdup("revoke"); } -#line 61761 "preproc.c" +#line 61754 "preproc.c" break; case 3075: /* bare_label_keyword: RIGHT */ -#line 16671 "preproc.y" +#line 16664 "preproc.y" { (yyval.str) = mm_strdup("right"); } -#line 61769 "preproc.c" +#line 61762 "preproc.c" break; case 3076: /* bare_label_keyword: ROLE */ -#line 16675 "preproc.y" +#line 16668 "preproc.y" { (yyval.str) = mm_strdup("role"); } -#line 61777 "preproc.c" +#line 61770 "preproc.c" break; case 3077: /* bare_label_keyword: ROLLBACK */ -#line 16679 "preproc.y" +#line 16672 "preproc.y" { (yyval.str) = mm_strdup("rollback"); } -#line 61785 "preproc.c" +#line 61778 "preproc.c" break; case 3078: /* bare_label_keyword: ROLLUP */ -#line 16683 "preproc.y" +#line 16676 "preproc.y" { (yyval.str) = mm_strdup("rollup"); } -#line 61793 "preproc.c" +#line 61786 "preproc.c" break; case 3079: /* bare_label_keyword: ROUTINE */ -#line 16687 "preproc.y" +#line 16680 "preproc.y" { (yyval.str) = mm_strdup("routine"); } -#line 61801 "preproc.c" +#line 61794 "preproc.c" break; case 3080: /* bare_label_keyword: ROUTINES */ -#line 16691 "preproc.y" +#line 16684 "preproc.y" { (yyval.str) = mm_strdup("routines"); } -#line 61809 "preproc.c" +#line 61802 "preproc.c" break; case 3081: /* bare_label_keyword: ROW */ -#line 16695 "preproc.y" +#line 16688 "preproc.y" { (yyval.str) = mm_strdup("row"); } -#line 61817 "preproc.c" +#line 61810 "preproc.c" break; case 3082: /* bare_label_keyword: ROWS */ -#line 16699 "preproc.y" +#line 16692 "preproc.y" { (yyval.str) = mm_strdup("rows"); } -#line 61825 "preproc.c" +#line 61818 "preproc.c" break; case 3083: /* bare_label_keyword: RULE */ -#line 16703 "preproc.y" +#line 16696 "preproc.y" { (yyval.str) = mm_strdup("rule"); } -#line 61833 "preproc.c" +#line 61826 "preproc.c" break; case 3084: /* bare_label_keyword: SAVEPOINT */ -#line 16707 "preproc.y" +#line 16700 "preproc.y" { (yyval.str) = mm_strdup("savepoint"); } -#line 61841 "preproc.c" +#line 61834 "preproc.c" break; case 3085: /* bare_label_keyword: SCHEMA */ -#line 16711 "preproc.y" +#line 16704 "preproc.y" { (yyval.str) = mm_strdup("schema"); } -#line 61849 "preproc.c" +#line 61842 "preproc.c" break; case 3086: /* bare_label_keyword: SCHEMAS */ -#line 16715 "preproc.y" +#line 16708 "preproc.y" { (yyval.str) = mm_strdup("schemas"); } -#line 61857 "preproc.c" +#line 61850 "preproc.c" break; case 3087: /* bare_label_keyword: SCROLL */ -#line 16719 "preproc.y" +#line 16712 "preproc.y" { (yyval.str) = mm_strdup("scroll"); } -#line 61865 "preproc.c" +#line 61858 "preproc.c" break; case 3088: /* bare_label_keyword: SEARCH */ -#line 16723 "preproc.y" +#line 16716 "preproc.y" { (yyval.str) = mm_strdup("search"); } -#line 61873 "preproc.c" +#line 61866 "preproc.c" break; case 3089: /* bare_label_keyword: SECURITY */ -#line 16727 "preproc.y" +#line 16720 "preproc.y" { (yyval.str) = mm_strdup("security"); } -#line 61881 "preproc.c" +#line 61874 "preproc.c" break; case 3090: /* bare_label_keyword: SELECT */ -#line 16731 "preproc.y" +#line 16724 "preproc.y" { (yyval.str) = mm_strdup("select"); } -#line 61889 "preproc.c" +#line 61882 "preproc.c" break; case 3091: /* bare_label_keyword: SEQUENCE */ -#line 16735 "preproc.y" +#line 16728 "preproc.y" { (yyval.str) = mm_strdup("sequence"); } -#line 61897 "preproc.c" +#line 61890 "preproc.c" break; case 3092: /* bare_label_keyword: SEQUENCES */ -#line 16739 "preproc.y" +#line 16732 "preproc.y" { (yyval.str) = mm_strdup("sequences"); } -#line 61905 "preproc.c" +#line 61898 "preproc.c" break; case 3093: /* bare_label_keyword: SERIALIZABLE */ -#line 16743 "preproc.y" +#line 16736 "preproc.y" { (yyval.str) = mm_strdup("serializable"); } -#line 61913 "preproc.c" +#line 61906 "preproc.c" break; case 3094: /* bare_label_keyword: SERVER */ -#line 16747 "preproc.y" +#line 16740 "preproc.y" { (yyval.str) = mm_strdup("server"); } -#line 61921 "preproc.c" +#line 61914 "preproc.c" break; case 3095: /* bare_label_keyword: SESSION */ -#line 16751 "preproc.y" +#line 16744 "preproc.y" { (yyval.str) = mm_strdup("session"); } -#line 61929 "preproc.c" +#line 61922 "preproc.c" break; case 3096: /* bare_label_keyword: SESSION_USER */ -#line 16755 "preproc.y" +#line 16748 "preproc.y" { (yyval.str) = mm_strdup("session_user"); } -#line 61937 "preproc.c" +#line 61930 "preproc.c" break; case 3097: /* bare_label_keyword: SET */ -#line 16759 "preproc.y" +#line 16752 "preproc.y" { (yyval.str) = mm_strdup("set"); } -#line 61945 "preproc.c" +#line 61938 "preproc.c" break; case 3098: /* bare_label_keyword: SETOF */ -#line 16763 "preproc.y" +#line 16756 "preproc.y" { (yyval.str) = mm_strdup("setof"); } -#line 61953 "preproc.c" +#line 61946 "preproc.c" break; case 3099: /* bare_label_keyword: SETS */ -#line 16767 "preproc.y" +#line 16760 "preproc.y" { (yyval.str) = mm_strdup("sets"); } -#line 61961 "preproc.c" +#line 61954 "preproc.c" break; case 3100: /* bare_label_keyword: SHARE */ -#line 16771 "preproc.y" +#line 16764 "preproc.y" { (yyval.str) = mm_strdup("share"); } -#line 61969 "preproc.c" +#line 61962 "preproc.c" break; case 3101: /* bare_label_keyword: SHOW */ -#line 16775 "preproc.y" +#line 16768 "preproc.y" { (yyval.str) = mm_strdup("show"); } -#line 61977 "preproc.c" +#line 61970 "preproc.c" break; case 3102: /* bare_label_keyword: SIMILAR */ -#line 16779 "preproc.y" +#line 16772 "preproc.y" { (yyval.str) = mm_strdup("similar"); } -#line 61985 "preproc.c" +#line 61978 "preproc.c" break; case 3103: /* bare_label_keyword: SIMPLE */ -#line 16783 "preproc.y" +#line 16776 "preproc.y" { (yyval.str) = mm_strdup("simple"); } -#line 61993 "preproc.c" +#line 61986 "preproc.c" break; case 3104: /* bare_label_keyword: SKIP */ -#line 16787 "preproc.y" +#line 16780 "preproc.y" { (yyval.str) = mm_strdup("skip"); } -#line 62001 "preproc.c" +#line 61994 "preproc.c" break; case 3105: /* bare_label_keyword: SMALLINT */ -#line 16791 "preproc.y" +#line 16784 "preproc.y" { (yyval.str) = mm_strdup("smallint"); } -#line 62009 "preproc.c" +#line 62002 "preproc.c" break; case 3106: /* bare_label_keyword: SNAPSHOT */ -#line 16795 "preproc.y" +#line 16788 "preproc.y" { (yyval.str) = mm_strdup("snapshot"); } -#line 62017 "preproc.c" +#line 62010 "preproc.c" break; case 3107: /* bare_label_keyword: SOME */ -#line 16799 "preproc.y" +#line 16792 "preproc.y" { (yyval.str) = mm_strdup("some"); } -#line 62025 "preproc.c" +#line 62018 "preproc.c" break; case 3108: /* bare_label_keyword: SQL_P */ -#line 16803 "preproc.y" +#line 16796 "preproc.y" { (yyval.str) = mm_strdup("sql"); } -#line 62033 "preproc.c" +#line 62026 "preproc.c" break; case 3109: /* bare_label_keyword: STABLE */ -#line 16807 "preproc.y" +#line 16800 "preproc.y" { (yyval.str) = mm_strdup("stable"); } -#line 62041 "preproc.c" +#line 62034 "preproc.c" break; case 3110: /* bare_label_keyword: STANDALONE_P */ -#line 16811 "preproc.y" +#line 16804 "preproc.y" { (yyval.str) = mm_strdup("standalone"); } -#line 62049 "preproc.c" +#line 62042 "preproc.c" break; case 3111: /* bare_label_keyword: START */ -#line 16815 "preproc.y" +#line 16808 "preproc.y" { (yyval.str) = mm_strdup("start"); } -#line 62057 "preproc.c" +#line 62050 "preproc.c" break; case 3112: /* bare_label_keyword: STATEMENT */ -#line 16819 "preproc.y" +#line 16812 "preproc.y" { (yyval.str) = mm_strdup("statement"); } -#line 62065 "preproc.c" +#line 62058 "preproc.c" break; case 3113: /* bare_label_keyword: STATISTICS */ -#line 16823 "preproc.y" +#line 16816 "preproc.y" { (yyval.str) = mm_strdup("statistics"); } -#line 62073 "preproc.c" +#line 62066 "preproc.c" break; case 3114: /* bare_label_keyword: STDIN */ -#line 16827 "preproc.y" +#line 16820 "preproc.y" { (yyval.str) = mm_strdup("stdin"); } -#line 62081 "preproc.c" +#line 62074 "preproc.c" break; case 3115: /* bare_label_keyword: STDOUT */ -#line 16831 "preproc.y" +#line 16824 "preproc.y" { (yyval.str) = mm_strdup("stdout"); } -#line 62089 "preproc.c" +#line 62082 "preproc.c" break; case 3116: /* bare_label_keyword: STORAGE */ -#line 16835 "preproc.y" +#line 16828 "preproc.y" { (yyval.str) = mm_strdup("storage"); } -#line 62097 "preproc.c" +#line 62090 "preproc.c" break; case 3117: /* bare_label_keyword: STORED */ -#line 16839 "preproc.y" +#line 16832 "preproc.y" { (yyval.str) = mm_strdup("stored"); } -#line 62105 "preproc.c" +#line 62098 "preproc.c" break; case 3118: /* bare_label_keyword: STRICT_P */ -#line 16843 "preproc.y" +#line 16836 "preproc.y" { (yyval.str) = mm_strdup("strict"); } -#line 62113 "preproc.c" +#line 62106 "preproc.c" break; case 3119: /* bare_label_keyword: STRIP_P */ -#line 16847 "preproc.y" +#line 16840 "preproc.y" { (yyval.str) = mm_strdup("strip"); } -#line 62121 "preproc.c" +#line 62114 "preproc.c" break; case 3120: /* bare_label_keyword: SUBSCRIPTION */ -#line 16851 "preproc.y" +#line 16844 "preproc.y" { (yyval.str) = mm_strdup("subscription"); } -#line 62129 "preproc.c" +#line 62122 "preproc.c" break; case 3121: /* bare_label_keyword: SUBSTRING */ -#line 16855 "preproc.y" +#line 16848 "preproc.y" { (yyval.str) = mm_strdup("substring"); } -#line 62137 "preproc.c" +#line 62130 "preproc.c" break; case 3122: /* bare_label_keyword: SUPPORT */ -#line 16859 "preproc.y" +#line 16852 "preproc.y" { (yyval.str) = mm_strdup("support"); } -#line 62145 "preproc.c" +#line 62138 "preproc.c" break; case 3123: /* bare_label_keyword: SYMMETRIC */ -#line 16863 "preproc.y" +#line 16856 "preproc.y" { (yyval.str) = mm_strdup("symmetric"); } -#line 62153 "preproc.c" +#line 62146 "preproc.c" break; case 3124: /* bare_label_keyword: SYSID */ -#line 16867 "preproc.y" +#line 16860 "preproc.y" { (yyval.str) = mm_strdup("sysid"); } -#line 62161 "preproc.c" +#line 62154 "preproc.c" break; case 3125: /* bare_label_keyword: SYSTEM_P */ -#line 16871 "preproc.y" +#line 16864 "preproc.y" { (yyval.str) = mm_strdup("system"); } -#line 62169 "preproc.c" +#line 62162 "preproc.c" break; case 3126: /* bare_label_keyword: TABLE */ -#line 16875 "preproc.y" +#line 16868 "preproc.y" { (yyval.str) = mm_strdup("table"); } -#line 62177 "preproc.c" +#line 62170 "preproc.c" break; case 3127: /* bare_label_keyword: TABLES */ -#line 16879 "preproc.y" +#line 16872 "preproc.y" { (yyval.str) = mm_strdup("tables"); } -#line 62185 "preproc.c" +#line 62178 "preproc.c" break; case 3128: /* bare_label_keyword: TABLESAMPLE */ -#line 16883 "preproc.y" +#line 16876 "preproc.y" { (yyval.str) = mm_strdup("tablesample"); } -#line 62193 "preproc.c" +#line 62186 "preproc.c" break; case 3129: /* bare_label_keyword: TABLESPACE */ -#line 16887 "preproc.y" +#line 16880 "preproc.y" { (yyval.str) = mm_strdup("tablespace"); } -#line 62201 "preproc.c" +#line 62194 "preproc.c" break; case 3130: /* bare_label_keyword: TEMP */ -#line 16891 "preproc.y" +#line 16884 "preproc.y" { (yyval.str) = mm_strdup("temp"); } -#line 62209 "preproc.c" +#line 62202 "preproc.c" break; case 3131: /* bare_label_keyword: TEMPLATE */ -#line 16895 "preproc.y" +#line 16888 "preproc.y" { (yyval.str) = mm_strdup("template"); } -#line 62217 "preproc.c" +#line 62210 "preproc.c" break; case 3132: /* bare_label_keyword: TEMPORARY */ -#line 16899 "preproc.y" +#line 16892 "preproc.y" { (yyval.str) = mm_strdup("temporary"); } -#line 62225 "preproc.c" +#line 62218 "preproc.c" break; case 3133: /* bare_label_keyword: TEXT_P */ -#line 16903 "preproc.y" +#line 16896 "preproc.y" { (yyval.str) = mm_strdup("text"); } -#line 62233 "preproc.c" +#line 62226 "preproc.c" break; case 3134: /* bare_label_keyword: THEN */ -#line 16907 "preproc.y" +#line 16900 "preproc.y" { (yyval.str) = mm_strdup("then"); } -#line 62241 "preproc.c" +#line 62234 "preproc.c" break; case 3135: /* bare_label_keyword: TIES */ -#line 16911 "preproc.y" +#line 16904 "preproc.y" { (yyval.str) = mm_strdup("ties"); } -#line 62249 "preproc.c" +#line 62242 "preproc.c" break; case 3136: /* bare_label_keyword: TIME */ -#line 16915 "preproc.y" +#line 16908 "preproc.y" { (yyval.str) = mm_strdup("time"); } -#line 62257 "preproc.c" +#line 62250 "preproc.c" break; case 3137: /* bare_label_keyword: TIMESTAMP */ -#line 16919 "preproc.y" +#line 16912 "preproc.y" { (yyval.str) = mm_strdup("timestamp"); } -#line 62265 "preproc.c" +#line 62258 "preproc.c" break; case 3138: /* bare_label_keyword: TRAILING */ -#line 16923 "preproc.y" +#line 16916 "preproc.y" { (yyval.str) = mm_strdup("trailing"); } -#line 62273 "preproc.c" +#line 62266 "preproc.c" break; case 3139: /* bare_label_keyword: TRANSACTION */ -#line 16927 "preproc.y" +#line 16920 "preproc.y" { (yyval.str) = mm_strdup("transaction"); } -#line 62281 "preproc.c" +#line 62274 "preproc.c" break; case 3140: /* bare_label_keyword: TRANSFORM */ -#line 16931 "preproc.y" +#line 16924 "preproc.y" { (yyval.str) = mm_strdup("transform"); } -#line 62289 "preproc.c" +#line 62282 "preproc.c" break; case 3141: /* bare_label_keyword: TREAT */ -#line 16935 "preproc.y" +#line 16928 "preproc.y" { (yyval.str) = mm_strdup("treat"); } -#line 62297 "preproc.c" +#line 62290 "preproc.c" break; case 3142: /* bare_label_keyword: TRIGGER */ -#line 16939 "preproc.y" +#line 16932 "preproc.y" { (yyval.str) = mm_strdup("trigger"); } -#line 62305 "preproc.c" +#line 62298 "preproc.c" break; case 3143: /* bare_label_keyword: TRIM */ -#line 16943 "preproc.y" +#line 16936 "preproc.y" { (yyval.str) = mm_strdup("trim"); } -#line 62313 "preproc.c" +#line 62306 "preproc.c" break; case 3144: /* bare_label_keyword: TRUE_P */ -#line 16947 "preproc.y" +#line 16940 "preproc.y" { (yyval.str) = mm_strdup("true"); } -#line 62321 "preproc.c" +#line 62314 "preproc.c" break; case 3145: /* bare_label_keyword: TRUNCATE */ -#line 16951 "preproc.y" +#line 16944 "preproc.y" { (yyval.str) = mm_strdup("truncate"); } -#line 62329 "preproc.c" +#line 62322 "preproc.c" break; case 3146: /* bare_label_keyword: TRUSTED */ -#line 16955 "preproc.y" +#line 16948 "preproc.y" { (yyval.str) = mm_strdup("trusted"); } -#line 62337 "preproc.c" +#line 62330 "preproc.c" break; case 3147: /* bare_label_keyword: TYPE_P */ -#line 16959 "preproc.y" +#line 16952 "preproc.y" { (yyval.str) = mm_strdup("type"); } -#line 62345 "preproc.c" +#line 62338 "preproc.c" break; case 3148: /* bare_label_keyword: TYPES_P */ -#line 16963 "preproc.y" +#line 16956 "preproc.y" { (yyval.str) = mm_strdup("types"); } -#line 62353 "preproc.c" +#line 62346 "preproc.c" break; case 3149: /* bare_label_keyword: UESCAPE */ -#line 16967 "preproc.y" +#line 16960 "preproc.y" { (yyval.str) = mm_strdup("uescape"); } -#line 62361 "preproc.c" +#line 62354 "preproc.c" break; case 3150: /* bare_label_keyword: UNBOUNDED */ -#line 16971 "preproc.y" +#line 16964 "preproc.y" { (yyval.str) = mm_strdup("unbounded"); } -#line 62369 "preproc.c" +#line 62362 "preproc.c" break; case 3151: /* bare_label_keyword: UNCOMMITTED */ -#line 16975 "preproc.y" +#line 16968 "preproc.y" { (yyval.str) = mm_strdup("uncommitted"); } -#line 62377 "preproc.c" +#line 62370 "preproc.c" break; case 3152: /* bare_label_keyword: UNENCRYPTED */ -#line 16979 "preproc.y" +#line 16972 "preproc.y" { (yyval.str) = mm_strdup("unencrypted"); } -#line 62385 "preproc.c" +#line 62378 "preproc.c" break; case 3153: /* bare_label_keyword: UNIQUE */ -#line 16983 "preproc.y" +#line 16976 "preproc.y" { (yyval.str) = mm_strdup("unique"); } -#line 62393 "preproc.c" +#line 62386 "preproc.c" break; case 3154: /* bare_label_keyword: UNKNOWN */ -#line 16987 "preproc.y" +#line 16980 "preproc.y" { (yyval.str) = mm_strdup("unknown"); } -#line 62401 "preproc.c" +#line 62394 "preproc.c" break; case 3155: /* bare_label_keyword: UNLISTEN */ -#line 16991 "preproc.y" +#line 16984 "preproc.y" { (yyval.str) = mm_strdup("unlisten"); } -#line 62409 "preproc.c" +#line 62402 "preproc.c" break; case 3156: /* bare_label_keyword: UNLOGGED */ -#line 16995 "preproc.y" +#line 16988 "preproc.y" { (yyval.str) = mm_strdup("unlogged"); } -#line 62417 "preproc.c" +#line 62410 "preproc.c" break; case 3157: /* bare_label_keyword: UNTIL */ -#line 16999 "preproc.y" +#line 16992 "preproc.y" { (yyval.str) = mm_strdup("until"); } -#line 62425 "preproc.c" +#line 62418 "preproc.c" break; case 3158: /* bare_label_keyword: UPDATE */ -#line 17003 "preproc.y" +#line 16996 "preproc.y" { (yyval.str) = mm_strdup("update"); } -#line 62433 "preproc.c" +#line 62426 "preproc.c" break; case 3159: /* bare_label_keyword: USER */ -#line 17007 "preproc.y" +#line 17000 "preproc.y" { (yyval.str) = mm_strdup("user"); } -#line 62441 "preproc.c" +#line 62434 "preproc.c" break; case 3160: /* bare_label_keyword: USING */ -#line 17011 "preproc.y" +#line 17004 "preproc.y" { (yyval.str) = mm_strdup("using"); } -#line 62449 "preproc.c" +#line 62442 "preproc.c" break; case 3161: /* bare_label_keyword: VACUUM */ -#line 17015 "preproc.y" +#line 17008 "preproc.y" { (yyval.str) = mm_strdup("vacuum"); } -#line 62457 "preproc.c" +#line 62450 "preproc.c" break; case 3162: /* bare_label_keyword: VALID */ -#line 17019 "preproc.y" +#line 17012 "preproc.y" { (yyval.str) = mm_strdup("valid"); } -#line 62465 "preproc.c" +#line 62458 "preproc.c" break; case 3163: /* bare_label_keyword: VALIDATE */ -#line 17023 "preproc.y" +#line 17016 "preproc.y" { (yyval.str) = mm_strdup("validate"); } -#line 62473 "preproc.c" +#line 62466 "preproc.c" break; case 3164: /* bare_label_keyword: VALIDATOR */ -#line 17027 "preproc.y" +#line 17020 "preproc.y" { (yyval.str) = mm_strdup("validator"); } -#line 62481 "preproc.c" +#line 62474 "preproc.c" break; case 3165: /* bare_label_keyword: VALUE_P */ -#line 17031 "preproc.y" +#line 17024 "preproc.y" { (yyval.str) = mm_strdup("value"); } -#line 62489 "preproc.c" +#line 62482 "preproc.c" break; case 3166: /* bare_label_keyword: VALUES */ -#line 17035 "preproc.y" +#line 17028 "preproc.y" { (yyval.str) = mm_strdup("values"); } -#line 62497 "preproc.c" +#line 62490 "preproc.c" break; case 3167: /* bare_label_keyword: VARCHAR */ -#line 17039 "preproc.y" +#line 17032 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } -#line 62505 "preproc.c" +#line 62498 "preproc.c" break; case 3168: /* bare_label_keyword: VARIADIC */ -#line 17043 "preproc.y" +#line 17036 "preproc.y" { (yyval.str) = mm_strdup("variadic"); } -#line 62513 "preproc.c" +#line 62506 "preproc.c" break; case 3169: /* bare_label_keyword: VERBOSE */ -#line 17047 "preproc.y" +#line 17040 "preproc.y" { (yyval.str) = mm_strdup("verbose"); } -#line 62521 "preproc.c" +#line 62514 "preproc.c" break; case 3170: /* bare_label_keyword: VERSION_P */ -#line 17051 "preproc.y" +#line 17044 "preproc.y" { (yyval.str) = mm_strdup("version"); } -#line 62529 "preproc.c" +#line 62522 "preproc.c" break; case 3171: /* bare_label_keyword: VIEW */ -#line 17055 "preproc.y" +#line 17048 "preproc.y" { (yyval.str) = mm_strdup("view"); } -#line 62537 "preproc.c" +#line 62530 "preproc.c" break; case 3172: /* bare_label_keyword: VIEWS */ -#line 17059 "preproc.y" +#line 17052 "preproc.y" { (yyval.str) = mm_strdup("views"); } -#line 62545 "preproc.c" +#line 62538 "preproc.c" break; case 3173: /* bare_label_keyword: VOLATILE */ -#line 17063 "preproc.y" +#line 17056 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } -#line 62553 "preproc.c" +#line 62546 "preproc.c" break; case 3174: /* bare_label_keyword: WHEN */ -#line 17067 "preproc.y" +#line 17060 "preproc.y" { (yyval.str) = mm_strdup("when"); } -#line 62561 "preproc.c" +#line 62554 "preproc.c" break; case 3175: /* bare_label_keyword: WHITESPACE_P */ -#line 17071 "preproc.y" +#line 17064 "preproc.y" { (yyval.str) = mm_strdup("whitespace"); } -#line 62569 "preproc.c" +#line 62562 "preproc.c" break; case 3176: /* bare_label_keyword: WORK */ -#line 17075 "preproc.y" +#line 17068 "preproc.y" { (yyval.str) = mm_strdup("work"); } -#line 62577 "preproc.c" +#line 62570 "preproc.c" break; case 3177: /* bare_label_keyword: WRAPPER */ -#line 17079 "preproc.y" +#line 17072 "preproc.y" { (yyval.str) = mm_strdup("wrapper"); } -#line 62585 "preproc.c" +#line 62578 "preproc.c" break; case 3178: /* bare_label_keyword: WRITE */ -#line 17083 "preproc.y" +#line 17076 "preproc.y" { (yyval.str) = mm_strdup("write"); } -#line 62593 "preproc.c" +#line 62586 "preproc.c" break; case 3179: /* bare_label_keyword: XML_P */ -#line 17087 "preproc.y" +#line 17080 "preproc.y" { (yyval.str) = mm_strdup("xml"); } -#line 62601 "preproc.c" +#line 62594 "preproc.c" break; case 3180: /* bare_label_keyword: XMLATTRIBUTES */ -#line 17091 "preproc.y" +#line 17084 "preproc.y" { (yyval.str) = mm_strdup("xmlattributes"); } -#line 62609 "preproc.c" +#line 62602 "preproc.c" break; case 3181: /* bare_label_keyword: XMLCONCAT */ -#line 17095 "preproc.y" +#line 17088 "preproc.y" { (yyval.str) = mm_strdup("xmlconcat"); } -#line 62617 "preproc.c" +#line 62610 "preproc.c" break; case 3182: /* bare_label_keyword: XMLELEMENT */ -#line 17099 "preproc.y" +#line 17092 "preproc.y" { (yyval.str) = mm_strdup("xmlelement"); } -#line 62625 "preproc.c" +#line 62618 "preproc.c" break; case 3183: /* bare_label_keyword: XMLEXISTS */ -#line 17103 "preproc.y" +#line 17096 "preproc.y" { (yyval.str) = mm_strdup("xmlexists"); } -#line 62633 "preproc.c" +#line 62626 "preproc.c" break; case 3184: /* bare_label_keyword: XMLFOREST */ -#line 17107 "preproc.y" +#line 17100 "preproc.y" { (yyval.str) = mm_strdup("xmlforest"); } -#line 62641 "preproc.c" +#line 62634 "preproc.c" break; case 3185: /* bare_label_keyword: XMLNAMESPACES */ -#line 17111 "preproc.y" +#line 17104 "preproc.y" { (yyval.str) = mm_strdup("xmlnamespaces"); } -#line 62649 "preproc.c" +#line 62642 "preproc.c" break; case 3186: /* bare_label_keyword: XMLPARSE */ -#line 17115 "preproc.y" +#line 17108 "preproc.y" { (yyval.str) = mm_strdup("xmlparse"); } -#line 62657 "preproc.c" +#line 62650 "preproc.c" break; case 3187: /* bare_label_keyword: XMLPI */ -#line 17119 "preproc.y" +#line 17112 "preproc.y" { (yyval.str) = mm_strdup("xmlpi"); } -#line 62665 "preproc.c" +#line 62658 "preproc.c" break; case 3188: /* bare_label_keyword: XMLROOT */ -#line 17123 "preproc.y" +#line 17116 "preproc.y" { (yyval.str) = mm_strdup("xmlroot"); } -#line 62673 "preproc.c" +#line 62666 "preproc.c" break; case 3189: /* bare_label_keyword: XMLSERIALIZE */ -#line 17127 "preproc.y" +#line 17120 "preproc.y" { (yyval.str) = mm_strdup("xmlserialize"); } -#line 62681 "preproc.c" +#line 62674 "preproc.c" break; case 3190: /* bare_label_keyword: XMLTABLE */ -#line 17131 "preproc.y" +#line 17124 "preproc.y" { (yyval.str) = mm_strdup("xmltable"); } -#line 62689 "preproc.c" +#line 62682 "preproc.c" break; case 3191: /* bare_label_keyword: YES_P */ -#line 17135 "preproc.y" +#line 17128 "preproc.y" { (yyval.str) = mm_strdup("yes"); } -#line 62697 "preproc.c" +#line 62690 "preproc.c" break; case 3192: /* bare_label_keyword: ZONE */ -#line 17139 "preproc.y" +#line 17132 "preproc.y" { (yyval.str) = mm_strdup("zone"); } -#line 62705 "preproc.c" +#line 62698 "preproc.c" break; case 3195: /* statement: ecpgstart at toplevel_stmt ';' */ -#line 17153 "preproc.y" +#line 17146 "preproc.y" { if (connection) free(connection); connection = NULL; } -#line 62715 "preproc.c" +#line 62708 "preproc.c" break; case 3196: /* statement: ecpgstart toplevel_stmt ';' */ -#line 17159 "preproc.y" +#line 17152 "preproc.y" { if (connection) free(connection); connection = NULL; } -#line 62725 "preproc.c" +#line 62718 "preproc.c" break; case 3197: /* statement: ecpgstart ECPGVarDeclaration */ -#line 17165 "preproc.y" +#line 17158 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); output_line_number(); } -#line 62735 "preproc.c" +#line 62728 "preproc.c" break; case 3199: /* statement: c_thing */ -#line 17171 "preproc.y" +#line 17164 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 62741 "preproc.c" +#line 62734 "preproc.c" break; case 3200: /* statement: CPP_LINE */ -#line 17172 "preproc.y" +#line 17165 "preproc.y" { fprintf(base_yyout, "%s", (yyvsp[0].str)); free((yyvsp[0].str)); } -#line 62747 "preproc.c" +#line 62740 "preproc.c" break; case 3201: /* statement: '{' */ -#line 17173 "preproc.y" +#line 17166 "preproc.y" { braces_open++; fputs("{", base_yyout); } -#line 62753 "preproc.c" +#line 62746 "preproc.c" break; case 3202: /* statement: '}' */ -#line 17175 "preproc.y" +#line 17168 "preproc.y" { remove_typedefs(braces_open); remove_variables(braces_open--); @@ -62764,45 +62757,45 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") } fputs("}", base_yyout); } -#line 62768 "preproc.c" +#line 62761 "preproc.c" break; case 3203: /* $@1: %empty */ -#line 17187 "preproc.y" +#line 17180 "preproc.y" {FoundInto = 0;} -#line 62774 "preproc.c" +#line 62767 "preproc.c" break; case 3204: /* CreateAsStmt: CREATE OptTemp TABLE create_as_target AS $@1 SelectStmt opt_with_data */ -#line 17188 "preproc.y" +#line 17181 "preproc.y" { if (FoundInto == 1) mmerror(PARSE_ERROR, ET_ERROR, "CREATE TABLE AS cannot specify INTO"); (yyval.str) = cat_str(7, mm_strdup("create"), (yyvsp[-6].str), mm_strdup("table"), (yyvsp[-4].str), mm_strdup("as"), (yyvsp[-1].str), (yyvsp[0].str)); } -#line 62785 "preproc.c" +#line 62778 "preproc.c" break; case 3205: /* $@2: %empty */ -#line 17194 "preproc.y" +#line 17187 "preproc.y" {FoundInto = 0;} -#line 62791 "preproc.c" +#line 62784 "preproc.c" break; case 3206: /* CreateAsStmt: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS $@2 SelectStmt opt_with_data */ -#line 17195 "preproc.y" +#line 17188 "preproc.y" { if (FoundInto == 1) mmerror(PARSE_ERROR, ET_ERROR, "CREATE TABLE AS cannot specify INTO"); (yyval.str) = cat_str(7, mm_strdup("create"), (yyvsp[-9].str), mm_strdup("table if not exists"), (yyvsp[-4].str), mm_strdup("as"), (yyvsp[-1].str), (yyvsp[0].str)); } -#line 62802 "preproc.c" +#line 62795 "preproc.c" break; case 3207: /* at: AT connection_object */ -#line 17204 "preproc.y" +#line 17197 "preproc.y" { connection = (yyvsp[0].str); /* @@ -62812,35 +62805,35 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") if (argsinsert != NULL) argsinsert = NULL; } -#line 62816 "preproc.c" +#line 62809 "preproc.c" break; case 3208: /* ECPGConnect: SQL_CONNECT TO connection_target opt_connection_name opt_user */ -#line 17219 "preproc.y" +#line 17212 "preproc.y" { (yyval.str) = cat_str(5, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str), mm_strdup(","), (yyvsp[-1].str)); } -#line 62822 "preproc.c" +#line 62815 "preproc.c" break; case 3209: /* ECPGConnect: SQL_CONNECT TO DEFAULT */ -#line 17221 "preproc.y" +#line 17214 "preproc.y" { (yyval.str) = mm_strdup("NULL, NULL, NULL, \"DEFAULT\""); } -#line 62828 "preproc.c" +#line 62821 "preproc.c" break; case 3210: /* ECPGConnect: SQL_CONNECT ora_user */ -#line 17224 "preproc.y" +#line 17217 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("NULL,"), (yyvsp[0].str), mm_strdup(", NULL")); } -#line 62834 "preproc.c" +#line 62827 "preproc.c" break; case 3211: /* ECPGConnect: DATABASE connection_target */ -#line 17226 "preproc.y" +#line 17219 "preproc.y" { (yyval.str) = cat2_str((yyvsp[0].str), mm_strdup(", NULL, NULL, NULL")); } -#line 62840 "preproc.c" +#line 62833 "preproc.c" break; case 3212: /* connection_target: opt_database_name opt_server opt_port */ -#line 17230 "preproc.y" +#line 17223 "preproc.y" { /* old style: dbname[@server][:port] */ if (strlen((yyvsp[-1].str)) > 0 && *((yyvsp[-1].str)) != '@') @@ -62852,11 +62845,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") else (yyval.str) = make3_str(mm_strdup("\""), make3_str((yyvsp[-2].str), (yyvsp[-1].str), (yyvsp[0].str)), mm_strdup("\"")); } -#line 62856 "preproc.c" +#line 62849 "preproc.c" break; case 3213: /* connection_target: db_prefix ':' server opt_port '/' opt_database_name opt_options */ -#line 17242 "preproc.y" +#line 17235 "preproc.y" { /* new style: <tcp|unix>:postgresql://server[:port][/dbname] */ if (strncmp((yyvsp[-6].str), "unix:postgresql", strlen("unix:postgresql")) != 0 && strncmp((yyvsp[-6].str), "tcp:postgresql", strlen("tcp:postgresql")) != 0) @@ -62872,19 +62865,19 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = make3_str(make3_str(mm_strdup("\""), (yyvsp[-6].str), mm_strdup(":")), (yyvsp[-4].str), make3_str(make3_str((yyvsp[-3].str), mm_strdup("/"), (yyvsp[-1].str)), (yyvsp[0].str), mm_strdup("\""))); } -#line 62876 "preproc.c" +#line 62869 "preproc.c" break; case 3214: /* connection_target: char_variable */ -#line 17258 "preproc.y" +#line 17251 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 62884 "preproc.c" +#line 62877 "preproc.c" break; case 3215: /* connection_target: ecpg_sconst */ -#line 17262 "preproc.y" +#line 17255 "preproc.y" { /* We can only process double quoted strings not single quotes ones, * so we change the quotes. @@ -62893,23 +62886,23 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyvsp[0].str)[strlen((yyvsp[0].str))-1] = '\"'; (yyval.str) = (yyvsp[0].str); } -#line 62897 "preproc.c" +#line 62890 "preproc.c" break; case 3216: /* opt_database_name: name */ -#line 17272 "preproc.y" +#line 17265 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 62903 "preproc.c" +#line 62896 "preproc.c" break; case 3217: /* opt_database_name: %empty */ -#line 17273 "preproc.y" +#line 17266 "preproc.y" { (yyval.str) = EMPTY; } -#line 62909 "preproc.c" +#line 62902 "preproc.c" break; case 3218: /* db_prefix: ecpg_ident cvariable */ -#line 17277 "preproc.y" +#line 17270 "preproc.y" { if (strcmp((yyvsp[0].str), "postgresql") != 0 && strcmp((yyvsp[0].str), "postgres") != 0) mmerror(PARSE_ERROR, ET_ERROR, "expected \"postgresql\", found \"%s\"", (yyvsp[0].str)); @@ -62919,134 +62912,134 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = make3_str((yyvsp[-1].str), mm_strdup(":"), (yyvsp[0].str)); } -#line 62923 "preproc.c" +#line 62916 "preproc.c" break; case 3219: /* server: Op server_name */ -#line 17289 "preproc.y" +#line 17282 "preproc.y" { if (strcmp((yyvsp[-1].str), "@") != 0 && strcmp((yyvsp[-1].str), "//") != 0) mmerror(PARSE_ERROR, ET_ERROR, "expected \"@\" or \"://\", found \"%s\"", (yyvsp[-1].str)); (yyval.str) = make2_str((yyvsp[-1].str), (yyvsp[0].str)); } -#line 62934 "preproc.c" +#line 62927 "preproc.c" break; case 3220: /* opt_server: server */ -#line 17297 "preproc.y" +#line 17290 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 62940 "preproc.c" +#line 62933 "preproc.c" break; case 3221: /* opt_server: %empty */ -#line 17298 "preproc.y" +#line 17291 "preproc.y" { (yyval.str) = EMPTY; } -#line 62946 "preproc.c" +#line 62939 "preproc.c" break; case 3222: /* server_name: ColId */ -#line 17301 "preproc.y" +#line 17294 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 62952 "preproc.c" +#line 62945 "preproc.c" break; case 3223: /* server_name: ColId '.' server_name */ -#line 17302 "preproc.y" +#line 17295 "preproc.y" { (yyval.str) = make3_str((yyvsp[-2].str), mm_strdup("."), (yyvsp[0].str)); } -#line 62958 "preproc.c" +#line 62951 "preproc.c" break; case 3224: /* server_name: IP */ -#line 17303 "preproc.y" +#line 17296 "preproc.y" { (yyval.str) = make_name(); } -#line 62964 "preproc.c" +#line 62957 "preproc.c" break; case 3225: /* opt_port: ':' Iconst */ -#line 17306 "preproc.y" +#line 17299 "preproc.y" { (yyval.str) = make2_str(mm_strdup(":"), (yyvsp[0].str)); } -#line 62970 "preproc.c" +#line 62963 "preproc.c" break; case 3226: /* opt_port: %empty */ -#line 17307 "preproc.y" +#line 17300 "preproc.y" { (yyval.str) = EMPTY; } -#line 62976 "preproc.c" +#line 62969 "preproc.c" break; case 3227: /* opt_connection_name: AS connection_object */ -#line 17310 "preproc.y" +#line 17303 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 62982 "preproc.c" +#line 62975 "preproc.c" break; case 3228: /* opt_connection_name: %empty */ -#line 17311 "preproc.y" +#line 17304 "preproc.y" { (yyval.str) = mm_strdup("NULL"); } -#line 62988 "preproc.c" +#line 62981 "preproc.c" break; case 3229: /* opt_user: USER ora_user */ -#line 17314 "preproc.y" +#line 17307 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 62994 "preproc.c" +#line 62987 "preproc.c" break; case 3230: /* opt_user: %empty */ -#line 17315 "preproc.y" +#line 17308 "preproc.y" { (yyval.str) = mm_strdup("NULL, NULL"); } -#line 63000 "preproc.c" +#line 62993 "preproc.c" break; case 3231: /* ora_user: user_name */ -#line 17319 "preproc.y" +#line 17312 "preproc.y" { (yyval.str) = cat2_str((yyvsp[0].str), mm_strdup(", NULL")); } -#line 63006 "preproc.c" +#line 62999 "preproc.c" break; case 3232: /* ora_user: user_name '/' user_name */ -#line 17321 "preproc.y" +#line 17314 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } -#line 63012 "preproc.c" +#line 63005 "preproc.c" break; case 3233: /* ora_user: user_name SQL_IDENTIFIED BY user_name */ -#line 17323 "preproc.y" +#line 17316 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-3].str), mm_strdup(","), (yyvsp[0].str)); } -#line 63018 "preproc.c" +#line 63011 "preproc.c" break; case 3234: /* ora_user: user_name USING user_name */ -#line 17325 "preproc.y" +#line 17318 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } -#line 63024 "preproc.c" +#line 63017 "preproc.c" break; case 3235: /* user_name: RoleId */ -#line 17329 "preproc.y" +#line 17322 "preproc.y" { if ((yyvsp[0].str)[0] == '\"') (yyval.str) = (yyvsp[0].str); else (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } -#line 63035 "preproc.c" +#line 63028 "preproc.c" break; case 3236: /* user_name: ecpg_sconst */ -#line 17336 "preproc.y" +#line 17329 "preproc.y" { if ((yyvsp[0].str)[0] == '\"') (yyval.str) = (yyvsp[0].str); else (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } -#line 63046 "preproc.c" +#line 63039 "preproc.c" break; case 3237: /* user_name: civar */ -#line 17343 "preproc.y" +#line 17336 "preproc.y" { enum ECPGttype type = argsinsert->variable->type->type; @@ -63060,11 +63053,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") else (yyval.str) = mm_strdup(argsinsert->variable->name); } -#line 63064 "preproc.c" +#line 63057 "preproc.c" break; case 3238: /* char_variable: cvariable */ -#line 17359 "preproc.y" +#line 17352 "preproc.y" { /* check if we have a string variable */ struct variable *p = find_variable((yyvsp[0].str)); @@ -63096,11 +63089,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") } } } -#line 63100 "preproc.c" +#line 63093 "preproc.c" break; case 3239: /* opt_options: Op connect_options */ -#line 17393 "preproc.y" +#line 17386 "preproc.y" { if (strlen((yyvsp[-1].str)) == 0) mmerror(PARSE_ERROR, ET_ERROR, "incomplete statement"); @@ -63110,25 +63103,25 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = make2_str(mm_strdup("?"), (yyvsp[0].str)); } -#line 63114 "preproc.c" +#line 63107 "preproc.c" break; case 3240: /* opt_options: %empty */ -#line 17402 "preproc.y" +#line 17395 "preproc.y" { (yyval.str) = EMPTY; } -#line 63120 "preproc.c" +#line 63113 "preproc.c" break; case 3241: /* connect_options: ColId opt_opt_value */ -#line 17406 "preproc.y" +#line 17399 "preproc.y" { (yyval.str) = make2_str((yyvsp[-1].str), (yyvsp[0].str)); } -#line 63128 "preproc.c" +#line 63121 "preproc.c" break; case 3242: /* connect_options: ColId opt_opt_value Op connect_options */ -#line 17410 "preproc.y" +#line 17403 "preproc.y" { if (strlen((yyvsp[-1].str)) == 0) mmerror(PARSE_ERROR, ET_ERROR, "incomplete statement"); @@ -63138,35 +63131,35 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3, make2_str((yyvsp[-3].str), (yyvsp[-2].str)), (yyvsp[-1].str), (yyvsp[0].str)); } -#line 63142 "preproc.c" +#line 63135 "preproc.c" break; case 3243: /* opt_opt_value: %empty */ -#line 17422 "preproc.y" +#line 17415 "preproc.y" { (yyval.str) = EMPTY; } -#line 63148 "preproc.c" +#line 63141 "preproc.c" break; case 3244: /* opt_opt_value: '=' Iconst */ -#line 17424 "preproc.y" +#line 17417 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } -#line 63154 "preproc.c" +#line 63147 "preproc.c" break; case 3245: /* opt_opt_value: '=' ecpg_ident */ -#line 17426 "preproc.y" +#line 17419 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } -#line 63160 "preproc.c" +#line 63153 "preproc.c" break; case 3246: /* opt_opt_value: '=' civar */ -#line 17428 "preproc.y" +#line 17421 "preproc.y" { (yyval.str) = make2_str(mm_strdup("="), (yyvsp[0].str)); } -#line 63166 "preproc.c" +#line 63159 "preproc.c" break; case 3247: /* prepared_name: name */ -#line 17432 "preproc.y" +#line 17425 "preproc.y" { if ((yyvsp[0].str)[0] == '\"' && (yyvsp[0].str)[strlen((yyvsp[0].str))-1] == '\"') /* already quoted? */ (yyval.str) = (yyvsp[0].str); @@ -63180,17 +63173,17 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } } -#line 63184 "preproc.c" +#line 63177 "preproc.c" break; case 3248: /* prepared_name: char_variable */ -#line 17445 "preproc.y" +#line 17438 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63190 "preproc.c" +#line 63183 "preproc.c" break; case 3249: /* ECPGDeclareStmt: DECLARE prepared_name STATEMENT */ -#line 17452 "preproc.y" +#line 17445 "preproc.y" { struct declared_list *ptr = NULL; /* Check whether the declared name has been defined or not */ @@ -63221,11 +63214,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(3 , mm_strdup("/* declare "), mm_strdup((yyvsp[-1].str)), mm_strdup(" as an SQL identifier */")); } -#line 63225 "preproc.c" +#line 63218 "preproc.c" break; case 3250: /* ECPGCursorStmt: DECLARE cursor_name cursor_options CURSOR opt_hold FOR prepared_name */ -#line 17489 "preproc.y" +#line 17482 "preproc.y" { struct cursor *ptr, *this; char *cursor_marker = (yyvsp[-5].str)[0] == ':' ? mm_strdup("$0") : mm_strdup((yyvsp[-5].str)); @@ -63285,167 +63278,167 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(2, adjust_outofscope_cursor_vars(this), comment); } -#line 63289 "preproc.c" +#line 63282 "preproc.c" break; case 3251: /* ECPGExecuteImmediateStmt: EXECUTE IMMEDIATE execstring */ -#line 17551 "preproc.y" +#line 17544 "preproc.y" { /* execute immediate means prepare the statement and * immediately execute it */ (yyval.str) = (yyvsp[0].str); } -#line 63299 "preproc.c" +#line 63292 "preproc.c" break; case 3253: /* single_vt_declaration: type_declaration */ -#line 17561 "preproc.y" +#line 17554 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63305 "preproc.c" +#line 63298 "preproc.c" break; case 3254: /* single_vt_declaration: var_declaration */ -#line 17562 "preproc.y" +#line 17555 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63311 "preproc.c" +#line 63304 "preproc.c" break; case 3255: /* precision: NumericOnly */ -#line 17565 "preproc.y" +#line 17558 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63317 "preproc.c" +#line 63310 "preproc.c" break; case 3256: /* opt_scale: ',' NumericOnly */ -#line 17567 "preproc.y" +#line 17560 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63323 "preproc.c" +#line 63316 "preproc.c" break; case 3257: /* opt_scale: %empty */ -#line 17568 "preproc.y" +#line 17561 "preproc.y" { (yyval.str) = EMPTY; } -#line 63329 "preproc.c" +#line 63322 "preproc.c" break; case 3258: /* ecpg_interval: opt_interval */ -#line 17571 "preproc.y" +#line 17564 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63335 "preproc.c" +#line 63328 "preproc.c" break; case 3259: /* ecpg_interval: YEAR_P TO MINUTE_P */ -#line 17572 "preproc.y" +#line 17565 "preproc.y" { (yyval.str) = mm_strdup("year to minute"); } -#line 63341 "preproc.c" +#line 63334 "preproc.c" break; case 3260: /* ecpg_interval: YEAR_P TO SECOND_P */ -#line 17573 "preproc.y" +#line 17566 "preproc.y" { (yyval.str) = mm_strdup("year to second"); } -#line 63347 "preproc.c" +#line 63340 "preproc.c" break; case 3261: /* ecpg_interval: DAY_P TO DAY_P */ -#line 17574 "preproc.y" +#line 17567 "preproc.y" { (yyval.str) = mm_strdup("day to day"); } -#line 63353 "preproc.c" +#line 63346 "preproc.c" break; case 3262: /* ecpg_interval: MONTH_P TO MONTH_P */ -#line 17575 "preproc.y" +#line 17568 "preproc.y" { (yyval.str) = mm_strdup("month to month"); } -#line 63359 "preproc.c" +#line 63352 "preproc.c" break; case 3263: /* $@3: %empty */ -#line 17582 "preproc.y" +#line 17575 "preproc.y" { fputs("/* exec sql begin declare section */", base_yyout); } -#line 63365 "preproc.c" +#line 63358 "preproc.c" break; case 3264: /* ECPGDeclaration: sql_startdeclare $@3 var_type_declarations sql_enddeclare */ -#line 17584 "preproc.y" +#line 17577 "preproc.y" { fprintf(base_yyout, "%s/* exec sql end declare section */", (yyvsp[-1].str)); free((yyvsp[-1].str)); output_line_number(); } -#line 63375 "preproc.c" +#line 63368 "preproc.c" break; case 3265: /* sql_startdeclare: ecpgstart BEGIN_P DECLARE SQL_SECTION ';' */ -#line 17591 "preproc.y" +#line 17584 "preproc.y" {} -#line 63381 "preproc.c" +#line 63374 "preproc.c" break; case 3266: /* sql_enddeclare: ecpgstart END_P DECLARE SQL_SECTION ';' */ -#line 17593 "preproc.y" +#line 17586 "preproc.y" {} -#line 63387 "preproc.c" +#line 63380 "preproc.c" break; case 3267: /* var_type_declarations: %empty */ -#line 17595 "preproc.y" +#line 17588 "preproc.y" { (yyval.str) = EMPTY; } -#line 63393 "preproc.c" +#line 63386 "preproc.c" break; case 3268: /* var_type_declarations: vt_declarations */ -#line 17596 "preproc.y" +#line 17589 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63399 "preproc.c" +#line 63392 "preproc.c" break; case 3269: /* vt_declarations: single_vt_declaration */ -#line 17599 "preproc.y" +#line 17592 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63405 "preproc.c" +#line 63398 "preproc.c" break; case 3270: /* vt_declarations: CPP_LINE */ -#line 17600 "preproc.y" +#line 17593 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63411 "preproc.c" +#line 63404 "preproc.c" break; case 3271: /* vt_declarations: vt_declarations single_vt_declaration */ -#line 17601 "preproc.y" +#line 17594 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } -#line 63417 "preproc.c" +#line 63410 "preproc.c" break; case 3272: /* vt_declarations: vt_declarations CPP_LINE */ -#line 17602 "preproc.y" +#line 17595 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } -#line 63423 "preproc.c" +#line 63416 "preproc.c" break; case 3273: /* variable_declarations: var_declaration */ -#line 17605 "preproc.y" +#line 17598 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63429 "preproc.c" +#line 63422 "preproc.c" break; case 3274: /* variable_declarations: variable_declarations var_declaration */ -#line 17606 "preproc.y" +#line 17599 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } -#line 63435 "preproc.c" +#line 63428 "preproc.c" break; case 3275: /* $@4: %empty */ -#line 17610 "preproc.y" +#line 17603 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } -#line 63445 "preproc.c" +#line 63438 "preproc.c" break; case 3276: /* type_declaration: S_TYPEDEF $@4 var_type opt_pointer ECPGColLabelCommon opt_array_bounds ';' */ -#line 17616 "preproc.y" +#line 17609 "preproc.y" { add_typedef((yyvsp[-2].str), (yyvsp[-1].index).index1, (yyvsp[-1].index).index2, (yyvsp[-4].type).type_enum, (yyvsp[-4].type).type_dimension, (yyvsp[-4].type).type_index, initializer, *(yyvsp[-3].str) ? 1 : 0); @@ -63453,11 +63446,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") output_line_number(); (yyval.str) = mm_strdup(""); } -#line 63457 "preproc.c" +#line 63450 "preproc.c" break; case 3277: /* $@5: %empty */ -#line 17626 "preproc.y" +#line 17619 "preproc.y" { actual_type[struct_level].type_storage = (yyvsp[-1].str); actual_type[struct_level].type_enum = (yyvsp[0].type).type_enum; @@ -63468,19 +63461,19 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") actual_startline[struct_level] = hashline_number(); } -#line 63472 "preproc.c" +#line 63465 "preproc.c" break; case 3278: /* var_declaration: storage_declaration var_type $@5 variable_list ';' */ -#line 17637 "preproc.y" +#line 17630 "preproc.y" { (yyval.str) = cat_str(5, actual_startline[struct_level], (yyvsp[-4].str), (yyvsp[-3].type).type_str, (yyvsp[-1].str), mm_strdup(";\n")); } -#line 63480 "preproc.c" +#line 63473 "preproc.c" break; case 3279: /* $@6: %empty */ -#line 17641 "preproc.y" +#line 17634 "preproc.y" { actual_type[struct_level].type_storage = EMPTY; actual_type[struct_level].type_enum = (yyvsp[0].type).type_enum; @@ -63491,93 +63484,93 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") actual_startline[struct_level] = hashline_number(); } -#line 63495 "preproc.c" +#line 63488 "preproc.c" break; case 3280: /* var_declaration: var_type $@6 variable_list ';' */ -#line 17652 "preproc.y" +#line 17645 "preproc.y" { (yyval.str) = cat_str(4, actual_startline[struct_level], (yyvsp[-3].type).type_str, (yyvsp[-1].str), mm_strdup(";\n")); } -#line 63503 "preproc.c" +#line 63496 "preproc.c" break; case 3281: /* var_declaration: struct_union_type_with_symbol ';' */ -#line 17656 "preproc.y" +#line 17649 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), mm_strdup(";")); } -#line 63511 "preproc.c" +#line 63504 "preproc.c" break; case 3282: /* opt_bit_field: ':' Iconst */ -#line 17661 "preproc.y" +#line 17654 "preproc.y" { (yyval.str) =cat2_str(mm_strdup(":"), (yyvsp[0].str)); } -#line 63517 "preproc.c" +#line 63510 "preproc.c" break; case 3283: /* opt_bit_field: %empty */ -#line 17662 "preproc.y" +#line 17655 "preproc.y" { (yyval.str) = EMPTY; } -#line 63523 "preproc.c" +#line 63516 "preproc.c" break; case 3284: /* storage_declaration: storage_clause storage_modifier */ -#line 17666 "preproc.y" +#line 17659 "preproc.y" {(yyval.str) = cat2_str ((yyvsp[-1].str), (yyvsp[0].str)); } -#line 63529 "preproc.c" +#line 63522 "preproc.c" break; case 3285: /* storage_declaration: storage_clause */ -#line 17667 "preproc.y" +#line 17660 "preproc.y" {(yyval.str) = (yyvsp[0].str); } -#line 63535 "preproc.c" +#line 63528 "preproc.c" break; case 3286: /* storage_declaration: storage_modifier */ -#line 17668 "preproc.y" +#line 17661 "preproc.y" {(yyval.str) = (yyvsp[0].str); } -#line 63541 "preproc.c" +#line 63534 "preproc.c" break; case 3287: /* storage_clause: S_EXTERN */ -#line 17671 "preproc.y" +#line 17664 "preproc.y" { (yyval.str) = mm_strdup("extern"); } -#line 63547 "preproc.c" +#line 63540 "preproc.c" break; case 3288: /* storage_clause: S_STATIC */ -#line 17672 "preproc.y" +#line 17665 "preproc.y" { (yyval.str) = mm_strdup("static"); } -#line 63553 "preproc.c" +#line 63546 "preproc.c" break; case 3289: /* storage_clause: S_REGISTER */ -#line 17673 "preproc.y" +#line 17666 "preproc.y" { (yyval.str) = mm_strdup("register"); } -#line 63559 "preproc.c" +#line 63552 "preproc.c" break; case 3290: /* storage_clause: S_AUTO */ -#line 17674 "preproc.y" +#line 17667 "preproc.y" { (yyval.str) = mm_strdup("auto"); } -#line 63565 "preproc.c" +#line 63558 "preproc.c" break; case 3291: /* storage_modifier: S_CONST */ -#line 17677 "preproc.y" +#line 17670 "preproc.y" { (yyval.str) = mm_strdup("const"); } -#line 63571 "preproc.c" +#line 63564 "preproc.c" break; case 3292: /* storage_modifier: S_VOLATILE */ -#line 17678 "preproc.y" +#line 17671 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } -#line 63577 "preproc.c" +#line 63570 "preproc.c" break; case 3293: /* var_type: simple_type */ -#line 17682 "preproc.y" +#line 17675 "preproc.y" { (yyval.type).type_enum = (yyvsp[0].type_enum); (yyval.type).type_str = mm_strdup(ecpg_type_name((yyvsp[0].type_enum))); @@ -63585,11 +63578,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } -#line 63589 "preproc.c" +#line 63582 "preproc.c" break; case 3294: /* var_type: struct_union_type */ -#line 17690 "preproc.y" +#line 17683 "preproc.y" { (yyval.type).type_str = (yyvsp[0].str); (yyval.type).type_dimension = mm_strdup("-1"); @@ -63606,11 +63599,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.type).type_sizeof = NULL; } } -#line 63610 "preproc.c" +#line 63603 "preproc.c" break; case 3295: /* var_type: enum_type */ -#line 17707 "preproc.y" +#line 17700 "preproc.y" { (yyval.type).type_str = (yyvsp[0].str); (yyval.type).type_enum = ECPGt_int; @@ -63618,11 +63611,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } -#line 63622 "preproc.c" +#line 63615 "preproc.c" break; case 3296: /* var_type: ECPGColLabelCommon '(' precision opt_scale ')' */ -#line 17715 "preproc.y" +#line 17708 "preproc.y" { if (strcmp((yyvsp[-4].str), "numeric") == 0) { @@ -63645,11 +63638,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.type).type_index = mm_strdup("-1"); (yyval.type).type_sizeof = NULL; } -#line 63649 "preproc.c" +#line 63642 "preproc.c" break; case 3297: /* var_type: ECPGColLabelCommon ecpg_interval */ -#line 17738 "preproc.y" +#line 17731 "preproc.y" { if (strlen((yyvsp[0].str)) != 0 && strcmp ((yyvsp[-1].str), "datetime") != 0 && strcmp ((yyvsp[-1].str), "interval") != 0) mmerror (PARSE_ERROR, ET_ERROR, "interval specification not allowed here"); @@ -63763,11 +63756,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") struct_member_list[struct_level] = ECPGstruct_member_dup(this->struct_member_list); } } -#line 63767 "preproc.c" +#line 63760 "preproc.c" break; case 3298: /* var_type: s_struct_union_symbol */ -#line 17852 "preproc.y" +#line 17845 "preproc.y" { /* this is for named structs/unions */ char *name; @@ -63799,46 +63792,46 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") struct_member_list[struct_level] = NULL; } } -#line 63803 "preproc.c" +#line 63796 "preproc.c" break; case 3299: /* enum_type: ENUM_P symbol enum_definition */ -#line 17886 "preproc.y" +#line 17879 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("enum"), (yyvsp[-1].str), (yyvsp[0].str)); } -#line 63809 "preproc.c" +#line 63802 "preproc.c" break; case 3300: /* enum_type: ENUM_P enum_definition */ -#line 17888 "preproc.y" +#line 17881 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("enum"), (yyvsp[0].str)); } -#line 63815 "preproc.c" +#line 63808 "preproc.c" break; case 3301: /* enum_type: ENUM_P symbol */ -#line 17890 "preproc.y" +#line 17883 "preproc.y" { (yyval.str) = cat2_str(mm_strdup("enum"), (yyvsp[0].str)); } -#line 63821 "preproc.c" +#line 63814 "preproc.c" break; case 3302: /* enum_definition: '{' c_list '}' */ -#line 17894 "preproc.y" +#line 17887 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } -#line 63827 "preproc.c" +#line 63820 "preproc.c" break; case 3303: /* $@7: %empty */ -#line 17897 "preproc.y" +#line 17890 "preproc.y" { struct_member_list[struct_level++] = NULL; if (struct_level >= STRUCT_DEPTH) mmerror(PARSE_ERROR, ET_ERROR, "too many levels in nested structure/union definition"); forward_name = mm_strdup((yyvsp[0].struct_union).symbol); } -#line 63838 "preproc.c" +#line 63831 "preproc.c" break; case 3304: /* struct_union_type_with_symbol: s_struct_union_symbol $@7 '{' variable_declarations '}' */ -#line 17904 "preproc.y" +#line 17897 "preproc.y" { struct typedefs *ptr, *this; struct this_type su_type; @@ -63880,217 +63873,217 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") types = this; (yyval.str) = cat_str(4, su_type.type_str, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } -#line 63884 "preproc.c" +#line 63877 "preproc.c" break; case 3305: /* struct_union_type: struct_union_type_with_symbol */ -#line 17947 "preproc.y" +#line 17940 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 63890 "preproc.c" +#line 63883 "preproc.c" break; case 3306: /* $@8: %empty */ -#line 17949 "preproc.y" +#line 17942 "preproc.y" { struct_member_list[struct_level++] = NULL; if (struct_level >= STRUCT_DEPTH) mmerror(PARSE_ERROR, ET_ERROR, "too many levels in nested structure/union definition"); } -#line 63900 "preproc.c" +#line 63893 "preproc.c" break; case 3307: /* struct_union_type: s_struct_union $@8 '{' variable_declarations '}' */ -#line 17955 "preproc.y" +#line 17948 "preproc.y" { ECPGfree_struct_member(struct_member_list[struct_level]); struct_member_list[struct_level] = NULL; struct_level--; (yyval.str) = cat_str(4, (yyvsp[-4].str), mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } -#line 63911 "preproc.c" +#line 63904 "preproc.c" break; case 3308: /* s_struct_union_symbol: SQL_STRUCT symbol */ -#line 17964 "preproc.y" +#line 17957 "preproc.y" { (yyval.struct_union).su = mm_strdup("struct"); (yyval.struct_union).symbol = (yyvsp[0].str); ECPGstruct_sizeof = cat_str(3, mm_strdup("sizeof("), cat2_str(mm_strdup((yyval.struct_union).su), mm_strdup((yyval.struct_union).symbol)), mm_strdup(")")); } -#line 63921 "preproc.c" +#line 63914 "preproc.c" break; case 3309: /* s_struct_union_symbol: UNION symbol */ -#line 17970 "preproc.y" +#line 17963 "preproc.y" { (yyval.struct_union).su = mm_strdup("union"); (yyval.struct_union).symbol = (yyvsp[0].str); } -#line 63930 "preproc.c" +#line 63923 "preproc.c" break; case 3310: /* s_struct_union: SQL_STRUCT */ -#line 17977 "preproc.y" +#line 17970 "preproc.y" { ECPGstruct_sizeof = mm_strdup(""); /* This must not be NULL to distinguish from simple types. */ (yyval.str) = mm_strdup("struct"); } -#line 63939 "preproc.c" +#line 63932 "preproc.c" break; case 3311: /* s_struct_union: UNION */ -#line 17982 "preproc.y" +#line 17975 "preproc.y" { (yyval.str) = mm_strdup("union"); } -#line 63947 "preproc.c" +#line 63940 "preproc.c" break; case 3312: /* simple_type: unsigned_type */ -#line 17987 "preproc.y" +#line 17980 "preproc.y" { (yyval.type_enum)=(yyvsp[0].type_enum); } -#line 63953 "preproc.c" +#line 63946 "preproc.c" break; case 3313: /* simple_type: opt_signed signed_type */ -#line 17988 "preproc.y" +#line 17981 "preproc.y" { (yyval.type_enum)=(yyvsp[0].type_enum); } -#line 63959 "preproc.c" +#line 63952 "preproc.c" break; case 3314: /* unsigned_type: SQL_UNSIGNED SQL_SHORT */ -#line 17991 "preproc.y" +#line 17984 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_short; } -#line 63965 "preproc.c" +#line 63958 "preproc.c" break; case 3315: /* unsigned_type: SQL_UNSIGNED SQL_SHORT INT_P */ -#line 17992 "preproc.y" +#line 17985 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_short; } -#line 63971 "preproc.c" +#line 63964 "preproc.c" break; case 3316: /* unsigned_type: SQL_UNSIGNED */ -#line 17993 "preproc.y" +#line 17986 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_int; } -#line 63977 "preproc.c" +#line 63970 "preproc.c" break; case 3317: /* unsigned_type: SQL_UNSIGNED INT_P */ -#line 17994 "preproc.y" +#line 17987 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_int; } -#line 63983 "preproc.c" +#line 63976 "preproc.c" break; case 3318: /* unsigned_type: SQL_UNSIGNED SQL_LONG */ -#line 17995 "preproc.y" +#line 17988 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long; } -#line 63989 "preproc.c" +#line 63982 "preproc.c" break; case 3319: /* unsigned_type: SQL_UNSIGNED SQL_LONG INT_P */ -#line 17996 "preproc.y" +#line 17989 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long; } -#line 63995 "preproc.c" +#line 63988 "preproc.c" break; case 3320: /* unsigned_type: SQL_UNSIGNED SQL_LONG SQL_LONG */ -#line 17997 "preproc.y" +#line 17990 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long_long; } -#line 64001 "preproc.c" +#line 63994 "preproc.c" break; case 3321: /* unsigned_type: SQL_UNSIGNED SQL_LONG SQL_LONG INT_P */ -#line 17998 "preproc.y" +#line 17991 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_long_long; } -#line 64007 "preproc.c" +#line 64000 "preproc.c" break; case 3322: /* unsigned_type: SQL_UNSIGNED CHAR_P */ -#line 17999 "preproc.y" +#line 17992 "preproc.y" { (yyval.type_enum) = ECPGt_unsigned_char; } -#line 64013 "preproc.c" +#line 64006 "preproc.c" break; case 3323: /* signed_type: SQL_SHORT */ -#line 18002 "preproc.y" +#line 17995 "preproc.y" { (yyval.type_enum) = ECPGt_short; } -#line 64019 "preproc.c" +#line 64012 "preproc.c" break; case 3324: /* signed_type: SQL_SHORT INT_P */ -#line 18003 "preproc.y" +#line 17996 "preproc.y" { (yyval.type_enum) = ECPGt_short; } -#line 64025 "preproc.c" +#line 64018 "preproc.c" break; case 3325: /* signed_type: INT_P */ -#line 18004 "preproc.y" +#line 17997 "preproc.y" { (yyval.type_enum) = ECPGt_int; } -#line 64031 "preproc.c" +#line 64024 "preproc.c" break; case 3326: /* signed_type: SQL_LONG */ -#line 18005 "preproc.y" +#line 17998 "preproc.y" { (yyval.type_enum) = ECPGt_long; } -#line 64037 "preproc.c" +#line 64030 "preproc.c" break; case 3327: /* signed_type: SQL_LONG INT_P */ -#line 18006 "preproc.y" +#line 17999 "preproc.y" { (yyval.type_enum) = ECPGt_long; } -#line 64043 "preproc.c" +#line 64036 "preproc.c" break; case 3328: /* signed_type: SQL_LONG SQL_LONG */ -#line 18007 "preproc.y" +#line 18000 "preproc.y" { (yyval.type_enum) = ECPGt_long_long; } -#line 64049 "preproc.c" +#line 64042 "preproc.c" break; case 3329: /* signed_type: SQL_LONG SQL_LONG INT_P */ -#line 18008 "preproc.y" +#line 18001 "preproc.y" { (yyval.type_enum) = ECPGt_long_long; } -#line 64055 "preproc.c" +#line 64048 "preproc.c" break; case 3330: /* signed_type: SQL_BOOL */ -#line 18009 "preproc.y" +#line 18002 "preproc.y" { (yyval.type_enum) = ECPGt_bool; } -#line 64061 "preproc.c" +#line 64054 "preproc.c" break; case 3331: /* signed_type: CHAR_P */ -#line 18010 "preproc.y" +#line 18003 "preproc.y" { (yyval.type_enum) = ECPGt_char; } -#line 64067 "preproc.c" +#line 64060 "preproc.c" break; case 3332: /* signed_type: DOUBLE_P */ -#line 18011 "preproc.y" +#line 18004 "preproc.y" { (yyval.type_enum) = ECPGt_double; } -#line 64073 "preproc.c" +#line 64066 "preproc.c" break; case 3335: /* variable_list: variable */ -#line 18019 "preproc.y" +#line 18012 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64079 "preproc.c" +#line 64072 "preproc.c" break; case 3336: /* variable_list: variable_list ',' variable */ -#line 18021 "preproc.y" +#line 18014 "preproc.y" { if (actual_type[struct_level].type_enum == ECPGt_varchar || actual_type[struct_level].type_enum == ECPGt_bytea) (yyval.str) = cat_str(4, (yyvsp[-2].str), mm_strdup(";"), mm_strdup(actual_type[struct_level].type_storage), (yyvsp[0].str)); else (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } -#line 64090 "preproc.c" +#line 64083 "preproc.c" break; case 3337: /* variable: opt_pointer ECPGColLabel opt_array_bounds opt_bit_field opt_initializer */ -#line 18030 "preproc.y" +#line 18023 "preproc.y" { struct ECPGtype * type; char *dimension = (yyvsp[-2].index).index1; /* dimension of array */ @@ -64187,290 +64180,290 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") free((yyvsp[-3].str)); } -#line 64191 "preproc.c" +#line 64184 "preproc.c" break; case 3338: /* opt_initializer: %empty */ -#line 18129 "preproc.y" +#line 18122 "preproc.y" { (yyval.str) = EMPTY; } -#line 64197 "preproc.c" +#line 64190 "preproc.c" break; case 3339: /* opt_initializer: '=' c_term */ -#line 18131 "preproc.y" +#line 18124 "preproc.y" { initializer = 1; (yyval.str) = cat2_str(mm_strdup("="), (yyvsp[0].str)); } -#line 64206 "preproc.c" +#line 64199 "preproc.c" break; case 3340: /* opt_pointer: %empty */ -#line 18137 "preproc.y" +#line 18130 "preproc.y" { (yyval.str) = EMPTY; } -#line 64212 "preproc.c" +#line 64205 "preproc.c" break; case 3341: /* opt_pointer: '*' */ -#line 18138 "preproc.y" +#line 18131 "preproc.y" { (yyval.str) = mm_strdup("*"); } -#line 64218 "preproc.c" +#line 64211 "preproc.c" break; case 3342: /* opt_pointer: '*' '*' */ -#line 18139 "preproc.y" +#line 18132 "preproc.y" { (yyval.str) = mm_strdup("**"); } -#line 64224 "preproc.c" +#line 64217 "preproc.c" break; case 3343: /* ECPGDeclare: DECLARE STATEMENT ecpg_ident */ -#line 18146 "preproc.y" +#line 18139 "preproc.y" { /* this is only supported for compatibility */ (yyval.str) = cat_str(3, mm_strdup("/* declare statement"), (yyvsp[0].str), mm_strdup("*/")); } -#line 64233 "preproc.c" +#line 64226 "preproc.c" break; case 3344: /* ECPGDisconnect: SQL_DISCONNECT dis_name */ -#line 18154 "preproc.y" +#line 18147 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64239 "preproc.c" +#line 64232 "preproc.c" break; case 3345: /* dis_name: connection_object */ -#line 18157 "preproc.y" +#line 18150 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64245 "preproc.c" +#line 64238 "preproc.c" break; case 3346: /* dis_name: CURRENT_P */ -#line 18158 "preproc.y" +#line 18151 "preproc.y" { (yyval.str) = mm_strdup("\"CURRENT\""); } -#line 64251 "preproc.c" +#line 64244 "preproc.c" break; case 3347: /* dis_name: ALL */ -#line 18159 "preproc.y" +#line 18152 "preproc.y" { (yyval.str) = mm_strdup("\"ALL\""); } -#line 64257 "preproc.c" +#line 64250 "preproc.c" break; case 3348: /* dis_name: %empty */ -#line 18160 "preproc.y" +#line 18153 "preproc.y" { (yyval.str) = mm_strdup("\"CURRENT\""); } -#line 64263 "preproc.c" +#line 64256 "preproc.c" break; case 3349: /* connection_object: name */ -#line 18163 "preproc.y" +#line 18156 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } -#line 64269 "preproc.c" +#line 64262 "preproc.c" break; case 3350: /* connection_object: DEFAULT */ -#line 18164 "preproc.y" +#line 18157 "preproc.y" { (yyval.str) = mm_strdup("\"DEFAULT\""); } -#line 64275 "preproc.c" +#line 64268 "preproc.c" break; case 3351: /* connection_object: char_variable */ -#line 18165 "preproc.y" +#line 18158 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64281 "preproc.c" +#line 64274 "preproc.c" break; case 3352: /* execstring: char_variable */ -#line 18169 "preproc.y" +#line 18162 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64287 "preproc.c" +#line 64280 "preproc.c" break; case 3353: /* execstring: CSTRING */ -#line 18171 "preproc.y" +#line 18164 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } -#line 64293 "preproc.c" +#line 64286 "preproc.c" break; case 3354: /* ECPGFree: SQL_FREE cursor_name */ -#line 18178 "preproc.y" +#line 18171 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64299 "preproc.c" +#line 64292 "preproc.c" break; case 3355: /* ECPGFree: SQL_FREE ALL */ -#line 18179 "preproc.y" +#line 18172 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 64305 "preproc.c" +#line 64298 "preproc.c" break; case 3356: /* ECPGOpen: SQL_OPEN cursor_name opt_ecpg_using */ -#line 18186 "preproc.y" +#line 18179 "preproc.y" { if ((yyvsp[-1].str)[0] == ':') remove_variable_from_list(&argsinsert, find_variable((yyvsp[-1].str) + 1)); (yyval.str) = (yyvsp[-1].str); } -#line 64315 "preproc.c" +#line 64308 "preproc.c" break; case 3357: /* opt_ecpg_using: %empty */ -#line 18193 "preproc.y" +#line 18186 "preproc.y" { (yyval.str) = EMPTY; } -#line 64321 "preproc.c" +#line 64314 "preproc.c" break; case 3358: /* opt_ecpg_using: ecpg_using */ -#line 18194 "preproc.y" +#line 18187 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64327 "preproc.c" +#line 64320 "preproc.c" break; case 3359: /* ecpg_using: USING using_list */ -#line 18197 "preproc.y" +#line 18190 "preproc.y" { (yyval.str) = EMPTY; } -#line 64333 "preproc.c" +#line 64326 "preproc.c" break; case 3360: /* ecpg_using: using_descriptor */ -#line 18198 "preproc.y" +#line 18191 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64339 "preproc.c" +#line 64332 "preproc.c" break; case 3361: /* using_descriptor: USING SQL_P SQL_DESCRIPTOR quoted_ident_stringvar */ -#line 18202 "preproc.y" +#line 18195 "preproc.y" { add_variable_to_head(&argsinsert, descriptor_variable((yyvsp[0].str),0), &no_indicator); (yyval.str) = EMPTY; } -#line 64348 "preproc.c" +#line 64341 "preproc.c" break; case 3362: /* using_descriptor: USING SQL_DESCRIPTOR name */ -#line 18207 "preproc.y" +#line 18200 "preproc.y" { add_variable_to_head(&argsinsert, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } -#line 64357 "preproc.c" +#line 64350 "preproc.c" break; case 3363: /* into_descriptor: INTO SQL_P SQL_DESCRIPTOR quoted_ident_stringvar */ -#line 18214 "preproc.y" +#line 18207 "preproc.y" { add_variable_to_head(&argsresult, descriptor_variable((yyvsp[0].str),1), &no_indicator); (yyval.str) = EMPTY; } -#line 64366 "preproc.c" +#line 64359 "preproc.c" break; case 3364: /* into_descriptor: INTO SQL_DESCRIPTOR name */ -#line 18219 "preproc.y" +#line 18212 "preproc.y" { add_variable_to_head(&argsresult, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } -#line 64375 "preproc.c" +#line 64368 "preproc.c" break; case 3365: /* into_sqlda: INTO name */ -#line 18226 "preproc.y" +#line 18219 "preproc.y" { add_variable_to_head(&argsresult, sqlda_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = EMPTY; } -#line 64384 "preproc.c" +#line 64377 "preproc.c" break; case 3368: /* UsingValue: UsingConst */ -#line 18235 "preproc.y" +#line 18228 "preproc.y" { char *length = mm_alloc(32); sprintf(length, "%zu", strlen((yyvsp[0].str))); add_variable_to_head(&argsinsert, new_variable((yyvsp[0].str), ECPGmake_simple_type(ECPGt_const, length, 0), 0), &no_indicator); } -#line 64395 "preproc.c" +#line 64388 "preproc.c" break; case 3369: /* UsingValue: civar */ -#line 18241 "preproc.y" +#line 18234 "preproc.y" { (yyval.str) = EMPTY; } -#line 64401 "preproc.c" +#line 64394 "preproc.c" break; case 3370: /* UsingValue: civarind */ -#line 18242 "preproc.y" +#line 18235 "preproc.y" { (yyval.str) = EMPTY; } -#line 64407 "preproc.c" +#line 64400 "preproc.c" break; case 3371: /* UsingConst: Iconst */ -#line 18245 "preproc.y" +#line 18238 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64413 "preproc.c" +#line 64406 "preproc.c" break; case 3372: /* UsingConst: '+' Iconst */ -#line 18246 "preproc.y" +#line 18239 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("+"), (yyvsp[0].str)); } -#line 64419 "preproc.c" +#line 64412 "preproc.c" break; case 3373: /* UsingConst: '-' Iconst */ -#line 18247 "preproc.y" +#line 18240 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("-"), (yyvsp[0].str)); } -#line 64425 "preproc.c" +#line 64418 "preproc.c" break; case 3374: /* UsingConst: ecpg_fconst */ -#line 18248 "preproc.y" +#line 18241 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64431 "preproc.c" +#line 64424 "preproc.c" break; case 3375: /* UsingConst: '+' ecpg_fconst */ -#line 18249 "preproc.y" +#line 18242 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("+"), (yyvsp[0].str)); } -#line 64437 "preproc.c" +#line 64430 "preproc.c" break; case 3376: /* UsingConst: '-' ecpg_fconst */ -#line 18250 "preproc.y" +#line 18243 "preproc.y" { (yyval.str) = cat_str(2, mm_strdup("-"), (yyvsp[0].str)); } -#line 64443 "preproc.c" +#line 64436 "preproc.c" break; case 3377: /* UsingConst: ecpg_sconst */ -#line 18251 "preproc.y" +#line 18244 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64449 "preproc.c" +#line 64442 "preproc.c" break; case 3378: /* UsingConst: ecpg_bconst */ -#line 18252 "preproc.y" +#line 18245 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64455 "preproc.c" +#line 64448 "preproc.c" break; case 3379: /* UsingConst: ecpg_xconst */ -#line 18253 "preproc.y" +#line 18246 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64461 "preproc.c" +#line 64454 "preproc.c" break; case 3380: /* ECPGDescribe: SQL_DESCRIBE INPUT_P prepared_name using_descriptor */ -#line 18260 "preproc.y" +#line 18253 "preproc.y" { (yyval.describe).input = 1; (yyval.describe).stmt_name = (yyvsp[-1].str); } -#line 64470 "preproc.c" +#line 64463 "preproc.c" break; case 3381: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name using_descriptor */ -#line 18265 "preproc.y" +#line 18258 "preproc.y" { struct variable *var; var = argsinsert->variable; @@ -64480,94 +64473,94 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } -#line 64484 "preproc.c" +#line 64477 "preproc.c" break; case 3382: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name into_descriptor */ -#line 18275 "preproc.y" +#line 18268 "preproc.y" { (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } -#line 64493 "preproc.c" +#line 64486 "preproc.c" break; case 3383: /* ECPGDescribe: SQL_DESCRIBE INPUT_P prepared_name into_sqlda */ -#line 18280 "preproc.y" +#line 18273 "preproc.y" { (yyval.describe).input = 1; (yyval.describe).stmt_name = (yyvsp[-1].str); } -#line 64502 "preproc.c" +#line 64495 "preproc.c" break; case 3384: /* ECPGDescribe: SQL_DESCRIBE opt_output prepared_name into_sqlda */ -#line 18285 "preproc.y" +#line 18278 "preproc.y" { (yyval.describe).input = 0; (yyval.describe).stmt_name = (yyvsp[-1].str); } -#line 64511 "preproc.c" +#line 64504 "preproc.c" break; case 3385: /* opt_output: SQL_OUTPUT */ -#line 18291 "preproc.y" +#line 18284 "preproc.y" { (yyval.str) = mm_strdup("output"); } -#line 64517 "preproc.c" +#line 64510 "preproc.c" break; case 3386: /* opt_output: %empty */ -#line 18292 "preproc.y" +#line 18285 "preproc.y" { (yyval.str) = EMPTY; } -#line 64523 "preproc.c" +#line 64516 "preproc.c" break; case 3387: /* ECPGAllocateDescr: SQL_ALLOCATE SQL_DESCRIPTOR quoted_ident_stringvar */ -#line 18305 "preproc.y" +#line 18298 "preproc.y" { add_descriptor((yyvsp[0].str),connection); (yyval.str) = (yyvsp[0].str); } -#line 64532 "preproc.c" +#line 64525 "preproc.c" break; case 3388: /* ECPGDeallocateDescr: DEALLOCATE SQL_DESCRIPTOR quoted_ident_stringvar */ -#line 18316 "preproc.y" +#line 18309 "preproc.y" { drop_descriptor((yyvsp[0].str),connection); (yyval.str) = (yyvsp[0].str); } -#line 64541 "preproc.c" +#line 64534 "preproc.c" break; case 3389: /* ECPGGetDescriptorHeader: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar ECPGGetDescHeaderItems */ -#line 18327 "preproc.y" +#line 18320 "preproc.y" { (yyval.str) = (yyvsp[-1].str); } -#line 64547 "preproc.c" +#line 64540 "preproc.c" break; case 3392: /* ECPGGetDescHeaderItem: cvariable '=' desc_header_item */ -#line 18335 "preproc.y" +#line 18328 "preproc.y" { push_assignment((yyvsp[-2].str), (yyvsp[0].dtype_enum)); } -#line 64553 "preproc.c" +#line 64546 "preproc.c" break; case 3393: /* ECPGSetDescriptorHeader: SET SQL_DESCRIPTOR quoted_ident_stringvar ECPGSetDescHeaderItems */ -#line 18340 "preproc.y" +#line 18333 "preproc.y" { (yyval.str) = (yyvsp[-1].str); } -#line 64559 "preproc.c" +#line 64552 "preproc.c" break; case 3396: /* ECPGSetDescHeaderItem: desc_header_item '=' IntConstVar */ -#line 18348 "preproc.y" +#line 18341 "preproc.y" { push_assignment((yyvsp[0].str), (yyvsp[-2].dtype_enum)); } -#line 64567 "preproc.c" +#line 64560 "preproc.c" break; case 3397: /* IntConstVar: Iconst */ -#line 18354 "preproc.y" +#line 18347 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); @@ -64575,51 +64568,51 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") new_variable((yyvsp[0].str), ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = (yyvsp[0].str); } -#line 64579 "preproc.c" +#line 64572 "preproc.c" break; case 3398: /* IntConstVar: cvariable */ -#line 18362 "preproc.y" +#line 18355 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64587 "preproc.c" +#line 64580 "preproc.c" break; case 3399: /* desc_header_item: SQL_COUNT */ -#line 18367 "preproc.y" +#line 18360 "preproc.y" { (yyval.dtype_enum) = ECPGd_count; } -#line 64593 "preproc.c" +#line 64586 "preproc.c" break; case 3400: /* ECPGGetDescriptor: SQL_GET SQL_DESCRIPTOR quoted_ident_stringvar VALUE_P IntConstVar ECPGGetDescItems */ -#line 18375 "preproc.y" +#line 18368 "preproc.y" { (yyval.descriptor).str = (yyvsp[-1].str); (yyval.descriptor).name = (yyvsp[-3].str); } -#line 64599 "preproc.c" +#line 64592 "preproc.c" break; case 3403: /* ECPGGetDescItem: cvariable '=' descriptor_item */ -#line 18382 "preproc.y" +#line 18375 "preproc.y" { push_assignment((yyvsp[-2].str), (yyvsp[0].dtype_enum)); } -#line 64605 "preproc.c" +#line 64598 "preproc.c" break; case 3404: /* ECPGSetDescriptor: SET SQL_DESCRIPTOR quoted_ident_stringvar VALUE_P IntConstVar ECPGSetDescItems */ -#line 18386 "preproc.y" +#line 18379 "preproc.y" { (yyval.descriptor).str = (yyvsp[-1].str); (yyval.descriptor).name = (yyvsp[-3].str); } -#line 64611 "preproc.c" +#line 64604 "preproc.c" break; case 3407: /* ECPGSetDescItem: descriptor_item '=' AllConstVar */ -#line 18394 "preproc.y" +#line 18387 "preproc.y" { push_assignment((yyvsp[0].str), (yyvsp[-2].dtype_enum)); } -#line 64619 "preproc.c" +#line 64612 "preproc.c" break; case 3408: /* AllConstVar: ecpg_fconst */ -#line 18400 "preproc.y" +#line 18393 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); @@ -64627,19 +64620,19 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") new_variable((yyvsp[0].str), ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = (yyvsp[0].str); } -#line 64631 "preproc.c" +#line 64624 "preproc.c" break; case 3409: /* AllConstVar: IntConstVar */ -#line 18409 "preproc.y" +#line 18402 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64639 "preproc.c" +#line 64632 "preproc.c" break; case 3410: /* AllConstVar: '-' ecpg_fconst */ -#line 18414 "preproc.y" +#line 18407 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *var = cat2_str(mm_strdup("-"), (yyvsp[0].str)); @@ -64648,11 +64641,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") new_variable(var, ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = var; } -#line 64652 "preproc.c" +#line 64645 "preproc.c" break; case 3411: /* AllConstVar: '-' Iconst */ -#line 18424 "preproc.y" +#line 18417 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *var = cat2_str(mm_strdup("-"), (yyvsp[0].str)); @@ -64661,11 +64654,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") new_variable(var, ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = var; } -#line 64665 "preproc.c" +#line 64658 "preproc.c" break; case 3412: /* AllConstVar: ecpg_sconst */ -#line 18434 "preproc.y" +#line 18427 "preproc.y" { char *length = mm_alloc(sizeof(int) * CHAR_BIT * 10 / 3); char *var = (yyvsp[0].str) + 1; @@ -64675,153 +64668,153 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") new_variable(var, ECPGmake_simple_type(ECPGt_const, length, 0), 0); (yyval.str) = var; } -#line 64679 "preproc.c" +#line 64672 "preproc.c" break; case 3413: /* descriptor_item: SQL_CARDINALITY */ -#line 18445 "preproc.y" +#line 18438 "preproc.y" { (yyval.dtype_enum) = ECPGd_cardinality; } -#line 64685 "preproc.c" +#line 64678 "preproc.c" break; case 3414: /* descriptor_item: DATA_P */ -#line 18446 "preproc.y" +#line 18439 "preproc.y" { (yyval.dtype_enum) = ECPGd_data; } -#line 64691 "preproc.c" +#line 64684 "preproc.c" break; case 3415: /* descriptor_item: SQL_DATETIME_INTERVAL_CODE */ -#line 18447 "preproc.y" +#line 18440 "preproc.y" { (yyval.dtype_enum) = ECPGd_di_code; } -#line 64697 "preproc.c" +#line 64690 "preproc.c" break; case 3416: /* descriptor_item: SQL_DATETIME_INTERVAL_PRECISION */ -#line 18448 "preproc.y" +#line 18441 "preproc.y" { (yyval.dtype_enum) = ECPGd_di_precision; } -#line 64703 "preproc.c" +#line 64696 "preproc.c" break; case 3417: /* descriptor_item: SQL_INDICATOR */ -#line 18449 "preproc.y" +#line 18442 "preproc.y" { (yyval.dtype_enum) = ECPGd_indicator; } -#line 64709 "preproc.c" +#line 64702 "preproc.c" break; case 3418: /* descriptor_item: SQL_KEY_MEMBER */ -#line 18450 "preproc.y" +#line 18443 "preproc.y" { (yyval.dtype_enum) = ECPGd_key_member; } -#line 64715 "preproc.c" +#line 64708 "preproc.c" break; case 3419: /* descriptor_item: SQL_LENGTH */ -#line 18451 "preproc.y" +#line 18444 "preproc.y" { (yyval.dtype_enum) = ECPGd_length; } -#line 64721 "preproc.c" +#line 64714 "preproc.c" break; case 3420: /* descriptor_item: NAME_P */ -#line 18452 "preproc.y" +#line 18445 "preproc.y" { (yyval.dtype_enum) = ECPGd_name; } -#line 64727 "preproc.c" +#line 64720 "preproc.c" break; case 3421: /* descriptor_item: SQL_NULLABLE */ -#line 18453 "preproc.y" +#line 18446 "preproc.y" { (yyval.dtype_enum) = ECPGd_nullable; } -#line 64733 "preproc.c" +#line 64726 "preproc.c" break; case 3422: /* descriptor_item: SQL_OCTET_LENGTH */ -#line 18454 "preproc.y" +#line 18447 "preproc.y" { (yyval.dtype_enum) = ECPGd_octet; } -#line 64739 "preproc.c" +#line 64732 "preproc.c" break; case 3423: /* descriptor_item: PRECISION */ -#line 18455 "preproc.y" +#line 18448 "preproc.y" { (yyval.dtype_enum) = ECPGd_precision; } -#line 64745 "preproc.c" +#line 64738 "preproc.c" break; case 3424: /* descriptor_item: SQL_RETURNED_LENGTH */ -#line 18456 "preproc.y" +#line 18449 "preproc.y" { (yyval.dtype_enum) = ECPGd_length; } -#line 64751 "preproc.c" +#line 64744 "preproc.c" break; case 3425: /* descriptor_item: SQL_RETURNED_OCTET_LENGTH */ -#line 18457 "preproc.y" +#line 18450 "preproc.y" { (yyval.dtype_enum) = ECPGd_ret_octet; } -#line 64757 "preproc.c" +#line 64750 "preproc.c" break; case 3426: /* descriptor_item: SQL_SCALE */ -#line 18458 "preproc.y" +#line 18451 "preproc.y" { (yyval.dtype_enum) = ECPGd_scale; } -#line 64763 "preproc.c" +#line 64756 "preproc.c" break; case 3427: /* descriptor_item: TYPE_P */ -#line 18459 "preproc.y" +#line 18452 "preproc.y" { (yyval.dtype_enum) = ECPGd_type; } -#line 64769 "preproc.c" +#line 64762 "preproc.c" break; case 3428: /* ECPGSetAutocommit: SET SQL_AUTOCOMMIT '=' on_off */ -#line 18466 "preproc.y" +#line 18459 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64775 "preproc.c" +#line 64768 "preproc.c" break; case 3429: /* ECPGSetAutocommit: SET SQL_AUTOCOMMIT TO on_off */ -#line 18467 "preproc.y" +#line 18460 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64781 "preproc.c" +#line 64774 "preproc.c" break; case 3430: /* on_off: ON */ -#line 18470 "preproc.y" +#line 18463 "preproc.y" { (yyval.str) = mm_strdup("on"); } -#line 64787 "preproc.c" +#line 64780 "preproc.c" break; case 3431: /* on_off: OFF */ -#line 18471 "preproc.y" +#line 18464 "preproc.y" { (yyval.str) = mm_strdup("off"); } -#line 64793 "preproc.c" +#line 64786 "preproc.c" break; case 3432: /* ECPGSetConnection: SET CONNECTION TO connection_object */ -#line 18478 "preproc.y" +#line 18471 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64799 "preproc.c" +#line 64792 "preproc.c" break; case 3433: /* ECPGSetConnection: SET CONNECTION '=' connection_object */ -#line 18479 "preproc.y" +#line 18472 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64805 "preproc.c" +#line 64798 "preproc.c" break; case 3434: /* ECPGSetConnection: SET CONNECTION connection_object */ -#line 18480 "preproc.y" +#line 18473 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 64811 "preproc.c" +#line 64804 "preproc.c" break; case 3435: /* $@9: %empty */ -#line 18487 "preproc.y" +#line 18480 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } -#line 64821 "preproc.c" +#line 64814 "preproc.c" break; case 3436: /* ECPGTypedef: TYPE_P $@9 ECPGColLabelCommon IS var_type opt_array_bounds opt_reference */ -#line 18493 "preproc.y" +#line 18486 "preproc.y" { add_typedef((yyvsp[-4].str), (yyvsp[-1].index).index1, (yyvsp[-1].index).index2, (yyvsp[-2].type).type_enum, (yyvsp[-2].type).type_dimension, (yyvsp[-2].type).type_index, initializer, *(yyvsp[0].str) ? 1 : 0); @@ -64830,33 +64823,33 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") else (yyval.str) = cat_str(6, mm_strdup("typedef "), mm_strdup((yyvsp[-2].type).type_str), *(yyvsp[0].str)?mm_strdup("*"):mm_strdup(""), mm_strdup((yyvsp[-4].str)), mm_strdup((yyvsp[-1].index).str), mm_strdup(";")); } -#line 64834 "preproc.c" +#line 64827 "preproc.c" break; case 3437: /* opt_reference: SQL_REFERENCE */ -#line 18503 "preproc.y" +#line 18496 "preproc.y" { (yyval.str) = mm_strdup("reference"); } -#line 64840 "preproc.c" +#line 64833 "preproc.c" break; case 3438: /* opt_reference: %empty */ -#line 18504 "preproc.y" +#line 18497 "preproc.y" { (yyval.str) = EMPTY; } -#line 64846 "preproc.c" +#line 64839 "preproc.c" break; case 3439: /* $@10: %empty */ -#line 18511 "preproc.y" +#line 18504 "preproc.y" { /* reset this variable so we see if there was */ /* an initializer specified */ initializer = 0; } -#line 64856 "preproc.c" +#line 64849 "preproc.c" break; case 3440: /* ECPGVar: SQL_VAR $@10 ColLabel IS var_type opt_array_bounds opt_reference */ -#line 18517 "preproc.y" +#line 18510 "preproc.y" { struct variable *p = find_variable((yyvsp[-4].str)); char *dimension = (yyvsp[-1].index).index1; @@ -64915,744 +64908,744 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") (yyval.str) = cat_str(7, mm_strdup("/* exec sql var"), mm_strdup((yyvsp[-4].str)), mm_strdup("is"), mm_strdup((yyvsp[-2].type).type_str), mm_strdup((yyvsp[-1].index).str), (yyvsp[0].str), mm_strdup("*/")); } -#line 64919 "preproc.c" +#line 64912 "preproc.c" break; case 3441: /* ECPGWhenever: SQL_WHENEVER SQL_SQLERROR action */ -#line 18582 "preproc.y" +#line 18575 "preproc.y" { when_error.code = (yyvsp[0].action).code; when_error.command = (yyvsp[0].action).command; (yyval.str) = cat_str(3, mm_strdup("/* exec sql whenever sqlerror "), (yyvsp[0].action).str, mm_strdup("; */")); } -#line 64929 "preproc.c" +#line 64922 "preproc.c" break; case 3442: /* ECPGWhenever: SQL_WHENEVER NOT SQL_FOUND action */ -#line 18588 "preproc.y" +#line 18581 "preproc.y" { when_nf.code = (yyvsp[0].action).code; when_nf.command = (yyvsp[0].action).command; (yyval.str) = cat_str(3, mm_strdup("/* exec sql whenever not found "), (yyvsp[0].action).str, mm_strdup("; */")); } -#line 64939 "preproc.c" +#line 64932 "preproc.c" break; case 3443: /* ECPGWhenever: SQL_WHENEVER SQL_SQLWARNING action */ -#line 18594 "preproc.y" +#line 18587 "preproc.y" { when_warn.code = (yyvsp[0].action).code; when_warn.command = (yyvsp[0].action).command; (yyval.str) = cat_str(3, mm_strdup("/* exec sql whenever sql_warning "), (yyvsp[0].action).str, mm_strdup("; */")); } -#line 64949 "preproc.c" +#line 64942 "preproc.c" break; case 3444: /* action: CONTINUE_P */ -#line 18602 "preproc.y" +#line 18595 "preproc.y" { (yyval.action).code = W_NOTHING; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("continue"); } -#line 64959 "preproc.c" +#line 64952 "preproc.c" break; case 3445: /* action: SQL_SQLPRINT */ -#line 18608 "preproc.y" +#line 18601 "preproc.y" { (yyval.action).code = W_SQLPRINT; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("sqlprint"); } -#line 64969 "preproc.c" +#line 64962 "preproc.c" break; case 3446: /* action: SQL_STOP */ -#line 18614 "preproc.y" +#line 18607 "preproc.y" { (yyval.action).code = W_STOP; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("stop"); } -#line 64979 "preproc.c" +#line 64972 "preproc.c" break; case 3447: /* action: SQL_GOTO name */ -#line 18620 "preproc.y" +#line 18613 "preproc.y" { (yyval.action).code = W_GOTO; (yyval.action).command = mm_strdup((yyvsp[0].str)); (yyval.action).str = cat2_str(mm_strdup("goto "), (yyvsp[0].str)); } -#line 64989 "preproc.c" +#line 64982 "preproc.c" break; case 3448: /* action: SQL_GO TO name */ -#line 18626 "preproc.y" +#line 18619 "preproc.y" { (yyval.action).code = W_GOTO; (yyval.action).command = mm_strdup((yyvsp[0].str)); (yyval.action).str = cat2_str(mm_strdup("goto "), (yyvsp[0].str)); } -#line 64999 "preproc.c" +#line 64992 "preproc.c" break; case 3449: /* action: DO name '(' c_args ')' */ -#line 18632 "preproc.y" +#line 18625 "preproc.y" { (yyval.action).code = W_DO; (yyval.action).command = cat_str(4, (yyvsp[-3].str), mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); (yyval.action).str = cat2_str(mm_strdup("do"), mm_strdup((yyval.action).command)); } -#line 65009 "preproc.c" +#line 65002 "preproc.c" break; case 3450: /* action: DO SQL_BREAK */ -#line 18638 "preproc.y" +#line 18631 "preproc.y" { (yyval.action).code = W_BREAK; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("break"); } -#line 65019 "preproc.c" +#line 65012 "preproc.c" break; case 3451: /* action: DO CONTINUE_P */ -#line 18644 "preproc.y" +#line 18637 "preproc.y" { (yyval.action).code = W_CONTINUE; (yyval.action).command = NULL; (yyval.action).str = mm_strdup("continue"); } -#line 65029 "preproc.c" +#line 65022 "preproc.c" break; case 3452: /* action: CALL name '(' c_args ')' */ -#line 18650 "preproc.y" +#line 18643 "preproc.y" { (yyval.action).code = W_DO; (yyval.action).command = cat_str(4, (yyvsp[-3].str), mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); (yyval.action).str = cat2_str(mm_strdup("call"), mm_strdup((yyval.action).command)); } -#line 65039 "preproc.c" +#line 65032 "preproc.c" break; case 3453: /* action: CALL name */ -#line 18656 "preproc.y" +#line 18649 "preproc.y" { (yyval.action).code = W_DO; (yyval.action).command = cat2_str((yyvsp[0].str), mm_strdup("()")); (yyval.action).str = cat2_str(mm_strdup("call"), mm_strdup((yyval.action).command)); } -#line 65049 "preproc.c" +#line 65042 "preproc.c" break; case 3454: /* ECPGKeywords: ECPGKeywords_vanames */ -#line 18666 "preproc.y" +#line 18659 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65055 "preproc.c" +#line 65048 "preproc.c" break; case 3455: /* ECPGKeywords: ECPGKeywords_rest */ -#line 18667 "preproc.y" +#line 18660 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65061 "preproc.c" +#line 65054 "preproc.c" break; case 3456: /* ECPGKeywords_vanames: SQL_BREAK */ -#line 18670 "preproc.y" +#line 18663 "preproc.y" { (yyval.str) = mm_strdup("break"); } -#line 65067 "preproc.c" +#line 65060 "preproc.c" break; case 3457: /* ECPGKeywords_vanames: SQL_CARDINALITY */ -#line 18671 "preproc.y" +#line 18664 "preproc.y" { (yyval.str) = mm_strdup("cardinality"); } -#line 65073 "preproc.c" +#line 65066 "preproc.c" break; case 3458: /* ECPGKeywords_vanames: SQL_COUNT */ -#line 18672 "preproc.y" +#line 18665 "preproc.y" { (yyval.str) = mm_strdup("count"); } -#line 65079 "preproc.c" +#line 65072 "preproc.c" break; case 3459: /* ECPGKeywords_vanames: SQL_DATETIME_INTERVAL_CODE */ -#line 18673 "preproc.y" +#line 18666 "preproc.y" { (yyval.str) = mm_strdup("datetime_interval_code"); } -#line 65085 "preproc.c" +#line 65078 "preproc.c" break; case 3460: /* ECPGKeywords_vanames: SQL_DATETIME_INTERVAL_PRECISION */ -#line 18674 "preproc.y" +#line 18667 "preproc.y" { (yyval.str) = mm_strdup("datetime_interval_precision"); } -#line 65091 "preproc.c" +#line 65084 "preproc.c" break; case 3461: /* ECPGKeywords_vanames: SQL_FOUND */ -#line 18675 "preproc.y" +#line 18668 "preproc.y" { (yyval.str) = mm_strdup("found"); } -#line 65097 "preproc.c" +#line 65090 "preproc.c" break; case 3462: /* ECPGKeywords_vanames: SQL_GO */ -#line 18676 "preproc.y" +#line 18669 "preproc.y" { (yyval.str) = mm_strdup("go"); } -#line 65103 "preproc.c" +#line 65096 "preproc.c" break; case 3463: /* ECPGKeywords_vanames: SQL_GOTO */ -#line 18677 "preproc.y" +#line 18670 "preproc.y" { (yyval.str) = mm_strdup("goto"); } -#line 65109 "preproc.c" +#line 65102 "preproc.c" break; case 3464: /* ECPGKeywords_vanames: SQL_IDENTIFIED */ -#line 18678 "preproc.y" +#line 18671 "preproc.y" { (yyval.str) = mm_strdup("identified"); } -#line 65115 "preproc.c" +#line 65108 "preproc.c" break; case 3465: /* ECPGKeywords_vanames: SQL_INDICATOR */ -#line 18679 "preproc.y" +#line 18672 "preproc.y" { (yyval.str) = mm_strdup("indicator"); } -#line 65121 "preproc.c" +#line 65114 "preproc.c" break; case 3466: /* ECPGKeywords_vanames: SQL_KEY_MEMBER */ -#line 18680 "preproc.y" +#line 18673 "preproc.y" { (yyval.str) = mm_strdup("key_member"); } -#line 65127 "preproc.c" +#line 65120 "preproc.c" break; case 3467: /* ECPGKeywords_vanames: SQL_LENGTH */ -#line 18681 "preproc.y" +#line 18674 "preproc.y" { (yyval.str) = mm_strdup("length"); } -#line 65133 "preproc.c" +#line 65126 "preproc.c" break; case 3468: /* ECPGKeywords_vanames: SQL_NULLABLE */ -#line 18682 "preproc.y" +#line 18675 "preproc.y" { (yyval.str) = mm_strdup("nullable"); } -#line 65139 "preproc.c" +#line 65132 "preproc.c" break; case 3469: /* ECPGKeywords_vanames: SQL_OCTET_LENGTH */ -#line 18683 "preproc.y" +#line 18676 "preproc.y" { (yyval.str) = mm_strdup("octet_length"); } -#line 65145 "preproc.c" +#line 65138 "preproc.c" break; case 3470: /* ECPGKeywords_vanames: SQL_RETURNED_LENGTH */ -#line 18684 "preproc.y" +#line 18677 "preproc.y" { (yyval.str) = mm_strdup("returned_length"); } -#line 65151 "preproc.c" +#line 65144 "preproc.c" break; case 3471: /* ECPGKeywords_vanames: SQL_RETURNED_OCTET_LENGTH */ -#line 18685 "preproc.y" +#line 18678 "preproc.y" { (yyval.str) = mm_strdup("returned_octet_length"); } -#line 65157 "preproc.c" +#line 65150 "preproc.c" break; case 3472: /* ECPGKeywords_vanames: SQL_SCALE */ -#line 18686 "preproc.y" +#line 18679 "preproc.y" { (yyval.str) = mm_strdup("scale"); } -#line 65163 "preproc.c" +#line 65156 "preproc.c" break; case 3473: /* ECPGKeywords_vanames: SQL_SECTION */ -#line 18687 "preproc.y" +#line 18680 "preproc.y" { (yyval.str) = mm_strdup("section"); } -#line 65169 "preproc.c" +#line 65162 "preproc.c" break; case 3474: /* ECPGKeywords_vanames: SQL_SQLERROR */ -#line 18688 "preproc.y" +#line 18681 "preproc.y" { (yyval.str) = mm_strdup("sqlerror"); } -#line 65175 "preproc.c" +#line 65168 "preproc.c" break; case 3475: /* ECPGKeywords_vanames: SQL_SQLPRINT */ -#line 18689 "preproc.y" +#line 18682 "preproc.y" { (yyval.str) = mm_strdup("sqlprint"); } -#line 65181 "preproc.c" +#line 65174 "preproc.c" break; case 3476: /* ECPGKeywords_vanames: SQL_SQLWARNING */ -#line 18690 "preproc.y" +#line 18683 "preproc.y" { (yyval.str) = mm_strdup("sqlwarning"); } -#line 65187 "preproc.c" +#line 65180 "preproc.c" break; case 3477: /* ECPGKeywords_vanames: SQL_STOP */ -#line 18691 "preproc.y" +#line 18684 "preproc.y" { (yyval.str) = mm_strdup("stop"); } -#line 65193 "preproc.c" +#line 65186 "preproc.c" break; case 3478: /* ECPGKeywords_rest: SQL_CONNECT */ -#line 18694 "preproc.y" +#line 18687 "preproc.y" { (yyval.str) = mm_strdup("connect"); } -#line 65199 "preproc.c" +#line 65192 "preproc.c" break; case 3479: /* ECPGKeywords_rest: SQL_DESCRIBE */ -#line 18695 "preproc.y" +#line 18688 "preproc.y" { (yyval.str) = mm_strdup("describe"); } -#line 65205 "preproc.c" +#line 65198 "preproc.c" break; case 3480: /* ECPGKeywords_rest: SQL_DISCONNECT */ -#line 18696 "preproc.y" +#line 18689 "preproc.y" { (yyval.str) = mm_strdup("disconnect"); } -#line 65211 "preproc.c" +#line 65204 "preproc.c" break; case 3481: /* ECPGKeywords_rest: SQL_OPEN */ -#line 18697 "preproc.y" +#line 18690 "preproc.y" { (yyval.str) = mm_strdup("open"); } -#line 65217 "preproc.c" +#line 65210 "preproc.c" break; case 3482: /* ECPGKeywords_rest: SQL_VAR */ -#line 18698 "preproc.y" +#line 18691 "preproc.y" { (yyval.str) = mm_strdup("var"); } -#line 65223 "preproc.c" +#line 65216 "preproc.c" break; case 3483: /* ECPGKeywords_rest: SQL_WHENEVER */ -#line 18699 "preproc.y" +#line 18692 "preproc.y" { (yyval.str) = mm_strdup("whenever"); } -#line 65229 "preproc.c" +#line 65222 "preproc.c" break; case 3484: /* ECPGTypeName: SQL_BOOL */ -#line 18703 "preproc.y" +#line 18696 "preproc.y" { (yyval.str) = mm_strdup("bool"); } -#line 65235 "preproc.c" +#line 65228 "preproc.c" break; case 3485: /* ECPGTypeName: SQL_LONG */ -#line 18704 "preproc.y" +#line 18697 "preproc.y" { (yyval.str) = mm_strdup("long"); } -#line 65241 "preproc.c" +#line 65234 "preproc.c" break; case 3486: /* ECPGTypeName: SQL_OUTPUT */ -#line 18705 "preproc.y" +#line 18698 "preproc.y" { (yyval.str) = mm_strdup("output"); } -#line 65247 "preproc.c" +#line 65240 "preproc.c" break; case 3487: /* ECPGTypeName: SQL_SHORT */ -#line 18706 "preproc.y" +#line 18699 "preproc.y" { (yyval.str) = mm_strdup("short"); } -#line 65253 "preproc.c" +#line 65246 "preproc.c" break; case 3488: /* ECPGTypeName: SQL_STRUCT */ -#line 18707 "preproc.y" +#line 18700 "preproc.y" { (yyval.str) = mm_strdup("struct"); } -#line 65259 "preproc.c" +#line 65252 "preproc.c" break; case 3489: /* ECPGTypeName: SQL_SIGNED */ -#line 18708 "preproc.y" +#line 18701 "preproc.y" { (yyval.str) = mm_strdup("signed"); } -#line 65265 "preproc.c" +#line 65258 "preproc.c" break; case 3490: /* ECPGTypeName: SQL_UNSIGNED */ -#line 18709 "preproc.y" +#line 18702 "preproc.y" { (yyval.str) = mm_strdup("unsigned"); } -#line 65271 "preproc.c" +#line 65264 "preproc.c" break; case 3491: /* symbol: ColLabel */ -#line 18712 "preproc.y" +#line 18705 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65277 "preproc.c" +#line 65270 "preproc.c" break; case 3492: /* ECPGColId: ecpg_ident */ -#line 18715 "preproc.y" +#line 18708 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65283 "preproc.c" +#line 65276 "preproc.c" break; case 3493: /* ECPGColId: unreserved_keyword */ -#line 18716 "preproc.y" +#line 18709 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65289 "preproc.c" +#line 65282 "preproc.c" break; case 3494: /* ECPGColId: col_name_keyword */ -#line 18717 "preproc.y" +#line 18710 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65295 "preproc.c" +#line 65288 "preproc.c" break; case 3495: /* ECPGColId: ECPGunreserved_interval */ -#line 18718 "preproc.y" +#line 18711 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65301 "preproc.c" +#line 65294 "preproc.c" break; case 3496: /* ECPGColId: ECPGKeywords */ -#line 18719 "preproc.y" +#line 18712 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65307 "preproc.c" +#line 65300 "preproc.c" break; case 3497: /* ECPGColId: ECPGCKeywords */ -#line 18720 "preproc.y" +#line 18713 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65313 "preproc.c" +#line 65306 "preproc.c" break; case 3498: /* ECPGColId: CHAR_P */ -#line 18721 "preproc.y" +#line 18714 "preproc.y" { (yyval.str) = mm_strdup("char"); } -#line 65319 "preproc.c" +#line 65312 "preproc.c" break; case 3499: /* ECPGColId: VALUES */ -#line 18722 "preproc.y" +#line 18715 "preproc.y" { (yyval.str) = mm_strdup("values"); } -#line 65325 "preproc.c" +#line 65318 "preproc.c" break; case 3500: /* ColId: ecpg_ident */ -#line 18735 "preproc.y" +#line 18728 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65331 "preproc.c" +#line 65324 "preproc.c" break; case 3501: /* ColId: all_unreserved_keyword */ -#line 18736 "preproc.y" +#line 18729 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65337 "preproc.c" +#line 65330 "preproc.c" break; case 3502: /* ColId: col_name_keyword */ -#line 18737 "preproc.y" +#line 18730 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65343 "preproc.c" +#line 65336 "preproc.c" break; case 3503: /* ColId: ECPGKeywords */ -#line 18738 "preproc.y" +#line 18731 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65349 "preproc.c" +#line 65342 "preproc.c" break; case 3504: /* ColId: ECPGCKeywords */ -#line 18739 "preproc.y" +#line 18732 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65355 "preproc.c" +#line 65348 "preproc.c" break; case 3505: /* ColId: CHAR_P */ -#line 18740 "preproc.y" +#line 18733 "preproc.y" { (yyval.str) = mm_strdup("char"); } -#line 65361 "preproc.c" +#line 65354 "preproc.c" break; case 3506: /* ColId: VALUES */ -#line 18741 "preproc.y" +#line 18734 "preproc.y" { (yyval.str) = mm_strdup("values"); } -#line 65367 "preproc.c" +#line 65360 "preproc.c" break; case 3507: /* type_function_name: ecpg_ident */ -#line 18746 "preproc.y" +#line 18739 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65373 "preproc.c" +#line 65366 "preproc.c" break; case 3508: /* type_function_name: all_unreserved_keyword */ -#line 18747 "preproc.y" +#line 18740 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65379 "preproc.c" +#line 65372 "preproc.c" break; case 3509: /* type_function_name: type_func_name_keyword */ -#line 18748 "preproc.y" +#line 18741 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65385 "preproc.c" +#line 65378 "preproc.c" break; case 3510: /* type_function_name: ECPGKeywords */ -#line 18749 "preproc.y" +#line 18742 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65391 "preproc.c" +#line 65384 "preproc.c" break; case 3511: /* type_function_name: ECPGCKeywords */ -#line 18750 "preproc.y" +#line 18743 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65397 "preproc.c" +#line 65390 "preproc.c" break; case 3512: /* type_function_name: ECPGTypeName */ -#line 18751 "preproc.y" +#line 18744 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65403 "preproc.c" +#line 65396 "preproc.c" break; case 3513: /* ColLabel: ECPGColLabel */ -#line 18757 "preproc.y" +#line 18750 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65409 "preproc.c" +#line 65402 "preproc.c" break; case 3514: /* ColLabel: ECPGTypeName */ -#line 18758 "preproc.y" +#line 18751 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65415 "preproc.c" +#line 65408 "preproc.c" break; case 3515: /* ColLabel: CHAR_P */ -#line 18759 "preproc.y" +#line 18752 "preproc.y" { (yyval.str) = mm_strdup("char"); } -#line 65421 "preproc.c" +#line 65414 "preproc.c" break; case 3516: /* ColLabel: CURRENT_P */ -#line 18760 "preproc.y" +#line 18753 "preproc.y" { (yyval.str) = mm_strdup("current"); } -#line 65427 "preproc.c" +#line 65420 "preproc.c" break; case 3517: /* ColLabel: INPUT_P */ -#line 18761 "preproc.y" +#line 18754 "preproc.y" { (yyval.str) = mm_strdup("input"); } -#line 65433 "preproc.c" +#line 65426 "preproc.c" break; case 3518: /* ColLabel: INT_P */ -#line 18762 "preproc.y" +#line 18755 "preproc.y" { (yyval.str) = mm_strdup("int"); } -#line 65439 "preproc.c" +#line 65432 "preproc.c" break; case 3519: /* ColLabel: TO */ -#line 18763 "preproc.y" +#line 18756 "preproc.y" { (yyval.str) = mm_strdup("to"); } -#line 65445 "preproc.c" +#line 65438 "preproc.c" break; case 3520: /* ColLabel: UNION */ -#line 18764 "preproc.y" +#line 18757 "preproc.y" { (yyval.str) = mm_strdup("union"); } -#line 65451 "preproc.c" +#line 65444 "preproc.c" break; case 3521: /* ColLabel: VALUES */ -#line 18765 "preproc.y" +#line 18758 "preproc.y" { (yyval.str) = mm_strdup("values"); } -#line 65457 "preproc.c" +#line 65450 "preproc.c" break; case 3522: /* ColLabel: ECPGCKeywords */ -#line 18766 "preproc.y" +#line 18759 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65463 "preproc.c" +#line 65456 "preproc.c" break; case 3523: /* ColLabel: ECPGunreserved_interval */ -#line 18767 "preproc.y" +#line 18760 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65469 "preproc.c" +#line 65462 "preproc.c" break; case 3524: /* ECPGColLabel: ECPGColLabelCommon */ -#line 18770 "preproc.y" +#line 18763 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65475 "preproc.c" +#line 65468 "preproc.c" break; case 3525: /* ECPGColLabel: unreserved_keyword */ -#line 18771 "preproc.y" +#line 18764 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65481 "preproc.c" +#line 65474 "preproc.c" break; case 3526: /* ECPGColLabel: reserved_keyword */ -#line 18772 "preproc.y" +#line 18765 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65487 "preproc.c" +#line 65480 "preproc.c" break; case 3527: /* ECPGColLabel: ECPGKeywords_rest */ -#line 18773 "preproc.y" +#line 18766 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65493 "preproc.c" +#line 65486 "preproc.c" break; case 3528: /* ECPGColLabel: CONNECTION */ -#line 18774 "preproc.y" +#line 18767 "preproc.y" { (yyval.str) = mm_strdup("connection"); } -#line 65499 "preproc.c" +#line 65492 "preproc.c" break; case 3529: /* ECPGColLabelCommon: ecpg_ident */ -#line 18777 "preproc.y" +#line 18770 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65505 "preproc.c" +#line 65498 "preproc.c" break; case 3530: /* ECPGColLabelCommon: col_name_keyword */ -#line 18778 "preproc.y" +#line 18771 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65511 "preproc.c" +#line 65504 "preproc.c" break; case 3531: /* ECPGColLabelCommon: type_func_name_keyword */ -#line 18779 "preproc.y" +#line 18772 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65517 "preproc.c" +#line 65510 "preproc.c" break; case 3532: /* ECPGColLabelCommon: ECPGKeywords_vanames */ -#line 18780 "preproc.y" +#line 18773 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65523 "preproc.c" +#line 65516 "preproc.c" break; case 3533: /* ECPGCKeywords: S_AUTO */ -#line 18783 "preproc.y" +#line 18776 "preproc.y" { (yyval.str) = mm_strdup("auto"); } -#line 65529 "preproc.c" +#line 65522 "preproc.c" break; case 3534: /* ECPGCKeywords: S_CONST */ -#line 18784 "preproc.y" +#line 18777 "preproc.y" { (yyval.str) = mm_strdup("const"); } -#line 65535 "preproc.c" +#line 65528 "preproc.c" break; case 3535: /* ECPGCKeywords: S_EXTERN */ -#line 18785 "preproc.y" +#line 18778 "preproc.y" { (yyval.str) = mm_strdup("extern"); } -#line 65541 "preproc.c" +#line 65534 "preproc.c" break; case 3536: /* ECPGCKeywords: S_REGISTER */ -#line 18786 "preproc.y" +#line 18779 "preproc.y" { (yyval.str) = mm_strdup("register"); } -#line 65547 "preproc.c" +#line 65540 "preproc.c" break; case 3537: /* ECPGCKeywords: S_STATIC */ -#line 18787 "preproc.y" +#line 18780 "preproc.y" { (yyval.str) = mm_strdup("static"); } -#line 65553 "preproc.c" +#line 65546 "preproc.c" break; case 3538: /* ECPGCKeywords: S_TYPEDEF */ -#line 18788 "preproc.y" +#line 18781 "preproc.y" { (yyval.str) = mm_strdup("typedef"); } -#line 65559 "preproc.c" +#line 65552 "preproc.c" break; case 3539: /* ECPGCKeywords: S_VOLATILE */ -#line 18789 "preproc.y" +#line 18782 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } -#line 65565 "preproc.c" +#line 65558 "preproc.c" break; case 3540: /* all_unreserved_keyword: unreserved_keyword */ -#line 18806 "preproc.y" +#line 18799 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65571 "preproc.c" +#line 65564 "preproc.c" break; case 3541: /* all_unreserved_keyword: ECPGunreserved_interval */ -#line 18807 "preproc.y" +#line 18800 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65577 "preproc.c" +#line 65570 "preproc.c" break; case 3542: /* all_unreserved_keyword: CONNECTION */ -#line 18808 "preproc.y" +#line 18801 "preproc.y" { (yyval.str) = mm_strdup("connection"); } -#line 65583 "preproc.c" +#line 65576 "preproc.c" break; case 3543: /* ECPGunreserved_interval: DAY_P */ -#line 18811 "preproc.y" +#line 18804 "preproc.y" { (yyval.str) = mm_strdup("day"); } -#line 65589 "preproc.c" +#line 65582 "preproc.c" break; case 3544: /* ECPGunreserved_interval: HOUR_P */ -#line 18812 "preproc.y" +#line 18805 "preproc.y" { (yyval.str) = mm_strdup("hour"); } -#line 65595 "preproc.c" +#line 65588 "preproc.c" break; case 3545: /* ECPGunreserved_interval: MINUTE_P */ -#line 18813 "preproc.y" +#line 18806 "preproc.y" { (yyval.str) = mm_strdup("minute"); } -#line 65601 "preproc.c" +#line 65594 "preproc.c" break; case 3546: /* ECPGunreserved_interval: MONTH_P */ -#line 18814 "preproc.y" +#line 18807 "preproc.y" { (yyval.str) = mm_strdup("month"); } -#line 65607 "preproc.c" +#line 65600 "preproc.c" break; case 3547: /* ECPGunreserved_interval: SECOND_P */ -#line 18815 "preproc.y" +#line 18808 "preproc.y" { (yyval.str) = mm_strdup("second"); } -#line 65613 "preproc.c" +#line 65606 "preproc.c" break; case 3548: /* ECPGunreserved_interval: YEAR_P */ -#line 18816 "preproc.y" +#line 18809 "preproc.y" { (yyval.str) = mm_strdup("year"); } -#line 65619 "preproc.c" +#line 65612 "preproc.c" break; case 3551: /* ecpgstart: SQL_START */ -#line 18823 "preproc.y" +#line 18816 "preproc.y" { reset_variables(); pacounter = 1; } -#line 65628 "preproc.c" +#line 65621 "preproc.c" break; case 3552: /* c_args: %empty */ -#line 18829 "preproc.y" +#line 18822 "preproc.y" { (yyval.str) = EMPTY; } -#line 65634 "preproc.c" +#line 65627 "preproc.c" break; case 3553: /* c_args: c_list */ -#line 18830 "preproc.y" +#line 18823 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65640 "preproc.c" +#line 65633 "preproc.c" break; case 3554: /* coutputvariable: cvariable indicator */ -#line 18834 "preproc.y" +#line 18827 "preproc.y" { add_variable_to_head(&argsresult, find_variable((yyvsp[-1].str)), find_variable((yyvsp[0].str))); } -#line 65646 "preproc.c" +#line 65639 "preproc.c" break; case 3555: /* coutputvariable: cvariable */ -#line 18836 "preproc.y" +#line 18829 "preproc.y" { add_variable_to_head(&argsresult, find_variable((yyvsp[0].str)), &no_indicator); } -#line 65652 "preproc.c" +#line 65645 "preproc.c" break; case 3556: /* civarind: cvariable indicator */ -#line 18841 "preproc.y" +#line 18834 "preproc.y" { if (find_variable((yyvsp[0].str))->type->type == ECPGt_array) mmerror(PARSE_ERROR, ET_ERROR, "arrays of indicators are not allowed on input"); @@ -65660,11 +65653,11 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") add_variable_to_head(&argsinsert, find_variable((yyvsp[-1].str)), find_variable((yyvsp[0].str))); (yyval.str) = create_questionmarks((yyvsp[-1].str), false); } -#line 65664 "preproc.c" +#line 65657 "preproc.c" break; case 3557: /* char_civar: char_variable */ -#line 18851 "preproc.y" +#line 18844 "preproc.y" { char *ptr = strstr((yyvsp[0].str), ".arr"); @@ -65673,38 +65666,38 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") add_variable_to_head(&argsinsert, find_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = (yyvsp[0].str); } -#line 65677 "preproc.c" +#line 65670 "preproc.c" break; case 3558: /* civar: cvariable */ -#line 18862 "preproc.y" +#line 18855 "preproc.y" { add_variable_to_head(&argsinsert, find_variable((yyvsp[0].str)), &no_indicator); (yyval.str) = create_questionmarks((yyvsp[0].str), false); } -#line 65686 "preproc.c" +#line 65679 "preproc.c" break; case 3559: /* indicator: cvariable */ -#line 18868 "preproc.y" +#line 18861 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } -#line 65692 "preproc.c" +#line 65685 "preproc.c" break; case 3560: /* indicator: SQL_INDICATOR cvariable */ -#line 18869 "preproc.y" +#line 18862 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } -#line 65698 "preproc.c" +#line 65691 "preproc.c" break; case 3561: /* indicator: SQL_INDICATOR name */ -#line 18870 "preproc.y" +#line 18863 "preproc.y" { check_indicator((find_variable((yyvsp[0].str)))->type); (yyval.str) = (yyvsp[0].str); } -#line 65704 "preproc.c" +#line 65697 "preproc.c" break; case 3562: /* cvariable: CVARIABLE */ -#line 18874 "preproc.y" +#line 18867 "preproc.y" { /* As long as multidimensional arrays are not implemented we have to check for those here */ char *ptr = (yyvsp[0].str); @@ -65735,627 +65728,627 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") } (yyval.str) = (yyvsp[0].str); } -#line 65739 "preproc.c" +#line 65732 "preproc.c" break; case 3563: /* ecpg_param: PARAM */ -#line 18906 "preproc.y" +#line 18899 "preproc.y" { (yyval.str) = make_name(); } -#line 65745 "preproc.c" +#line 65738 "preproc.c" break; case 3564: /* ecpg_bconst: BCONST */ -#line 18908 "preproc.y" +#line 18901 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65751 "preproc.c" +#line 65744 "preproc.c" break; case 3565: /* ecpg_fconst: FCONST */ -#line 18910 "preproc.y" +#line 18903 "preproc.y" { (yyval.str) = make_name(); } -#line 65757 "preproc.c" +#line 65750 "preproc.c" break; case 3566: /* ecpg_sconst: SCONST */ -#line 18912 "preproc.y" +#line 18905 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65763 "preproc.c" +#line 65756 "preproc.c" break; case 3567: /* ecpg_xconst: XCONST */ -#line 18914 "preproc.y" +#line 18907 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65769 "preproc.c" +#line 65762 "preproc.c" break; case 3568: /* ecpg_ident: IDENT */ -#line 18916 "preproc.y" +#line 18909 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65775 "preproc.c" +#line 65768 "preproc.c" break; case 3569: /* ecpg_ident: CSTRING */ -#line 18917 "preproc.y" +#line 18910 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } -#line 65781 "preproc.c" +#line 65774 "preproc.c" break; case 3570: /* quoted_ident_stringvar: name */ -#line 18921 "preproc.y" +#line 18914 "preproc.y" { (yyval.str) = make3_str(mm_strdup("\""), (yyvsp[0].str), mm_strdup("\"")); } -#line 65787 "preproc.c" +#line 65780 "preproc.c" break; case 3571: /* quoted_ident_stringvar: char_variable */ -#line 18923 "preproc.y" +#line 18916 "preproc.y" { (yyval.str) = make3_str(mm_strdup("("), (yyvsp[0].str), mm_strdup(")")); } -#line 65793 "preproc.c" +#line 65786 "preproc.c" break; case 3572: /* c_stuff_item: c_anything */ -#line 18930 "preproc.y" +#line 18923 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65799 "preproc.c" +#line 65792 "preproc.c" break; case 3573: /* c_stuff_item: '(' ')' */ -#line 18931 "preproc.y" +#line 18924 "preproc.y" { (yyval.str) = mm_strdup("()"); } -#line 65805 "preproc.c" +#line 65798 "preproc.c" break; case 3574: /* c_stuff_item: '(' c_stuff ')' */ -#line 18933 "preproc.y" +#line 18926 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); } -#line 65811 "preproc.c" +#line 65804 "preproc.c" break; case 3575: /* c_stuff: c_stuff_item */ -#line 18936 "preproc.y" +#line 18929 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65817 "preproc.c" +#line 65810 "preproc.c" break; case 3576: /* c_stuff: c_stuff c_stuff_item */ -#line 18938 "preproc.y" +#line 18931 "preproc.y" { (yyval.str) = cat2_str((yyvsp[-1].str), (yyvsp[0].str)); } -#line 65823 "preproc.c" +#line 65816 "preproc.c" break; case 3577: /* c_list: c_term */ -#line 18941 "preproc.y" +#line 18934 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65829 "preproc.c" +#line 65822 "preproc.c" break; case 3578: /* c_list: c_list ',' c_term */ -#line 18942 "preproc.y" +#line 18935 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup(","), (yyvsp[0].str)); } -#line 65835 "preproc.c" +#line 65828 "preproc.c" break; case 3579: /* c_term: c_stuff */ -#line 18945 "preproc.y" +#line 18938 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65841 "preproc.c" +#line 65834 "preproc.c" break; case 3580: /* c_term: '{' c_list '}' */ -#line 18946 "preproc.y" +#line 18939 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("{"), (yyvsp[-1].str), mm_strdup("}")); } -#line 65847 "preproc.c" +#line 65840 "preproc.c" break; case 3581: /* c_thing: c_anything */ -#line 18949 "preproc.y" +#line 18942 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65853 "preproc.c" +#line 65846 "preproc.c" break; case 3582: /* c_thing: '(' */ -#line 18950 "preproc.y" +#line 18943 "preproc.y" { (yyval.str) = mm_strdup("("); } -#line 65859 "preproc.c" +#line 65852 "preproc.c" break; case 3583: /* c_thing: ')' */ -#line 18951 "preproc.y" +#line 18944 "preproc.y" { (yyval.str) = mm_strdup(")"); } -#line 65865 "preproc.c" +#line 65858 "preproc.c" break; case 3584: /* c_thing: ',' */ -#line 18952 "preproc.y" +#line 18945 "preproc.y" { (yyval.str) = mm_strdup(","); } -#line 65871 "preproc.c" +#line 65864 "preproc.c" break; case 3585: /* c_thing: ';' */ -#line 18953 "preproc.y" +#line 18946 "preproc.y" { (yyval.str) = mm_strdup(";"); } -#line 65877 "preproc.c" +#line 65870 "preproc.c" break; case 3586: /* c_anything: ecpg_ident */ -#line 18956 "preproc.y" +#line 18949 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65883 "preproc.c" +#line 65876 "preproc.c" break; case 3587: /* c_anything: Iconst */ -#line 18957 "preproc.y" +#line 18950 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65889 "preproc.c" +#line 65882 "preproc.c" break; case 3588: /* c_anything: ecpg_fconst */ -#line 18958 "preproc.y" +#line 18951 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65895 "preproc.c" +#line 65888 "preproc.c" break; case 3589: /* c_anything: ecpg_sconst */ -#line 18959 "preproc.y" +#line 18952 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 65901 "preproc.c" +#line 65894 "preproc.c" break; case 3590: /* c_anything: '*' */ -#line 18960 "preproc.y" +#line 18953 "preproc.y" { (yyval.str) = mm_strdup("*"); } -#line 65907 "preproc.c" +#line 65900 "preproc.c" break; case 3591: /* c_anything: '+' */ -#line 18961 "preproc.y" +#line 18954 "preproc.y" { (yyval.str) = mm_strdup("+"); } -#line 65913 "preproc.c" +#line 65906 "preproc.c" break; case 3592: /* c_anything: '-' */ -#line 18962 "preproc.y" +#line 18955 "preproc.y" { (yyval.str) = mm_strdup("-"); } -#line 65919 "preproc.c" +#line 65912 "preproc.c" break; case 3593: /* c_anything: '/' */ -#line 18963 "preproc.y" +#line 18956 "preproc.y" { (yyval.str) = mm_strdup("/"); } -#line 65925 "preproc.c" +#line 65918 "preproc.c" break; case 3594: /* c_anything: '%' */ -#line 18964 "preproc.y" +#line 18957 "preproc.y" { (yyval.str) = mm_strdup("%"); } -#line 65931 "preproc.c" +#line 65924 "preproc.c" break; case 3595: /* c_anything: NULL_P */ -#line 18965 "preproc.y" +#line 18958 "preproc.y" { (yyval.str) = mm_strdup("NULL"); } -#line 65937 "preproc.c" +#line 65930 "preproc.c" break; case 3596: /* c_anything: S_ADD */ -#line 18966 "preproc.y" +#line 18959 "preproc.y" { (yyval.str) = mm_strdup("+="); } -#line 65943 "preproc.c" +#line 65936 "preproc.c" break; case 3597: /* c_anything: S_AND */ -#line 18967 "preproc.y" +#line 18960 "preproc.y" { (yyval.str) = mm_strdup("&&"); } -#line 65949 "preproc.c" +#line 65942 "preproc.c" break; case 3598: /* c_anything: S_ANYTHING */ -#line 18968 "preproc.y" +#line 18961 "preproc.y" { (yyval.str) = make_name(); } -#line 65955 "preproc.c" +#line 65948 "preproc.c" break; case 3599: /* c_anything: S_AUTO */ -#line 18969 "preproc.y" +#line 18962 "preproc.y" { (yyval.str) = mm_strdup("auto"); } -#line 65961 "preproc.c" +#line 65954 "preproc.c" break; case 3600: /* c_anything: S_CONST */ -#line 18970 "preproc.y" +#line 18963 "preproc.y" { (yyval.str) = mm_strdup("const"); } -#line 65967 "preproc.c" +#line 65960 "preproc.c" break; case 3601: /* c_anything: S_DEC */ -#line 18971 "preproc.y" +#line 18964 "preproc.y" { (yyval.str) = mm_strdup("--"); } -#line 65973 "preproc.c" +#line 65966 "preproc.c" break; case 3602: /* c_anything: S_DIV */ -#line 18972 "preproc.y" +#line 18965 "preproc.y" { (yyval.str) = mm_strdup("/="); } -#line 65979 "preproc.c" +#line 65972 "preproc.c" break; case 3603: /* c_anything: S_DOTPOINT */ -#line 18973 "preproc.y" +#line 18966 "preproc.y" { (yyval.str) = mm_strdup(".*"); } -#line 65985 "preproc.c" +#line 65978 "preproc.c" break; case 3604: /* c_anything: S_EQUAL */ -#line 18974 "preproc.y" +#line 18967 "preproc.y" { (yyval.str) = mm_strdup("=="); } -#line 65991 "preproc.c" +#line 65984 "preproc.c" break; case 3605: /* c_anything: S_EXTERN */ -#line 18975 "preproc.y" +#line 18968 "preproc.y" { (yyval.str) = mm_strdup("extern"); } -#line 65997 "preproc.c" +#line 65990 "preproc.c" break; case 3606: /* c_anything: S_INC */ -#line 18976 "preproc.y" +#line 18969 "preproc.y" { (yyval.str) = mm_strdup("++"); } -#line 66003 "preproc.c" +#line 65996 "preproc.c" break; case 3607: /* c_anything: S_LSHIFT */ -#line 18977 "preproc.y" +#line 18970 "preproc.y" { (yyval.str) = mm_strdup("<<"); } -#line 66009 "preproc.c" +#line 66002 "preproc.c" break; case 3608: /* c_anything: S_MEMBER */ -#line 18978 "preproc.y" +#line 18971 "preproc.y" { (yyval.str) = mm_strdup("->"); } -#line 66015 "preproc.c" +#line 66008 "preproc.c" break; case 3609: /* c_anything: S_MEMPOINT */ -#line 18979 "preproc.y" +#line 18972 "preproc.y" { (yyval.str) = mm_strdup("->*"); } -#line 66021 "preproc.c" +#line 66014 "preproc.c" break; case 3610: /* c_anything: S_MOD */ -#line 18980 "preproc.y" +#line 18973 "preproc.y" { (yyval.str) = mm_strdup("%="); } -#line 66027 "preproc.c" +#line 66020 "preproc.c" break; case 3611: /* c_anything: S_MUL */ -#line 18981 "preproc.y" +#line 18974 "preproc.y" { (yyval.str) = mm_strdup("*="); } -#line 66033 "preproc.c" +#line 66026 "preproc.c" break; case 3612: /* c_anything: S_NEQUAL */ -#line 18982 "preproc.y" +#line 18975 "preproc.y" { (yyval.str) = mm_strdup("!="); } -#line 66039 "preproc.c" +#line 66032 "preproc.c" break; case 3613: /* c_anything: S_OR */ -#line 18983 "preproc.y" +#line 18976 "preproc.y" { (yyval.str) = mm_strdup("||"); } -#line 66045 "preproc.c" +#line 66038 "preproc.c" break; case 3614: /* c_anything: S_REGISTER */ -#line 18984 "preproc.y" +#line 18977 "preproc.y" { (yyval.str) = mm_strdup("register"); } -#line 66051 "preproc.c" +#line 66044 "preproc.c" break; case 3615: /* c_anything: S_RSHIFT */ -#line 18985 "preproc.y" +#line 18978 "preproc.y" { (yyval.str) = mm_strdup(">>"); } -#line 66057 "preproc.c" +#line 66050 "preproc.c" break; case 3616: /* c_anything: S_STATIC */ -#line 18986 "preproc.y" +#line 18979 "preproc.y" { (yyval.str) = mm_strdup("static"); } -#line 66063 "preproc.c" +#line 66056 "preproc.c" break; case 3617: /* c_anything: S_SUB */ -#line 18987 "preproc.y" +#line 18980 "preproc.y" { (yyval.str) = mm_strdup("-="); } -#line 66069 "preproc.c" +#line 66062 "preproc.c" break; case 3618: /* c_anything: S_TYPEDEF */ -#line 18988 "preproc.y" +#line 18981 "preproc.y" { (yyval.str) = mm_strdup("typedef"); } -#line 66075 "preproc.c" +#line 66068 "preproc.c" break; case 3619: /* c_anything: S_VOLATILE */ -#line 18989 "preproc.y" +#line 18982 "preproc.y" { (yyval.str) = mm_strdup("volatile"); } -#line 66081 "preproc.c" +#line 66074 "preproc.c" break; case 3620: /* c_anything: SQL_BOOL */ -#line 18990 "preproc.y" +#line 18983 "preproc.y" { (yyval.str) = mm_strdup("bool"); } -#line 66087 "preproc.c" +#line 66080 "preproc.c" break; case 3621: /* c_anything: ENUM_P */ -#line 18991 "preproc.y" +#line 18984 "preproc.y" { (yyval.str) = mm_strdup("enum"); } -#line 66093 "preproc.c" +#line 66086 "preproc.c" break; case 3622: /* c_anything: HOUR_P */ -#line 18992 "preproc.y" +#line 18985 "preproc.y" { (yyval.str) = mm_strdup("hour"); } -#line 66099 "preproc.c" +#line 66092 "preproc.c" break; case 3623: /* c_anything: INT_P */ -#line 18993 "preproc.y" +#line 18986 "preproc.y" { (yyval.str) = mm_strdup("int"); } -#line 66105 "preproc.c" +#line 66098 "preproc.c" break; case 3624: /* c_anything: SQL_LONG */ -#line 18994 "preproc.y" +#line 18987 "preproc.y" { (yyval.str) = mm_strdup("long"); } -#line 66111 "preproc.c" +#line 66104 "preproc.c" break; case 3625: /* c_anything: MINUTE_P */ -#line 18995 "preproc.y" +#line 18988 "preproc.y" { (yyval.str) = mm_strdup("minute"); } -#line 66117 "preproc.c" +#line 66110 "preproc.c" break; case 3626: /* c_anything: MONTH_P */ -#line 18996 "preproc.y" +#line 18989 "preproc.y" { (yyval.str) = mm_strdup("month"); } -#line 66123 "preproc.c" +#line 66116 "preproc.c" break; case 3627: /* c_anything: SECOND_P */ -#line 18997 "preproc.y" +#line 18990 "preproc.y" { (yyval.str) = mm_strdup("second"); } -#line 66129 "preproc.c" +#line 66122 "preproc.c" break; case 3628: /* c_anything: SQL_SHORT */ -#line 18998 "preproc.y" +#line 18991 "preproc.y" { (yyval.str) = mm_strdup("short"); } -#line 66135 "preproc.c" +#line 66128 "preproc.c" break; case 3629: /* c_anything: SQL_SIGNED */ -#line 18999 "preproc.y" +#line 18992 "preproc.y" { (yyval.str) = mm_strdup("signed"); } -#line 66141 "preproc.c" +#line 66134 "preproc.c" break; case 3630: /* c_anything: SQL_STRUCT */ -#line 19000 "preproc.y" +#line 18993 "preproc.y" { (yyval.str) = mm_strdup("struct"); } -#line 66147 "preproc.c" +#line 66140 "preproc.c" break; case 3631: /* c_anything: SQL_UNSIGNED */ -#line 19001 "preproc.y" +#line 18994 "preproc.y" { (yyval.str) = mm_strdup("unsigned"); } -#line 66153 "preproc.c" +#line 66146 "preproc.c" break; case 3632: /* c_anything: YEAR_P */ -#line 19002 "preproc.y" +#line 18995 "preproc.y" { (yyval.str) = mm_strdup("year"); } -#line 66159 "preproc.c" +#line 66152 "preproc.c" break; case 3633: /* c_anything: CHAR_P */ -#line 19003 "preproc.y" +#line 18996 "preproc.y" { (yyval.str) = mm_strdup("char"); } -#line 66165 "preproc.c" +#line 66158 "preproc.c" break; case 3634: /* c_anything: FLOAT_P */ -#line 19004 "preproc.y" +#line 18997 "preproc.y" { (yyval.str) = mm_strdup("float"); } -#line 66171 "preproc.c" +#line 66164 "preproc.c" break; case 3635: /* c_anything: TO */ -#line 19005 "preproc.y" +#line 18998 "preproc.y" { (yyval.str) = mm_strdup("to"); } -#line 66177 "preproc.c" +#line 66170 "preproc.c" break; case 3636: /* c_anything: UNION */ -#line 19006 "preproc.y" +#line 18999 "preproc.y" { (yyval.str) = mm_strdup("union"); } -#line 66183 "preproc.c" +#line 66176 "preproc.c" break; case 3637: /* c_anything: VARCHAR */ -#line 19007 "preproc.y" +#line 19000 "preproc.y" { (yyval.str) = mm_strdup("varchar"); } -#line 66189 "preproc.c" +#line 66182 "preproc.c" break; case 3638: /* c_anything: '[' */ -#line 19008 "preproc.y" +#line 19001 "preproc.y" { (yyval.str) = mm_strdup("["); } -#line 66195 "preproc.c" +#line 66188 "preproc.c" break; case 3639: /* c_anything: ']' */ -#line 19009 "preproc.y" +#line 19002 "preproc.y" { (yyval.str) = mm_strdup("]"); } -#line 66201 "preproc.c" +#line 66194 "preproc.c" break; case 3640: /* c_anything: '=' */ -#line 19010 "preproc.y" +#line 19003 "preproc.y" { (yyval.str) = mm_strdup("="); } -#line 66207 "preproc.c" +#line 66200 "preproc.c" break; case 3641: /* c_anything: ':' */ -#line 19011 "preproc.y" +#line 19004 "preproc.y" { (yyval.str) = mm_strdup(":"); } -#line 66213 "preproc.c" +#line 66206 "preproc.c" break; case 3642: /* DeallocateStmt: DEALLOCATE prepared_name */ -#line 19014 "preproc.y" +#line 19007 "preproc.y" { check_declared_list((yyvsp[0].str)); (yyval.str) = (yyvsp[0].str); } -#line 66219 "preproc.c" +#line 66212 "preproc.c" break; case 3643: /* DeallocateStmt: DEALLOCATE PREPARE prepared_name */ -#line 19015 "preproc.y" +#line 19008 "preproc.y" { check_declared_list((yyvsp[0].str)); (yyval.str) = (yyvsp[0].str); } -#line 66225 "preproc.c" +#line 66218 "preproc.c" break; case 3644: /* DeallocateStmt: DEALLOCATE ALL */ -#line 19016 "preproc.y" +#line 19009 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 66231 "preproc.c" +#line 66224 "preproc.c" break; case 3645: /* DeallocateStmt: DEALLOCATE PREPARE ALL */ -#line 19017 "preproc.y" +#line 19010 "preproc.y" { (yyval.str) = mm_strdup("all"); } -#line 66237 "preproc.c" +#line 66230 "preproc.c" break; case 3646: /* Iresult: Iconst */ -#line 19020 "preproc.y" +#line 19013 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 66243 "preproc.c" +#line 66236 "preproc.c" break; case 3647: /* Iresult: '(' Iresult ')' */ -#line 19021 "preproc.y" +#line 19014 "preproc.y" { (yyval.str) = cat_str(3, mm_strdup("("), (yyvsp[-1].str), mm_strdup(")")); } -#line 66249 "preproc.c" +#line 66242 "preproc.c" break; case 3648: /* Iresult: Iresult '+' Iresult */ -#line 19022 "preproc.y" +#line 19015 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("+"), (yyvsp[0].str)); } -#line 66255 "preproc.c" +#line 66248 "preproc.c" break; case 3649: /* Iresult: Iresult '-' Iresult */ -#line 19023 "preproc.y" +#line 19016 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("-"), (yyvsp[0].str)); } -#line 66261 "preproc.c" +#line 66254 "preproc.c" break; case 3650: /* Iresult: Iresult '*' Iresult */ -#line 19024 "preproc.y" +#line 19017 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("*"), (yyvsp[0].str)); } -#line 66267 "preproc.c" +#line 66260 "preproc.c" break; case 3651: /* Iresult: Iresult '/' Iresult */ -#line 19025 "preproc.y" +#line 19018 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("/"), (yyvsp[0].str)); } -#line 66273 "preproc.c" +#line 66266 "preproc.c" break; case 3652: /* Iresult: Iresult '%' Iresult */ -#line 19026 "preproc.y" +#line 19019 "preproc.y" { (yyval.str) = cat_str(3, (yyvsp[-2].str), mm_strdup("%"), (yyvsp[0].str)); } -#line 66279 "preproc.c" +#line 66272 "preproc.c" break; case 3653: /* Iresult: ecpg_sconst */ -#line 19027 "preproc.y" +#line 19020 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 66285 "preproc.c" +#line 66278 "preproc.c" break; case 3654: /* Iresult: ColId */ -#line 19028 "preproc.y" +#line 19021 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 66291 "preproc.c" +#line 66284 "preproc.c" break; case 3655: /* Iresult: ColId '(' var_type ')' */ -#line 19029 "preproc.y" +#line 19022 "preproc.y" { if (pg_strcasecmp((yyvsp[-3].str), "sizeof") != 0) mmerror(PARSE_ERROR, ET_ERROR, "operator not allowed in variable definition"); else (yyval.str) = cat_str(4, (yyvsp[-3].str), mm_strdup("("), (yyvsp[-1].type).type_str, mm_strdup(")")); } -#line 66301 "preproc.c" +#line 66294 "preproc.c" break; case 3656: /* execute_rest: %empty */ -#line 19036 "preproc.y" +#line 19029 "preproc.y" { (yyval.str) = EMPTY; } -#line 66307 "preproc.c" +#line 66300 "preproc.c" break; case 3657: /* execute_rest: ecpg_using opt_ecpg_into */ -#line 19037 "preproc.y" +#line 19030 "preproc.y" { (yyval.str) = EMPTY; } -#line 66313 "preproc.c" +#line 66306 "preproc.c" break; case 3658: /* execute_rest: ecpg_into ecpg_using */ -#line 19038 "preproc.y" +#line 19031 "preproc.y" { (yyval.str) = EMPTY; } -#line 66319 "preproc.c" +#line 66312 "preproc.c" break; case 3659: /* execute_rest: ecpg_into */ -#line 19039 "preproc.y" +#line 19032 "preproc.y" { (yyval.str) = EMPTY; } -#line 66325 "preproc.c" +#line 66318 "preproc.c" break; case 3660: /* ecpg_into: INTO into_list */ -#line 19042 "preproc.y" +#line 19035 "preproc.y" { (yyval.str) = EMPTY; } -#line 66331 "preproc.c" +#line 66324 "preproc.c" break; case 3661: /* ecpg_into: into_descriptor */ -#line 19043 "preproc.y" +#line 19036 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 66337 "preproc.c" +#line 66330 "preproc.c" break; case 3662: /* opt_ecpg_into: %empty */ -#line 19046 "preproc.y" +#line 19039 "preproc.y" { (yyval.str) = EMPTY; } -#line 66343 "preproc.c" +#line 66336 "preproc.c" break; case 3663: /* opt_ecpg_into: ecpg_into */ -#line 19047 "preproc.y" +#line 19040 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 66349 "preproc.c" +#line 66342 "preproc.c" break; case 3664: /* ecpg_fetch_into: ecpg_into */ -#line 19050 "preproc.y" +#line 19043 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 66355 "preproc.c" +#line 66348 "preproc.c" break; case 3665: /* ecpg_fetch_into: using_descriptor */ -#line 19052 "preproc.y" +#line 19045 "preproc.y" { struct variable *var; @@ -66364,23 +66357,23 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") add_variable_to_head(&argsresult, var, &no_indicator); (yyval.str) = (yyvsp[0].str); } -#line 66368 "preproc.c" +#line 66361 "preproc.c" break; case 3666: /* opt_ecpg_fetch_into: %empty */ -#line 19062 "preproc.y" +#line 19055 "preproc.y" { (yyval.str) = EMPTY; } -#line 66374 "preproc.c" +#line 66367 "preproc.c" break; case 3667: /* opt_ecpg_fetch_into: ecpg_fetch_into */ -#line 19063 "preproc.y" +#line 19056 "preproc.y" { (yyval.str) = (yyvsp[0].str); } -#line 66380 "preproc.c" +#line 66373 "preproc.c" break; -#line 66384 "preproc.c" +#line 66377 "preproc.c" default: break; } @@ -66579,7 +66572,7 @@ yyreturn: return yyresult; } -#line 19066 "preproc.y" +#line 19059 "preproc.y" void base_yyerror(const char *error) diff --git a/src/interfaces/ecpg/preproc/preproc.y b/src/interfaces/ecpg/preproc/preproc.y index 50a0dc3..0a87bad 100644 --- a/src/interfaces/ecpg/preproc/preproc.y +++ b/src/interfaces/ecpg/preproc/preproc.y @@ -2396,12 +2396,10 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") } | CREATE SCHEMA IF_P NOT EXISTS OptSchemaName AUTHORIZATION RoleSpec OptSchemaEltList { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); $$ = cat_str(5,mm_strdup("create schema if not exists"),$6,mm_strdup("authorization"),$8,$9); } | CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); $$ = cat_str(3,mm_strdup("create schema if not exists"),$6,$7); } ; @@ -4249,7 +4247,6 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") key_update: ON UPDATE key_action { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); $$ = cat_str(2,mm_strdup("on update"),$3); } ; @@ -5373,7 +5370,6 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") } | CREATE opt_or_replace CONSTRAINT TRIGGER name AFTER TriggerEvents ON qualified_name OptConstrFromTable ConstraintAttributeSpec FOR EACH ROW TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')' { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); $$ = cat_str(18,mm_strdup("create"),$2,mm_strdup("constraint trigger"),$5,mm_strdup("after"),$7,mm_strdup("on"),$9,$10,$11,mm_strdup("for each row"),$15,mm_strdup("execute"),$17,$18,mm_strdup("("),$20,mm_strdup(")")); } ; @@ -7579,7 +7575,6 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") aggr_arg: func_arg { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); $$ = $1; } ; @@ -9180,12 +9175,10 @@ mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server") } | CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); $$ = cat_str(11,mm_strdup("create"),$2,mm_strdup("recursive view"),$5,mm_strdup("("),$7,mm_strdup(")"),$9,mm_strdup("as"),$11,$12); } | CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option { -mmerror(PARSE_ERROR, ET_WARNING, "unsupported feature will be passed to server"); $$ = cat_str(11,mm_strdup("create or replace"),$4,mm_strdup("recursive view"),$7,mm_strdup("("),$9,mm_strdup(")"),$11,mm_strdup("as"),$13,$14); } ; diff --git a/src/interfaces/ecpg/preproc/type.h b/src/interfaces/ecpg/preproc/type.h index 08b739e..a36d93d 100644 --- a/src/interfaces/ecpg/preproc/type.h +++ b/src/interfaces/ecpg/preproc/type.h @@ -158,13 +158,25 @@ struct typedefs struct typedefs *next; }; +/* + * Info about a defined symbol (macro), coming from a -D command line switch + * or a define command in the program. These are stored in a simple list. + * Because ecpg supports compiling multiple files per run, we have to remember + * the command-line definitions and be able to revert to those; this motivates + * storing cmdvalue separately from value. + * name and value are separately-malloc'd strings; cmdvalue typically isn't. + * used is NULL unless we are currently expanding the macro, in which case + * it points to the buffer before the one scanning the macro; we reset it + * to NULL upon returning to that buffer. This is used to prevent recursive + * expansion of the macro. + */ struct _defines { - char *olddef; - char *newdef; - int pertinent; - void *used; - struct _defines *next; + char *name; /* symbol's name */ + char *value; /* current value, or NULL if undefined */ + const char *cmdvalue; /* value set on command line, or NULL */ + void *used; /* buffer pointer, or NULL */ + struct _defines *next; /* list link */ }; /* This is a linked list of the variable names and types. */ diff --git a/src/interfaces/ecpg/test/compat_informix/.gitignore b/src/interfaces/ecpg/test/compat_informix/.gitignore index f97706b..6967ae7 100644 --- a/src/interfaces/ecpg/test/compat_informix/.gitignore +++ b/src/interfaces/ecpg/test/compat_informix/.gitignore @@ -4,6 +4,8 @@ /dec_test.c /describe /describe.c +/intoasc +/intoasc.c /rfmtdate /rfmtdate.c /rfmtlong diff --git a/src/interfaces/ecpg/test/compat_informix/Makefile b/src/interfaces/ecpg/test/compat_informix/Makefile index d50fdc2..638b4e0 100644 --- a/src/interfaces/ecpg/test/compat_informix/Makefile +++ b/src/interfaces/ecpg/test/compat_informix/Makefile @@ -16,7 +16,8 @@ TESTS = test_informix test_informix.c \ rnull rnull.c \ sqlda sqlda.c \ describe describe.c \ - charfuncs charfuncs.c + charfuncs charfuncs.c \ + intoasc intoasc.c all: $(TESTS) diff --git a/src/interfaces/ecpg/test/compat_informix/intoasc.pgc b/src/interfaces/ecpg/test/compat_informix/intoasc.pgc new file mode 100644 index 0000000..d13c83b --- /dev/null +++ b/src/interfaces/ecpg/test/compat_informix/intoasc.pgc @@ -0,0 +1,21 @@ +#include <stdio.h> +#include <stdlib.h> + +#include "pgtypes_interval.h" + +EXEC SQL BEGIN DECLARE SECTION; + char dirty_str[100] = "aaaaaaaaa_bbbbbbbb_ccccccccc_ddddddddd_"; + interval *interval_ptr; +EXEC SQL END DECLARE SECTION; + +int main() +{ + interval_ptr = (interval *) malloc(sizeof(interval)); + interval_ptr->time = 100000000; + interval_ptr->month = 240; + + printf("dirty_str contents before intoasc: %s\n", dirty_str); + intoasc(interval_ptr, dirty_str); + printf("dirty_str contents after intoasc: %s\n", dirty_str); + return 0; +} diff --git a/src/interfaces/ecpg/test/ecpg_schedule b/src/interfaces/ecpg/test/ecpg_schedule index e034c5a..363eced 100644 --- a/src/interfaces/ecpg/test/ecpg_schedule +++ b/src/interfaces/ecpg/test/ecpg_schedule @@ -7,6 +7,7 @@ test: compat_informix/sqlda test: compat_informix/describe test: compat_informix/test_informix test: compat_informix/test_informix2 +test: compat_informix/intoasc test: compat_oracle/char_array test: connect/test2 test: connect/test3 diff --git a/src/interfaces/ecpg/test/expected/compat_informix-intoasc.c b/src/interfaces/ecpg/test/expected/compat_informix-intoasc.c new file mode 100644 index 0000000..3098880 --- /dev/null +++ b/src/interfaces/ecpg/test/expected/compat_informix-intoasc.c @@ -0,0 +1,40 @@ +/* Processed by ecpg (regression mode) */ +/* These include files are added by the preprocessor */ +#include <ecpglib.h> +#include <ecpgerrno.h> +#include <sqlca.h> +/* Needed for informix compatibility */ +#include <ecpg_informix.h> +/* End of automatic include section */ +#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y)) + +#line 1 "intoasc.pgc" +#include <stdio.h> +#include <stdlib.h> + +#include "pgtypes_interval.h" + +/* exec sql begin declare section */ + + + +#line 7 "intoasc.pgc" + char dirty_str [ 100 ] = "aaaaaaaaa_bbbbbbbb_ccccccccc_ddddddddd_" ; + +#line 8 "intoasc.pgc" + interval * interval_ptr ; +/* exec sql end declare section */ +#line 9 "intoasc.pgc" + + +int main() +{ + interval_ptr = (interval *) malloc(sizeof(interval)); + interval_ptr->time = 100000000; + interval_ptr->month = 240; + + printf("dirty_str contents before intoasc: %s\n", dirty_str); + intoasc(interval_ptr, dirty_str); + printf("dirty_str contents after intoasc: %s\n", dirty_str); + return 0; +} diff --git a/src/interfaces/ecpg/test/expected/compat_informix-intoasc.stderr b/src/interfaces/ecpg/test/expected/compat_informix-intoasc.stderr new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/interfaces/ecpg/test/expected/compat_informix-intoasc.stderr diff --git a/src/interfaces/ecpg/test/expected/compat_informix-intoasc.stdout b/src/interfaces/ecpg/test/expected/compat_informix-intoasc.stdout new file mode 100644 index 0000000..0769465 --- /dev/null +++ b/src/interfaces/ecpg/test/expected/compat_informix-intoasc.stdout @@ -0,0 +1,2 @@ +dirty_str contents before intoasc: aaaaaaaaa_bbbbbbbb_ccccccccc_ddddddddd_ +dirty_str contents after intoasc: @ 20 years 1 min 40 secs diff --git a/src/interfaces/ecpg/test/expected/sql-define.c b/src/interfaces/ecpg/test/expected/sql-define.c index 29583ec..e97caec 100644 --- a/src/interfaces/ecpg/test/expected/sql-define.c +++ b/src/interfaces/ecpg/test/expected/sql-define.c @@ -6,6 +6,21 @@ /* End of automatic include section */ #define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y)) +#line 1 "define_prelim.pgc" +/* + * Test that the effects of these commands don't carry over to the next + * file named on the ecpg command line. + */ + + +/* Processed by ecpg (regression mode) */ +/* These include files are added by the preprocessor */ +#include <ecpglib.h> +#include <ecpgerrno.h> +#include <sqlca.h> +/* End of automatic include section */ +#define ECPGdebug(X,Y) ECPGdebug((X)+100,(Y)) + #line 1 "define.pgc" #line 1 "sqlca.h" @@ -195,11 +210,57 @@ if (sqlca.sqlcode < 0) sqlprint ( );} + /* test handling of a macro defined on the command line */ + { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select 123", ECPGt_EOIT, + ECPGt_int,&(i),(long)1,(long)1,sizeof(int), + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); +#line 57 "define.pgc" + +if (sqlca.sqlcode < 0) sqlprint ( );} +#line 57 "define.pgc" + + printf("original CMDLINESYM: %d\n", i); + + + + { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select 42", ECPGt_EOIT, + ECPGt_int,&(i),(long)1,(long)1,sizeof(int), + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); +#line 62 "define.pgc" + +if (sqlca.sqlcode < 0) sqlprint ( );} +#line 62 "define.pgc" + + printf("redefined CMDLINESYM: %d\n", i); + + + + { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select 43", ECPGt_EOIT, + ECPGt_int,&(i),(long)1,(long)1,sizeof(int), + ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); +#line 67 "define.pgc" + +if (sqlca.sqlcode < 0) sqlprint ( );} +#line 67 "define.pgc" + + printf("redefined CMDLINESYM: %d\n", i); + + + + + + + + /* this macro should not have carried over from define_prelim.pgc */ + + + + { ECPGdisconnect(__LINE__, "CURRENT"); -#line 56 "define.pgc" +#line 81 "define.pgc" if (sqlca.sqlcode < 0) sqlprint ( );} -#line 56 "define.pgc" +#line 81 "define.pgc" return 0; } diff --git a/src/interfaces/ecpg/test/expected/sql-define.stderr b/src/interfaces/ecpg/test/expected/sql-define.stderr index 20601b6..c4da992 100644 --- a/src/interfaces/ecpg/test/expected/sql-define.stderr +++ b/src/interfaces/ecpg/test/expected/sql-define.stderr @@ -48,5 +48,29 @@ [NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_process_output on line 53: OK: SET [NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 57: query: select 123; with 0 parameter(s) on connection ecpg1_regression +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 57: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_process_output on line 57: correctly got 1 tuples with 1 fields +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 57: RESULT: 123 offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 62: query: select 42; with 0 parameter(s) on connection ecpg1_regression +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 62: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_process_output on line 62: correctly got 1 tuples with 1 fields +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 62: RESULT: 42 offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 67: query: select 43; with 0 parameter(s) on connection ecpg1_regression +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_execute on line 67: using PQexec +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_process_output on line 67: correctly got 1 tuples with 1 fields +[NO_PID]: sqlca: code: 0, state: 00000 +[NO_PID]: ecpg_get_data on line 67: RESULT: 43 offset: -1; array: no +[NO_PID]: sqlca: code: 0, state: 00000 [NO_PID]: ecpg_finish: connection ecpg1_regression closed [NO_PID]: sqlca: code: 0, state: 00000 diff --git a/src/interfaces/ecpg/test/expected/sql-define.stdout b/src/interfaces/ecpg/test/expected/sql-define.stdout index 864cd85..eaddc7f 100644 --- a/src/interfaces/ecpg/test/expected/sql-define.stdout +++ b/src/interfaces/ecpg/test/expected/sql-define.stdout @@ -1 +1,4 @@ i: 1, s: 29-abcdef +original CMDLINESYM: 123 +redefined CMDLINESYM: 42 +redefined CMDLINESYM: 43 diff --git a/src/interfaces/ecpg/test/sql/Makefile b/src/interfaces/ecpg/test/sql/Makefile index 876ca8d..5d35e15 100644 --- a/src/interfaces/ecpg/test/sql/Makefile +++ b/src/interfaces/ecpg/test/sql/Makefile @@ -32,5 +32,8 @@ TESTS = array array.c \ all: $(TESTS) +define.c: define.pgc define_prelim.pgc $(ECPG_TEST_DEPENDENCIES) + $(ECPG) -DCMDLINESYM=123 -o $@ $(srcdir)/define_prelim.pgc $< + oldexec.c: oldexec.pgc $(ECPG_TEST_DEPENDENCIES) $(ECPG) -r questionmarks -o $@ $< diff --git a/src/interfaces/ecpg/test/sql/define.pgc b/src/interfaces/ecpg/test/sql/define.pgc index ed58a4b..83f328d 100644 --- a/src/interfaces/ecpg/test/sql/define.pgc +++ b/src/interfaces/ecpg/test/sql/define.pgc @@ -53,6 +53,31 @@ int main(void) exec sql SET TIMEZONE TO TZVAR; exec sql endif; + /* test handling of a macro defined on the command line */ + exec sql select CMDLINESYM INTO :i; + printf("original CMDLINESYM: %d\n", i); + + exec sql define CMDLINESYM 42; + + exec sql select CMDLINESYM INTO :i; + printf("redefined CMDLINESYM: %d\n", i); + + exec sql define CMDLINESYM 43; + + exec sql select CMDLINESYM INTO :i; + printf("redefined CMDLINESYM: %d\n", i); + + exec sql undef CMDLINESYM; + + exec sql ifdef CMDLINESYM; + exec sql insert into test values (NUMBER, 'no string'); + exec sql endif; + + /* this macro should not have carried over from define_prelim.pgc */ + exec sql ifdef NONCMDLINESYM; + exec sql insert into test values (NUMBER, 'no string'); + exec sql endif; + exec sql disconnect; return 0; } diff --git a/src/interfaces/ecpg/test/sql/define_prelim.pgc b/src/interfaces/ecpg/test/sql/define_prelim.pgc new file mode 100644 index 0000000..7a984f7 --- /dev/null +++ b/src/interfaces/ecpg/test/sql/define_prelim.pgc @@ -0,0 +1,6 @@ +/* + * Test that the effects of these commands don't carry over to the next + * file named on the ecpg command line. + */ +exec sql define CMDLINESYM 999; +exec sql define NONCMDLINESYM 1234; diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c index a809013..47dcb37 100644 --- a/src/interfaces/libpq/fe-connect.c +++ b/src/interfaces/libpq/fe-connect.c @@ -7443,24 +7443,8 @@ static void default_threadlock(int acquire) { #ifdef ENABLE_THREAD_SAFETY -#ifndef WIN32 static pthread_mutex_t singlethread_lock = PTHREAD_MUTEX_INITIALIZER; -#else - static pthread_mutex_t singlethread_lock = NULL; - static long mutex_initlock = 0; - if (singlethread_lock == NULL) - { - while (InterlockedExchange(&mutex_initlock, 1) == 1) - /* loop, another thread own the lock */ ; - if (singlethread_lock == NULL) - { - if (pthread_mutex_init(&singlethread_lock, NULL)) - Assert(false); - } - InterlockedExchange(&mutex_initlock, 0); - } -#endif if (acquire) { if (pthread_mutex_lock(&singlethread_lock)) diff --git a/src/interfaces/libpq/fe-misc.c b/src/interfaces/libpq/fe-misc.c index d76bb39..128f056 100644 --- a/src/interfaces/libpq/fe-misc.c +++ b/src/interfaces/libpq/fe-misc.c @@ -1233,13 +1233,14 @@ static void libpq_binddomain(void) { /* - * If multiple threads come through here at about the same time, it's okay - * for more than one of them to call bindtextdomain(). But it's not okay - * for any of them to return to caller before bindtextdomain() is - * complete, so don't set the flag till that's done. Use "volatile" just - * to be sure the compiler doesn't try to get cute. + * At least on Windows, there are gettext implementations that fail if + * multiple threads call bindtextdomain() concurrently. Use a mutex and + * flag variable to ensure that we call it just once per process. It is + * not known that similar bugs exist on non-Windows platforms, but we + * might as well do it the same way everywhere. */ static volatile bool already_bound = false; + static pthread_mutex_t binddomain_mutex = PTHREAD_MUTEX_INITIALIZER; if (!already_bound) { @@ -1249,14 +1250,26 @@ libpq_binddomain(void) #else int save_errno = errno; #endif - const char *ldir; - - /* No relocatable lookup here because the binary could be anywhere */ - ldir = getenv("PGLOCALEDIR"); - if (!ldir) - ldir = LOCALEDIR; - bindtextdomain(PG_TEXTDOMAIN("libpq"), ldir); - already_bound = true; + + (void) pthread_mutex_lock(&binddomain_mutex); + + if (!already_bound) + { + const char *ldir; + + /* + * No relocatable lookup here because the calling executable could + * be anywhere + */ + ldir = getenv("PGLOCALEDIR"); + if (!ldir) + ldir = LOCALEDIR; + bindtextdomain(PG_TEXTDOMAIN("libpq"), ldir); + already_bound = true; + } + + (void) pthread_mutex_unlock(&binddomain_mutex); + #ifdef WIN32 SetLastError(save_errno); #else diff --git a/src/interfaces/libpq/fe-secure-openssl.c b/src/interfaces/libpq/fe-secure-openssl.c index 61f3767..47c8e0b 100644 --- a/src/interfaces/libpq/fe-secure-openssl.c +++ b/src/interfaces/libpq/fe-secure-openssl.c @@ -96,12 +96,7 @@ static bool ssl_lib_initialized = false; #ifdef ENABLE_THREAD_SAFETY static long crypto_open_connections = 0; -#ifndef WIN32 static pthread_mutex_t ssl_config_mutex = PTHREAD_MUTEX_INITIALIZER; -#else -static pthread_mutex_t ssl_config_mutex = NULL; -static long win32_ssl_create_mutex = 0; -#endif #endif /* ENABLE_THREAD_SAFETY */ static PQsslKeyPassHook_OpenSSL_type PQsslKeyPassHook = NULL; @@ -777,20 +772,6 @@ int pgtls_init(PGconn *conn, bool do_ssl, bool do_crypto) { #ifdef ENABLE_THREAD_SAFETY -#ifdef WIN32 - /* Also see similar code in fe-connect.c, default_threadlock() */ - if (ssl_config_mutex == NULL) - { - while (InterlockedExchange(&win32_ssl_create_mutex, 1) == 1) - /* loop, another thread own the lock */ ; - if (ssl_config_mutex == NULL) - { - if (pthread_mutex_init(&ssl_config_mutex, NULL)) - return -1; - } - InterlockedExchange(&win32_ssl_create_mutex, 0); - } -#endif if (pthread_mutex_lock(&ssl_config_mutex)) return -1; @@ -881,7 +862,6 @@ static void destroy_ssl_system(void) { #if defined(ENABLE_THREAD_SAFETY) && defined(HAVE_CRYPTO_LOCK) - /* Mutex is created in pgtls_init() */ if (pthread_mutex_lock(&ssl_config_mutex)) return; @@ -929,7 +909,6 @@ initialize_SSL(PGconn *conn) bool have_homedir; bool have_cert; bool have_rootcert; - EVP_PKEY *pkey = NULL; /* * We'll need the home directory if any of the relevant parameters are @@ -1265,6 +1244,7 @@ initialize_SSL(PGconn *conn) /* Colon, but not in second character, treat as engine:key */ char *engine_str = strdup(conn->sslkey); char *engine_colon; + EVP_PKEY *pkey; if (engine_str == NULL) { @@ -1677,10 +1657,11 @@ pgtls_close(PGconn *conn) * Obtain reason string for passed SSL errcode * * ERR_get_error() is used by caller to get errcode to pass here. + * The result must be freed after use, using SSLerrfree. * - * Some caution is needed here since ERR_reason_error_string will - * return NULL if it doesn't recognize the error code. We don't - * want to return NULL ever. + * Some caution is needed here since ERR_reason_error_string will return NULL + * if it doesn't recognize the error code, or (in OpenSSL >= 3) if the code + * represents a system errno value. We don't want to return NULL ever. */ static char ssl_nomem[] = "out of memory allocating error description"; @@ -1706,6 +1687,22 @@ SSLerrmessage(unsigned long ecode) strlcpy(errbuf, errreason, SSL_ERR_LEN); return errbuf; } + + /* + * In OpenSSL 3.0.0 and later, ERR_reason_error_string randomly refuses to + * map system errno values. We can cover that shortcoming with this bit + * of code. Older OpenSSL versions don't have the ERR_SYSTEM_ERROR macro, + * but that's okay because they don't have the shortcoming either. + */ +#ifdef ERR_SYSTEM_ERROR + if (ERR_SYSTEM_ERROR(ecode)) + { + strlcpy(errbuf, strerror(ERR_GET_REASON(ecode)), SSL_ERR_LEN); + return errbuf; + } +#endif + + /* No choice but to report the numeric ecode */ snprintf(errbuf, SSL_ERR_LEN, libpq_gettext("SSL error code %lu"), ecode); return errbuf; } diff --git a/src/interfaces/libpq/po/ru.po b/src/interfaces/libpq/po/ru.po index 78affba..50925d0 100644 --- a/src/interfaces/libpq/po/ru.po +++ b/src/interfaces/libpq/po/ru.po @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: libpq (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-02 18:11+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2023-08-30 15:09+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -81,7 +81,7 @@ msgstr "не удалоÑÑŒ Ñгенерировать разовый код\n" #: fe-exec.c:4139 fe-exec.c:4304 fe-gssapi-common.c:111 fe-lobj.c:884 #: fe-protocol3.c:968 fe-protocol3.c:983 fe-protocol3.c:1016 #: fe-protocol3.c:1724 fe-protocol3.c:2127 fe-secure-common.c:112 -#: fe-secure-gssapi.c:500 fe-secure-openssl.c:460 fe-secure-openssl.c:1272 +#: fe-secure-gssapi.c:500 fe-secure-openssl.c:455 fe-secure-openssl.c:1252 msgid "out of memory\n" msgstr "нехватка памÑти\n" @@ -896,7 +896,7 @@ msgstr "Ñ„ÑƒÐ½ÐºÑ†Ð¸Ñ pqPutInt не поддерживает integer разме msgid "connection not open\n" msgstr "Ñоединение не открыто\n" -#: fe-misc.c:755 fe-secure-openssl.c:218 fe-secure-openssl.c:331 +#: fe-misc.c:755 fe-secure-openssl.c:213 fe-secure-openssl.c:326 #: fe-secure.c:262 fe-secure.c:430 #, c-format msgid "" @@ -1123,81 +1123,81 @@ msgstr "ошибка проверки размера в GSSAPI" msgid "GSSAPI context establishment error" msgstr "ошибка уÑÑ‚Ð°Ð½Ð¾Ð²Ð»ÐµÐ½Ð¸Ñ ÐºÐ¾Ð½Ñ‚ÐµÐºÑта в GSSAPI" -#: fe-secure-openssl.c:223 fe-secure-openssl.c:336 fe-secure-openssl.c:1512 +#: fe-secure-openssl.c:218 fe-secure-openssl.c:331 fe-secure-openssl.c:1492 #, c-format msgid "SSL SYSCALL error: %s\n" msgstr "ошибка SSL SYSCALL: %s\n" -#: fe-secure-openssl.c:230 fe-secure-openssl.c:343 fe-secure-openssl.c:1516 +#: fe-secure-openssl.c:225 fe-secure-openssl.c:338 fe-secure-openssl.c:1496 msgid "SSL SYSCALL error: EOF detected\n" msgstr "ошибка SSL SYSCALL: конец файла (EOF)\n" -#: fe-secure-openssl.c:241 fe-secure-openssl.c:354 fe-secure-openssl.c:1525 +#: fe-secure-openssl.c:236 fe-secure-openssl.c:349 fe-secure-openssl.c:1505 #, c-format msgid "SSL error: %s\n" msgstr "ошибка SSL: %s\n" -#: fe-secure-openssl.c:256 fe-secure-openssl.c:369 +#: fe-secure-openssl.c:251 fe-secure-openssl.c:364 msgid "SSL connection has been closed unexpectedly\n" msgstr "SSL-Ñоединение было неожиданно закрыто\n" -#: fe-secure-openssl.c:262 fe-secure-openssl.c:375 fe-secure-openssl.c:1575 +#: fe-secure-openssl.c:257 fe-secure-openssl.c:370 fe-secure-openssl.c:1555 #, c-format msgid "unrecognized SSL error code: %d\n" msgstr "нераÑпознанный код ошибки SSL: %d\n" -#: fe-secure-openssl.c:420 +#: fe-secure-openssl.c:415 msgid "could not determine server certificate signature algorithm\n" msgstr "не удалоÑÑŒ определить алгоритм подпиÑи Ñертификата Ñервера\n" -#: fe-secure-openssl.c:441 +#: fe-secure-openssl.c:436 #, c-format msgid "could not find digest for NID %s\n" msgstr "не удалоÑÑŒ найти алгоритм Ñ…ÐµÑˆÐ¸Ñ€Ð¾Ð²Ð°Ð½Ð¸Ñ Ð¿Ð¾ NID %s\n" -#: fe-secure-openssl.c:451 +#: fe-secure-openssl.c:446 msgid "could not generate peer certificate hash\n" msgstr "не удалоÑÑŒ Ñгенерировать хеш Ñертификата Ñервера\n" -#: fe-secure-openssl.c:508 +#: fe-secure-openssl.c:503 msgid "SSL certificate's name entry is missing\n" msgstr "в SSL-Ñертификате отÑутÑтвует запиÑÑŒ имени\n" -#: fe-secure-openssl.c:543 +#: fe-secure-openssl.c:538 msgid "SSL certificate's address entry is missing\n" msgstr "в SSL-Ñертификате отÑутÑтвует запиÑÑŒ адреÑа\n" -#: fe-secure-openssl.c:961 +#: fe-secure-openssl.c:940 #, c-format msgid "could not create SSL context: %s\n" msgstr "не удалоÑÑŒ Ñоздать контекÑÑ‚ SSL: %s\n" -#: fe-secure-openssl.c:1000 +#: fe-secure-openssl.c:979 #, c-format msgid "invalid value \"%s\" for minimum SSL protocol version\n" msgstr "неверное значение \"%s\" Ð´Ð»Ñ Ð¼Ð¸Ð½Ð¸Ð¼Ð°Ð»ÑŒÐ½Ð¾Ð¹ верÑии протокола SSL\n" -#: fe-secure-openssl.c:1011 +#: fe-secure-openssl.c:990 #, c-format msgid "could not set minimum SSL protocol version: %s\n" msgstr "не удалоÑÑŒ задать минимальную верÑию протокола SSL: %s\n" -#: fe-secure-openssl.c:1029 +#: fe-secure-openssl.c:1008 #, c-format msgid "invalid value \"%s\" for maximum SSL protocol version\n" msgstr "неверное значение \"%s\" Ð´Ð»Ñ Ð¼Ð°ÐºÑимальной верÑии протокола SSL\n" -#: fe-secure-openssl.c:1040 +#: fe-secure-openssl.c:1019 #, c-format msgid "could not set maximum SSL protocol version: %s\n" msgstr "не удалоÑÑŒ задать макÑимальную верÑию протокола SSL: %s\n" -#: fe-secure-openssl.c:1076 +#: fe-secure-openssl.c:1055 #, c-format msgid "could not read root certificate file \"%s\": %s\n" msgstr "не удалоÑÑŒ прочитать файл корневых Ñертификатов \"%s\": %s\n" -#: fe-secure-openssl.c:1129 +#: fe-secure-openssl.c:1108 msgid "" "could not get home directory to locate root certificate file\n" "Either provide the file or change sslmode to disable server certificate " @@ -1207,7 +1207,7 @@ msgstr "" "Укажите полный путь к файлу или отключите проверку Ñертификата Ñервера, " "изменив sslmode.\n" -#: fe-secure-openssl.c:1133 +#: fe-secure-openssl.c:1112 #, c-format msgid "" "root certificate file \"%s\" does not exist\n" @@ -1218,63 +1218,63 @@ msgstr "" "Укажите полный путь к файлу или отключите проверку Ñертификата Ñервера, " "изменив sslmode.\n" -#: fe-secure-openssl.c:1164 +#: fe-secure-openssl.c:1143 #, c-format msgid "could not open certificate file \"%s\": %s\n" msgstr "не удалоÑÑŒ открыть файл Ñертификата \"%s\": %s\n" -#: fe-secure-openssl.c:1183 +#: fe-secure-openssl.c:1162 #, c-format msgid "could not read certificate file \"%s\": %s\n" msgstr "не удалоÑÑŒ прочитать файл Ñертификата \"%s\": %s\n" -#: fe-secure-openssl.c:1208 +#: fe-secure-openssl.c:1187 #, c-format msgid "could not establish SSL connection: %s\n" msgstr "не удалоÑÑŒ уÑтановить SSL-Ñоединение: %s\n" -#: fe-secure-openssl.c:1242 +#: fe-secure-openssl.c:1221 #, c-format msgid "could not set SSL Server Name Indication (SNI): %s\n" msgstr "" "не удалоÑÑŒ задать SNI (Server Name Indication) Ð´Ð»Ñ SSL-подключениÑ: %s\n" -#: fe-secure-openssl.c:1288 +#: fe-secure-openssl.c:1268 #, c-format msgid "could not load SSL engine \"%s\": %s\n" msgstr "не удалоÑÑŒ загрузить модуль SSL ENGINE \"%s\": %s\n" -#: fe-secure-openssl.c:1300 +#: fe-secure-openssl.c:1280 #, c-format msgid "could not initialize SSL engine \"%s\": %s\n" msgstr "не удалоÑÑŒ инициализировать модуль SSL ENGINE \"%s\": %s\n" -#: fe-secure-openssl.c:1316 +#: fe-secure-openssl.c:1296 #, c-format msgid "could not read private SSL key \"%s\" from engine \"%s\": %s\n" msgstr "не удалоÑÑŒ прочитать закрытый ключ SSL \"%s\" из Ð¼Ð¾Ð´ÑƒÐ»Ñ \"%s\": %s\n" -#: fe-secure-openssl.c:1330 +#: fe-secure-openssl.c:1310 #, c-format msgid "could not load private SSL key \"%s\" from engine \"%s\": %s\n" msgstr "не удалоÑÑŒ загрузить закрытый ключ SSL \"%s\" из Ð¼Ð¾Ð´ÑƒÐ»Ñ \"%s\": %s\n" -#: fe-secure-openssl.c:1368 +#: fe-secure-openssl.c:1348 #, c-format msgid "certificate present, but not private key file \"%s\"\n" msgstr "при наличии Ñертификата отÑутÑтвует файл закрытого ключа \"%s\"\n" -#: fe-secure-openssl.c:1372 +#: fe-secure-openssl.c:1352 #, c-format msgid "could not stat private key file \"%s\": %m\n" msgstr "не удалоÑÑŒ получить информацию о файле закрытого ключа \"%s\": %m\n" -#: fe-secure-openssl.c:1381 +#: fe-secure-openssl.c:1361 #, c-format msgid "private key file \"%s\" is not a regular file\n" msgstr "файл закрытого ключа \"%s\" - не обычный файл\n" -#: fe-secure-openssl.c:1414 +#: fe-secure-openssl.c:1394 #, c-format msgid "" "private key file \"%s\" has group or world access; file must have " @@ -1286,17 +1286,17 @@ msgstr "" "текущему пользователю, либо u=rw,g=r (0640) или более Ñтрогие, еÑли он " "принадлежит root\n" -#: fe-secure-openssl.c:1439 +#: fe-secure-openssl.c:1419 #, c-format msgid "could not load private key file \"%s\": %s\n" msgstr "не удалоÑÑŒ загрузить файл закрытого ключа \"%s\": %s\n" -#: fe-secure-openssl.c:1456 +#: fe-secure-openssl.c:1436 #, c-format msgid "certificate does not match private key file \"%s\": %s\n" msgstr "Ñертификат не ÑоответÑтвует файлу закрытого ключа \"%s\": %s\n" -#: fe-secure-openssl.c:1558 +#: fe-secure-openssl.c:1538 #, c-format msgid "" "This may indicate that the server does not support any SSL protocol version " @@ -1305,22 +1305,22 @@ msgstr "" "Ðто может указывать на то, что Ñервер не поддерживает ни одну верÑию " "протокола SSL между %s и %s.\n" -#: fe-secure-openssl.c:1594 +#: fe-secure-openssl.c:1574 #, c-format msgid "certificate could not be obtained: %s\n" msgstr "не удалоÑÑŒ получить Ñертификат: %s\n" -#: fe-secure-openssl.c:1700 +#: fe-secure-openssl.c:1681 #, c-format msgid "no SSL error reported" msgstr "нет ÑÐ¾Ð¾Ð±Ñ‰ÐµÐ½Ð¸Ñ Ð¾Ð± ошибке SSL" -#: fe-secure-openssl.c:1709 +#: fe-secure-openssl.c:1706 #, c-format msgid "SSL error code %lu" msgstr "код ошибки SSL: %lu" -#: fe-secure-openssl.c:1988 +#: fe-secure-openssl.c:1985 #, c-format msgid "WARNING: sslpassword truncated\n" msgstr "ПРЕДУПРЕЖДЕÐИЕ: значение sslpassword уÑечено\n" diff --git a/src/interfaces/libpq/pthread-win32.c b/src/interfaces/libpq/pthread-win32.c index c0e056e..c9609c0 100644 --- a/src/interfaces/libpq/pthread-win32.c +++ b/src/interfaces/libpq/pthread-win32.c @@ -34,27 +34,33 @@ pthread_getspecific(pthread_key_t key) int pthread_mutex_init(pthread_mutex_t *mp, void *attr) { - *mp = (CRITICAL_SECTION *) malloc(sizeof(CRITICAL_SECTION)); - if (!*mp) - return 1; - InitializeCriticalSection(*mp); + mp->initstate = 0; return 0; } int pthread_mutex_lock(pthread_mutex_t *mp) { - if (!*mp) - return 1; - EnterCriticalSection(*mp); + /* Initialize the csection if not already done */ + if (mp->initstate != 1) + { + LONG istate; + + while ((istate = InterlockedExchange(&mp->initstate, 2)) == 2) + Sleep(0); /* wait, another thread is doing this */ + if (istate != 1) + InitializeCriticalSection(&mp->csection); + InterlockedExchange(&mp->initstate, 1); + } + EnterCriticalSection(&mp->csection); return 0; } int pthread_mutex_unlock(pthread_mutex_t *mp) { - if (!*mp) - return 1; - LeaveCriticalSection(*mp); + if (mp->initstate != 1) + return EINVAL; + LeaveCriticalSection(&mp->csection); return 0; } diff --git a/src/pl/plpgsql/src/expected/plpgsql_control.out b/src/pl/plpgsql/src/expected/plpgsql_control.out index 328bd48..ccd4f54 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_control.out +++ b/src/pl/plpgsql/src/expected/plpgsql_control.out @@ -681,3 +681,20 @@ select case_test(13); other (1 row) +-- test line comment between WHEN and THEN +create or replace function case_comment(int) returns text as $$ +begin + case $1 + when 1 -- comment before THEN + then return 'one'; + else + return 'other'; + end case; +end; +$$ language plpgsql immutable; +select case_comment(1); + case_comment +-------------- + one +(1 row) + diff --git a/src/pl/plpgsql/src/pl_gram.c b/src/pl/plpgsql/src/pl_gram.c index 5d1cd56..6724eed 100644 --- a/src/pl/plpgsql/src/pl_gram.c +++ b/src/pl/plpgsql/src/pl_gram.c @@ -147,7 +147,6 @@ static PLpgSQL_expr *read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken); static PLpgSQL_expr *read_sql_expression(int until, @@ -190,7 +189,7 @@ static List *read_raise_options(void); static void check_raise_parameters(PLpgSQL_stmt_raise *stmt); -#line 194 "pl_gram.c" +#line 193 "pl_gram.c" # ifndef YY_CAST # ifdef __cplusplus @@ -836,32 +835,32 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_int16 yyrline[] = { - 0, 362, 362, 368, 369, 372, 376, 385, 389, 393, - 399, 403, 408, 409, 412, 435, 443, 450, 459, 471, - 472, 475, 476, 480, 493, 531, 537, 536, 590, 593, - 597, 604, 610, 613, 644, 648, 654, 662, 663, 665, - 680, 695, 723, 751, 782, 783, 788, 799, 800, 805, - 810, 817, 818, 822, 824, 830, 831, 839, 840, 844, - 845, 855, 857, 859, 861, 863, 865, 867, 869, 871, - 873, 875, 877, 879, 881, 883, 885, 887, 889, 891, - 893, 895, 897, 899, 901, 905, 941, 959, 980, 1019, - 1082, 1085, 1089, 1095, 1099, 1105, 1118, 1162, 1180, 1185, - 1192, 1210, 1213, 1227, 1230, 1236, 1243, 1257, 1261, 1267, - 1279, 1282, 1297, 1315, 1334, 1368, 1627, 1653, 1667, 1674, - 1713, 1716, 1722, 1775, 1779, 1785, 1811, 1956, 1980, 1998, - 2002, 2006, 2010, 2021, 2034, 2098, 2176, 2206, 2219, 2224, - 2238, 2245, 2259, 2274, 2275, 2276, 2280, 2302, 2307, 2315, - 2317, 2316, 2358, 2362, 2368, 2381, 2390, 2396, 2433, 2437, - 2441, 2445, 2449, 2457, 2461, 2469, 2472, 2479, 2481, 2488, - 2492, 2496, 2505, 2506, 2507, 2508, 2509, 2510, 2511, 2512, - 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, 2521, 2522, - 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, 2531, 2532, - 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, 2541, 2542, - 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, 2551, 2552, - 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, 2561, 2562, - 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, 2571, 2572, - 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, 2581, 2582, - 2583, 2584, 2585 + 0, 361, 361, 367, 368, 371, 375, 384, 388, 392, + 398, 402, 407, 408, 411, 434, 442, 449, 458, 470, + 471, 474, 475, 479, 492, 530, 536, 535, 589, 592, + 596, 603, 609, 612, 643, 647, 653, 661, 662, 664, + 679, 694, 722, 750, 781, 782, 787, 798, 799, 804, + 809, 816, 817, 821, 823, 829, 830, 838, 839, 843, + 844, 854, 856, 858, 860, 862, 864, 866, 868, 870, + 872, 874, 876, 878, 880, 882, 884, 886, 888, 890, + 892, 894, 896, 898, 900, 904, 940, 958, 979, 1018, + 1081, 1084, 1088, 1094, 1098, 1104, 1117, 1161, 1179, 1184, + 1191, 1209, 1212, 1226, 1229, 1235, 1242, 1256, 1260, 1266, + 1278, 1281, 1296, 1314, 1333, 1367, 1625, 1651, 1665, 1672, + 1711, 1714, 1720, 1773, 1777, 1783, 1809, 1954, 1978, 1996, + 2000, 2004, 2008, 2019, 2032, 2096, 2174, 2204, 2217, 2222, + 2236, 2243, 2257, 2272, 2273, 2274, 2278, 2300, 2305, 2313, + 2315, 2314, 2356, 2360, 2366, 2379, 2388, 2394, 2431, 2435, + 2439, 2443, 2447, 2455, 2459, 2467, 2470, 2477, 2479, 2486, + 2490, 2494, 2503, 2504, 2505, 2506, 2507, 2508, 2509, 2510, + 2511, 2512, 2513, 2514, 2515, 2516, 2517, 2518, 2519, 2520, + 2521, 2522, 2523, 2524, 2525, 2526, 2527, 2528, 2529, 2530, + 2531, 2532, 2533, 2534, 2535, 2536, 2537, 2538, 2539, 2540, + 2541, 2542, 2543, 2544, 2545, 2546, 2547, 2548, 2549, 2550, + 2551, 2552, 2553, 2554, 2555, 2556, 2557, 2558, 2559, 2560, + 2561, 2562, 2563, 2564, 2565, 2566, 2567, 2568, 2569, 2570, + 2571, 2572, 2573, 2574, 2575, 2576, 2577, 2578, 2579, 2580, + 2581, 2582, 2583 }; #endif @@ -2025,23 +2024,23 @@ yyreduce: switch (yyn) { case 2: /* pl_function: comp_options pl_block opt_semi */ -#line 363 "pl_gram.y" +#line 362 "pl_gram.y" { plpgsql_parse_result = (PLpgSQL_stmt_block *) (yyvsp[-1].stmt); } -#line 2033 "pl_gram.c" +#line 2032 "pl_gram.c" break; case 5: /* comp_option: '#' K_OPTION K_DUMP */ -#line 373 "pl_gram.y" +#line 372 "pl_gram.y" { plpgsql_DumpExecTree = true; } -#line 2041 "pl_gram.c" +#line 2040 "pl_gram.c" break; case 6: /* comp_option: '#' K_PRINT_STRICT_PARAMS option_value */ -#line 377 "pl_gram.y" +#line 376 "pl_gram.y" { if (strcmp((yyvsp[0].str), "on") == 0) plpgsql_curr_compile->print_strict_params = true; @@ -2050,51 +2049,51 @@ yyreduce: else elog(ERROR, "unrecognized print_strict_params option %s", (yyvsp[0].str)); } -#line 2054 "pl_gram.c" +#line 2053 "pl_gram.c" break; case 7: /* comp_option: '#' K_VARIABLE_CONFLICT K_ERROR */ -#line 386 "pl_gram.y" +#line 385 "pl_gram.y" { plpgsql_curr_compile->resolve_option = PLPGSQL_RESOLVE_ERROR; } -#line 2062 "pl_gram.c" +#line 2061 "pl_gram.c" break; case 8: /* comp_option: '#' K_VARIABLE_CONFLICT K_USE_VARIABLE */ -#line 390 "pl_gram.y" +#line 389 "pl_gram.y" { plpgsql_curr_compile->resolve_option = PLPGSQL_RESOLVE_VARIABLE; } -#line 2070 "pl_gram.c" +#line 2069 "pl_gram.c" break; case 9: /* comp_option: '#' K_VARIABLE_CONFLICT K_USE_COLUMN */ -#line 394 "pl_gram.y" +#line 393 "pl_gram.y" { plpgsql_curr_compile->resolve_option = PLPGSQL_RESOLVE_COLUMN; } -#line 2078 "pl_gram.c" +#line 2077 "pl_gram.c" break; case 10: /* option_value: T_WORD */ -#line 400 "pl_gram.y" +#line 399 "pl_gram.y" { (yyval.str) = (yyvsp[0].word).ident; } -#line 2086 "pl_gram.c" +#line 2085 "pl_gram.c" break; case 11: /* option_value: unreserved_keyword */ -#line 404 "pl_gram.y" +#line 403 "pl_gram.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 2094 "pl_gram.c" +#line 2093 "pl_gram.c" break; case 14: /* pl_block: decl_sect K_BEGIN proc_sect exception_sect K_END opt_label */ -#line 413 "pl_gram.y" +#line 412 "pl_gram.y" { PLpgSQL_stmt_block *new; @@ -2114,11 +2113,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 2118 "pl_gram.c" +#line 2117 "pl_gram.c" break; case 15: /* decl_sect: opt_block_label */ -#line 436 "pl_gram.y" +#line 435 "pl_gram.y" { /* done with decls, so resume identifier lookup */ plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_NORMAL; @@ -2126,33 +2125,33 @@ yyreduce: (yyval.declhdr).n_initvars = 0; (yyval.declhdr).initvarnos = NULL; } -#line 2130 "pl_gram.c" +#line 2129 "pl_gram.c" break; case 16: /* decl_sect: opt_block_label decl_start */ -#line 444 "pl_gram.y" +#line 443 "pl_gram.y" { plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_NORMAL; (yyval.declhdr).label = (yyvsp[-1].str); (yyval.declhdr).n_initvars = 0; (yyval.declhdr).initvarnos = NULL; } -#line 2141 "pl_gram.c" +#line 2140 "pl_gram.c" break; case 17: /* decl_sect: opt_block_label decl_start decl_stmts */ -#line 451 "pl_gram.y" +#line 450 "pl_gram.y" { plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_NORMAL; (yyval.declhdr).label = (yyvsp[-2].str); /* Remember variables declared in decl_stmts */ (yyval.declhdr).n_initvars = plpgsql_add_initdatums(&((yyval.declhdr).initvarnos)); } -#line 2152 "pl_gram.c" +#line 2151 "pl_gram.c" break; case 18: /* decl_start: K_DECLARE */ -#line 460 "pl_gram.y" +#line 459 "pl_gram.y" { /* Forget any variables created before block */ plpgsql_add_initdatums(NULL); @@ -2162,19 +2161,19 @@ yyreduce: */ plpgsql_IdentifierLookup = IDENTIFIER_LOOKUP_DECLARE; } -#line 2166 "pl_gram.c" +#line 2165 "pl_gram.c" break; case 22: /* decl_stmt: K_DECLARE */ -#line 477 "pl_gram.y" +#line 476 "pl_gram.y" { /* We allow useless extra DECLAREs */ } -#line 2174 "pl_gram.c" +#line 2173 "pl_gram.c" break; case 23: /* decl_stmt: LESS_LESS any_identifier GREATER_GREATER */ -#line 481 "pl_gram.y" +#line 480 "pl_gram.y" { /* * Throw a helpful error if user tries to put block @@ -2185,11 +2184,11 @@ yyreduce: errmsg("block label must be placed before DECLARE, not after"), parser_errposition((yylsp[-2])))); } -#line 2189 "pl_gram.c" +#line 2188 "pl_gram.c" break; case 24: /* decl_statement: decl_varname decl_const decl_datatype decl_collate decl_notnull decl_defval */ -#line 494 "pl_gram.y" +#line 493 "pl_gram.y" { PLpgSQL_variable *var; @@ -2227,26 +2226,26 @@ yyreduce: var->refname), parser_errposition((yylsp[-1])))); } -#line 2231 "pl_gram.c" +#line 2230 "pl_gram.c" break; case 25: /* decl_statement: decl_varname K_ALIAS K_FOR decl_aliasitem ';' */ -#line 532 "pl_gram.y" +#line 531 "pl_gram.y" { plpgsql_ns_additem((yyvsp[-1].nsitem)->itemtype, (yyvsp[-1].nsitem)->itemno, (yyvsp[-4].varname).name); } -#line 2240 "pl_gram.c" +#line 2239 "pl_gram.c" break; case 26: /* $@1: %empty */ -#line 537 "pl_gram.y" +#line 536 "pl_gram.y" { plpgsql_ns_push((yyvsp[-2].varname).name, PLPGSQL_LABEL_OTHER); } -#line 2246 "pl_gram.c" +#line 2245 "pl_gram.c" break; case 27: /* decl_statement: decl_varname opt_scrollable K_CURSOR $@1 decl_cursor_args decl_is_for decl_cursor_query */ -#line 539 "pl_gram.y" +#line 538 "pl_gram.y" { PLpgSQL_var *new; PLpgSQL_expr *curname_def; @@ -2295,51 +2294,51 @@ yyreduce: new->cursor_explicit_argrow = (yyvsp[-2].datum)->dno; new->cursor_options = CURSOR_OPT_FAST_PLAN | (yyvsp[-5].ival); } -#line 2299 "pl_gram.c" +#line 2298 "pl_gram.c" break; case 28: /* opt_scrollable: %empty */ -#line 590 "pl_gram.y" +#line 589 "pl_gram.y" { (yyval.ival) = 0; } -#line 2307 "pl_gram.c" +#line 2306 "pl_gram.c" break; case 29: /* opt_scrollable: K_NO K_SCROLL */ -#line 594 "pl_gram.y" +#line 593 "pl_gram.y" { (yyval.ival) = CURSOR_OPT_NO_SCROLL; } -#line 2315 "pl_gram.c" +#line 2314 "pl_gram.c" break; case 30: /* opt_scrollable: K_SCROLL */ -#line 598 "pl_gram.y" +#line 597 "pl_gram.y" { (yyval.ival) = CURSOR_OPT_SCROLL; } -#line 2323 "pl_gram.c" +#line 2322 "pl_gram.c" break; case 31: /* decl_cursor_query: %empty */ -#line 604 "pl_gram.y" +#line 603 "pl_gram.y" { (yyval.expr) = read_sql_stmt(); } -#line 2331 "pl_gram.c" +#line 2330 "pl_gram.c" break; case 32: /* decl_cursor_args: %empty */ -#line 610 "pl_gram.y" +#line 609 "pl_gram.y" { (yyval.datum) = NULL; } -#line 2339 "pl_gram.c" +#line 2338 "pl_gram.c" break; case 33: /* decl_cursor_args: '(' decl_cursor_arglist ')' */ -#line 614 "pl_gram.y" +#line 613 "pl_gram.y" { PLpgSQL_row *new; int i; @@ -2368,37 +2367,37 @@ yyreduce: plpgsql_adddatum((PLpgSQL_datum *) new); (yyval.datum) = (PLpgSQL_datum *) new; } -#line 2372 "pl_gram.c" +#line 2371 "pl_gram.c" break; case 34: /* decl_cursor_arglist: decl_cursor_arg */ -#line 645 "pl_gram.y" +#line 644 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[0].datum)); } -#line 2380 "pl_gram.c" +#line 2379 "pl_gram.c" break; case 35: /* decl_cursor_arglist: decl_cursor_arglist ',' decl_cursor_arg */ -#line 649 "pl_gram.y" +#line 648 "pl_gram.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].datum)); } -#line 2388 "pl_gram.c" +#line 2387 "pl_gram.c" break; case 36: /* decl_cursor_arg: decl_varname decl_datatype */ -#line 655 "pl_gram.y" +#line 654 "pl_gram.y" { (yyval.datum) = (PLpgSQL_datum *) plpgsql_build_variable((yyvsp[-1].varname).name, (yyvsp[-1].varname).lineno, (yyvsp[0].dtype), true); } -#line 2398 "pl_gram.c" +#line 2397 "pl_gram.c" break; case 39: /* decl_aliasitem: T_WORD */ -#line 666 "pl_gram.y" +#line 665 "pl_gram.y" { PLpgSQL_nsitem *nsi; @@ -2413,11 +2412,11 @@ yyreduce: parser_errposition((yylsp[0])))); (yyval.nsitem) = nsi; } -#line 2417 "pl_gram.c" +#line 2416 "pl_gram.c" break; case 40: /* decl_aliasitem: unreserved_keyword */ -#line 681 "pl_gram.y" +#line 680 "pl_gram.y" { PLpgSQL_nsitem *nsi; @@ -2432,11 +2431,11 @@ yyreduce: parser_errposition((yylsp[0])))); (yyval.nsitem) = nsi; } -#line 2436 "pl_gram.c" +#line 2435 "pl_gram.c" break; case 41: /* decl_aliasitem: T_CWORD */ -#line 696 "pl_gram.y" +#line 695 "pl_gram.y" { PLpgSQL_nsitem *nsi; @@ -2462,11 +2461,11 @@ yyreduce: parser_errposition((yylsp[0])))); (yyval.nsitem) = nsi; } -#line 2466 "pl_gram.c" +#line 2465 "pl_gram.c" break; case 42: /* decl_varname: T_WORD */ -#line 724 "pl_gram.y" +#line 723 "pl_gram.y" { (yyval.varname).name = (yyvsp[0].word).ident; (yyval.varname).lineno = plpgsql_location_to_lineno((yylsp[0])); @@ -2494,11 +2493,11 @@ yyreduce: } } -#line 2498 "pl_gram.c" +#line 2497 "pl_gram.c" break; case 43: /* decl_varname: unreserved_keyword */ -#line 752 "pl_gram.y" +#line 751 "pl_gram.y" { (yyval.varname).name = pstrdup((yyvsp[0].keyword)); (yyval.varname).lineno = plpgsql_location_to_lineno((yylsp[0])); @@ -2526,23 +2525,23 @@ yyreduce: } } -#line 2530 "pl_gram.c" +#line 2529 "pl_gram.c" break; case 44: /* decl_const: %empty */ -#line 782 "pl_gram.y" +#line 781 "pl_gram.y" { (yyval.boolean) = false; } -#line 2536 "pl_gram.c" +#line 2535 "pl_gram.c" break; case 45: /* decl_const: K_CONSTANT */ -#line 784 "pl_gram.y" +#line 783 "pl_gram.y" { (yyval.boolean) = true; } -#line 2542 "pl_gram.c" +#line 2541 "pl_gram.c" break; case 46: /* decl_datatype: %empty */ -#line 788 "pl_gram.y" +#line 787 "pl_gram.y" { /* * If there's a lookahead token, read_datatype @@ -2551,75 +2550,75 @@ yyreduce: (yyval.dtype) = read_datatype(yychar); yyclearin; } -#line 2555 "pl_gram.c" +#line 2554 "pl_gram.c" break; case 47: /* decl_collate: %empty */ -#line 799 "pl_gram.y" +#line 798 "pl_gram.y" { (yyval.oid) = InvalidOid; } -#line 2561 "pl_gram.c" +#line 2560 "pl_gram.c" break; case 48: /* decl_collate: K_COLLATE T_WORD */ -#line 801 "pl_gram.y" +#line 800 "pl_gram.y" { (yyval.oid) = get_collation_oid(list_make1(makeString((yyvsp[0].word).ident)), false); } -#line 2570 "pl_gram.c" +#line 2569 "pl_gram.c" break; case 49: /* decl_collate: K_COLLATE unreserved_keyword */ -#line 806 "pl_gram.y" +#line 805 "pl_gram.y" { (yyval.oid) = get_collation_oid(list_make1(makeString(pstrdup((yyvsp[0].keyword)))), false); } -#line 2579 "pl_gram.c" +#line 2578 "pl_gram.c" break; case 50: /* decl_collate: K_COLLATE T_CWORD */ -#line 811 "pl_gram.y" +#line 810 "pl_gram.y" { (yyval.oid) = get_collation_oid((yyvsp[0].cword).idents, false); } -#line 2587 "pl_gram.c" +#line 2586 "pl_gram.c" break; case 51: /* decl_notnull: %empty */ -#line 817 "pl_gram.y" +#line 816 "pl_gram.y" { (yyval.boolean) = false; } -#line 2593 "pl_gram.c" +#line 2592 "pl_gram.c" break; case 52: /* decl_notnull: K_NOT K_NULL */ -#line 819 "pl_gram.y" +#line 818 "pl_gram.y" { (yyval.boolean) = true; } -#line 2599 "pl_gram.c" +#line 2598 "pl_gram.c" break; case 53: /* decl_defval: ';' */ -#line 823 "pl_gram.y" +#line 822 "pl_gram.y" { (yyval.expr) = NULL; } -#line 2605 "pl_gram.c" +#line 2604 "pl_gram.c" break; case 54: /* decl_defval: decl_defkey */ -#line 825 "pl_gram.y" +#line 824 "pl_gram.y" { (yyval.expr) = read_sql_expression(';', ";"); } -#line 2613 "pl_gram.c" +#line 2612 "pl_gram.c" break; case 59: /* proc_sect: %empty */ -#line 844 "pl_gram.y" +#line 843 "pl_gram.y" { (yyval.list) = NIL; } -#line 2619 "pl_gram.c" +#line 2618 "pl_gram.c" break; case 60: /* proc_sect: proc_sect proc_stmt */ -#line 846 "pl_gram.y" +#line 845 "pl_gram.y" { /* don't bother linking null statements into list */ if ((yyvsp[0].stmt) == NULL) @@ -2627,155 +2626,155 @@ yyreduce: else (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].stmt)); } -#line 2631 "pl_gram.c" +#line 2630 "pl_gram.c" break; case 61: /* proc_stmt: pl_block ';' */ -#line 856 "pl_gram.y" +#line 855 "pl_gram.y" { (yyval.stmt) = (yyvsp[-1].stmt); } -#line 2637 "pl_gram.c" +#line 2636 "pl_gram.c" break; case 62: /* proc_stmt: stmt_assign */ -#line 858 "pl_gram.y" +#line 857 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2643 "pl_gram.c" +#line 2642 "pl_gram.c" break; case 63: /* proc_stmt: stmt_if */ -#line 860 "pl_gram.y" +#line 859 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2649 "pl_gram.c" +#line 2648 "pl_gram.c" break; case 64: /* proc_stmt: stmt_case */ -#line 862 "pl_gram.y" +#line 861 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2655 "pl_gram.c" +#line 2654 "pl_gram.c" break; case 65: /* proc_stmt: stmt_loop */ -#line 864 "pl_gram.y" +#line 863 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2661 "pl_gram.c" +#line 2660 "pl_gram.c" break; case 66: /* proc_stmt: stmt_while */ -#line 866 "pl_gram.y" +#line 865 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2667 "pl_gram.c" +#line 2666 "pl_gram.c" break; case 67: /* proc_stmt: stmt_for */ -#line 868 "pl_gram.y" +#line 867 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2673 "pl_gram.c" +#line 2672 "pl_gram.c" break; case 68: /* proc_stmt: stmt_foreach_a */ -#line 870 "pl_gram.y" +#line 869 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2679 "pl_gram.c" +#line 2678 "pl_gram.c" break; case 69: /* proc_stmt: stmt_exit */ -#line 872 "pl_gram.y" +#line 871 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2685 "pl_gram.c" +#line 2684 "pl_gram.c" break; case 70: /* proc_stmt: stmt_return */ -#line 874 "pl_gram.y" +#line 873 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2691 "pl_gram.c" +#line 2690 "pl_gram.c" break; case 71: /* proc_stmt: stmt_raise */ -#line 876 "pl_gram.y" +#line 875 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2697 "pl_gram.c" +#line 2696 "pl_gram.c" break; case 72: /* proc_stmt: stmt_assert */ -#line 878 "pl_gram.y" +#line 877 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2703 "pl_gram.c" +#line 2702 "pl_gram.c" break; case 73: /* proc_stmt: stmt_execsql */ -#line 880 "pl_gram.y" +#line 879 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2709 "pl_gram.c" +#line 2708 "pl_gram.c" break; case 74: /* proc_stmt: stmt_dynexecute */ -#line 882 "pl_gram.y" +#line 881 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2715 "pl_gram.c" +#line 2714 "pl_gram.c" break; case 75: /* proc_stmt: stmt_perform */ -#line 884 "pl_gram.y" +#line 883 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2721 "pl_gram.c" +#line 2720 "pl_gram.c" break; case 76: /* proc_stmt: stmt_call */ -#line 886 "pl_gram.y" +#line 885 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2727 "pl_gram.c" +#line 2726 "pl_gram.c" break; case 77: /* proc_stmt: stmt_getdiag */ -#line 888 "pl_gram.y" +#line 887 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2733 "pl_gram.c" +#line 2732 "pl_gram.c" break; case 78: /* proc_stmt: stmt_open */ -#line 890 "pl_gram.y" +#line 889 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2739 "pl_gram.c" +#line 2738 "pl_gram.c" break; case 79: /* proc_stmt: stmt_fetch */ -#line 892 "pl_gram.y" +#line 891 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2745 "pl_gram.c" +#line 2744 "pl_gram.c" break; case 80: /* proc_stmt: stmt_move */ -#line 894 "pl_gram.y" +#line 893 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2751 "pl_gram.c" +#line 2750 "pl_gram.c" break; case 81: /* proc_stmt: stmt_close */ -#line 896 "pl_gram.y" +#line 895 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2757 "pl_gram.c" +#line 2756 "pl_gram.c" break; case 82: /* proc_stmt: stmt_null */ -#line 898 "pl_gram.y" +#line 897 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2763 "pl_gram.c" +#line 2762 "pl_gram.c" break; case 83: /* proc_stmt: stmt_commit */ -#line 900 "pl_gram.y" +#line 899 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2769 "pl_gram.c" +#line 2768 "pl_gram.c" break; case 84: /* proc_stmt: stmt_rollback */ -#line 902 "pl_gram.y" +#line 901 "pl_gram.y" { (yyval.stmt) = (yyvsp[0].stmt); } -#line 2775 "pl_gram.c" +#line 2774 "pl_gram.c" break; case 85: /* stmt_perform: K_PERFORM */ -#line 906 "pl_gram.y" +#line 905 "pl_gram.y" { PLpgSQL_stmt_perform *new; int startloc; @@ -2796,7 +2795,7 @@ yyreduce: */ new->expr = read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, false, true, + false, false, &startloc, NULL); /* overwrite "perform" ... */ memcpy(new->expr->query, " SELECT", 7); @@ -2809,11 +2808,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 2813 "pl_gram.c" +#line 2812 "pl_gram.c" break; case 86: /* stmt_call: K_CALL */ -#line 942 "pl_gram.y" +#line 941 "pl_gram.y" { PLpgSQL_stmt_call *new; @@ -2831,11 +2830,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 2835 "pl_gram.c" +#line 2834 "pl_gram.c" break; case 87: /* stmt_call: K_DO */ -#line 960 "pl_gram.y" +#line 959 "pl_gram.y" { /* use the same structures as for CALL, for simplicity */ PLpgSQL_stmt_call *new; @@ -2854,11 +2853,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 2858 "pl_gram.c" +#line 2857 "pl_gram.c" break; case 88: /* stmt_assign: T_DATUM */ -#line 981 "pl_gram.y" +#line 980 "pl_gram.y" { PLpgSQL_stmt_assign *new; RawParseMode pmode; @@ -2890,16 +2889,16 @@ yyreduce: plpgsql_push_back_token(T_DATUM); new->expr = read_sql_construct(';', 0, 0, ";", pmode, - false, true, true, + false, true, NULL, NULL); (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 2899 "pl_gram.c" +#line 2898 "pl_gram.c" break; case 89: /* stmt_getdiag: K_GET getdiag_area_opt K_DIAGNOSTICS getdiag_list ';' */ -#line 1020 "pl_gram.y" +#line 1019 "pl_gram.y" { PLpgSQL_stmt_getdiag *new; ListCell *lc; @@ -2959,51 +2958,51 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 2963 "pl_gram.c" +#line 2962 "pl_gram.c" break; case 90: /* getdiag_area_opt: %empty */ -#line 1082 "pl_gram.y" +#line 1081 "pl_gram.y" { (yyval.boolean) = false; } -#line 2971 "pl_gram.c" +#line 2970 "pl_gram.c" break; case 91: /* getdiag_area_opt: K_CURRENT */ -#line 1086 "pl_gram.y" +#line 1085 "pl_gram.y" { (yyval.boolean) = false; } -#line 2979 "pl_gram.c" +#line 2978 "pl_gram.c" break; case 92: /* getdiag_area_opt: K_STACKED */ -#line 1090 "pl_gram.y" +#line 1089 "pl_gram.y" { (yyval.boolean) = true; } -#line 2987 "pl_gram.c" +#line 2986 "pl_gram.c" break; case 93: /* getdiag_list: getdiag_list ',' getdiag_list_item */ -#line 1096 "pl_gram.y" +#line 1095 "pl_gram.y" { (yyval.list) = lappend((yyvsp[-2].list), (yyvsp[0].diagitem)); } -#line 2995 "pl_gram.c" +#line 2994 "pl_gram.c" break; case 94: /* getdiag_list: getdiag_list_item */ -#line 1100 "pl_gram.y" +#line 1099 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[0].diagitem)); } -#line 3003 "pl_gram.c" +#line 3002 "pl_gram.c" break; case 95: /* getdiag_list_item: getdiag_target assign_operator getdiag_item */ -#line 1106 "pl_gram.y" +#line 1105 "pl_gram.y" { PLpgSQL_diag_item *new; @@ -3013,11 +3012,11 @@ yyreduce: (yyval.diagitem) = new; } -#line 3017 "pl_gram.c" +#line 3016 "pl_gram.c" break; case 96: /* getdiag_item: %empty */ -#line 1118 "pl_gram.y" +#line 1117 "pl_gram.y" { int tok = yylex(); @@ -3060,11 +3059,11 @@ yyreduce: else yyerror("unrecognized GET DIAGNOSTICS item"); } -#line 3064 "pl_gram.c" +#line 3063 "pl_gram.c" break; case 97: /* getdiag_target: T_DATUM */ -#line 1163 "pl_gram.y" +#line 1162 "pl_gram.y" { /* * In principle we should support a getdiag_target @@ -3082,29 +3081,29 @@ yyreduce: check_assignable((yyvsp[0].wdatum).datum, (yylsp[0])); (yyval.datum) = (yyvsp[0].wdatum).datum; } -#line 3086 "pl_gram.c" +#line 3085 "pl_gram.c" break; case 98: /* getdiag_target: T_WORD */ -#line 1181 "pl_gram.y" +#line 1180 "pl_gram.y" { /* just to give a better message than "syntax error" */ word_is_not_variable(&((yyvsp[0].word)), (yylsp[0])); } -#line 3095 "pl_gram.c" +#line 3094 "pl_gram.c" break; case 99: /* getdiag_target: T_CWORD */ -#line 1186 "pl_gram.y" +#line 1185 "pl_gram.y" { /* just to give a better message than "syntax error" */ cword_is_not_variable(&((yyvsp[0].cword)), (yylsp[0])); } -#line 3104 "pl_gram.c" +#line 3103 "pl_gram.c" break; case 100: /* stmt_if: K_IF expr_until_then proc_sect stmt_elsifs stmt_else K_END K_IF ';' */ -#line 1193 "pl_gram.y" +#line 1192 "pl_gram.y" { PLpgSQL_stmt_if *new; @@ -3119,19 +3118,19 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 3123 "pl_gram.c" +#line 3122 "pl_gram.c" break; case 101: /* stmt_elsifs: %empty */ -#line 1210 "pl_gram.y" +#line 1209 "pl_gram.y" { (yyval.list) = NIL; } -#line 3131 "pl_gram.c" +#line 3130 "pl_gram.c" break; case 102: /* stmt_elsifs: stmt_elsifs K_ELSIF expr_until_then proc_sect */ -#line 1214 "pl_gram.y" +#line 1213 "pl_gram.y" { PLpgSQL_if_elsif *new; @@ -3142,35 +3141,35 @@ yyreduce: (yyval.list) = lappend((yyvsp[-3].list), new); } -#line 3146 "pl_gram.c" +#line 3145 "pl_gram.c" break; case 103: /* stmt_else: %empty */ -#line 1227 "pl_gram.y" +#line 1226 "pl_gram.y" { (yyval.list) = NIL; } -#line 3154 "pl_gram.c" +#line 3153 "pl_gram.c" break; case 104: /* stmt_else: K_ELSE proc_sect */ -#line 1231 "pl_gram.y" +#line 1230 "pl_gram.y" { (yyval.list) = (yyvsp[0].list); } -#line 3162 "pl_gram.c" +#line 3161 "pl_gram.c" break; case 105: /* stmt_case: K_CASE opt_expr_until_when case_when_list opt_case_else K_END K_CASE ';' */ -#line 1237 "pl_gram.y" +#line 1236 "pl_gram.y" { (yyval.stmt) = make_case((yylsp[-6]), (yyvsp[-5].expr), (yyvsp[-4].list), (yyvsp[-3].list)); } -#line 3170 "pl_gram.c" +#line 3169 "pl_gram.c" break; case 106: /* opt_expr_until_when: %empty */ -#line 1243 "pl_gram.y" +#line 1242 "pl_gram.y" { PLpgSQL_expr *expr = NULL; int tok = yylex(); @@ -3183,27 +3182,27 @@ yyreduce: plpgsql_push_back_token(K_WHEN); (yyval.expr) = expr; } -#line 3187 "pl_gram.c" +#line 3186 "pl_gram.c" break; case 107: /* case_when_list: case_when_list case_when */ -#line 1258 "pl_gram.y" +#line 1257 "pl_gram.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].casewhen)); } -#line 3195 "pl_gram.c" +#line 3194 "pl_gram.c" break; case 108: /* case_when_list: case_when */ -#line 1262 "pl_gram.y" +#line 1261 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[0].casewhen)); } -#line 3203 "pl_gram.c" +#line 3202 "pl_gram.c" break; case 109: /* case_when: K_WHEN expr_until_then proc_sect */ -#line 1268 "pl_gram.y" +#line 1267 "pl_gram.y" { PLpgSQL_case_when *new = palloc(sizeof(PLpgSQL_case_when)); @@ -3212,19 +3211,19 @@ yyreduce: new->stmts = (yyvsp[0].list); (yyval.casewhen) = new; } -#line 3216 "pl_gram.c" +#line 3215 "pl_gram.c" break; case 110: /* opt_case_else: %empty */ -#line 1279 "pl_gram.y" +#line 1278 "pl_gram.y" { (yyval.list) = NIL; } -#line 3224 "pl_gram.c" +#line 3223 "pl_gram.c" break; case 111: /* opt_case_else: K_ELSE proc_sect */ -#line 1283 "pl_gram.y" +#line 1282 "pl_gram.y" { /* * proc_sect could return an empty list, but we @@ -3237,11 +3236,11 @@ yyreduce: else (yyval.list) = list_make1(NULL); } -#line 3241 "pl_gram.c" +#line 3240 "pl_gram.c" break; case 112: /* stmt_loop: opt_loop_label K_LOOP loop_body */ -#line 1298 "pl_gram.y" +#line 1297 "pl_gram.y" { PLpgSQL_stmt_loop *new; @@ -3257,11 +3256,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 3261 "pl_gram.c" +#line 3260 "pl_gram.c" break; case 113: /* stmt_while: opt_loop_label K_WHILE expr_until_loop loop_body */ -#line 1316 "pl_gram.y" +#line 1315 "pl_gram.y" { PLpgSQL_stmt_while *new; @@ -3278,11 +3277,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 3282 "pl_gram.c" +#line 3281 "pl_gram.c" break; case 114: /* stmt_for: opt_loop_label K_FOR for_control loop_body */ -#line 1335 "pl_gram.y" +#line 1334 "pl_gram.y" { /* This runs after we've scanned the loop body */ if ((yyvsp[-1].stmt)->cmd_type == PLPGSQL_STMT_FORI) @@ -3314,11 +3313,11 @@ yyreduce: /* close namespace started in opt_loop_label */ plpgsql_ns_pop(); } -#line 3318 "pl_gram.c" +#line 3317 "pl_gram.c" break; case 115: /* for_control: for_variable K_IN */ -#line 1369 "pl_gram.y" +#line 1368 "pl_gram.y" { int tok = yylex(); int tokloc = yylloc; @@ -3451,7 +3450,6 @@ yyreduce: RAW_PARSE_DEFAULT, true, false, - true, &expr1loc, &tok); @@ -3557,11 +3555,11 @@ yyreduce: } } } -#line 3561 "pl_gram.c" +#line 3559 "pl_gram.c" break; case 116: /* for_variable: T_DATUM */ -#line 1628 "pl_gram.y" +#line 1626 "pl_gram.y" { (yyval.forvariable).name = NameOfDatum(&((yyvsp[0].wdatum))); (yyval.forvariable).lineno = plpgsql_location_to_lineno((yylsp[0])); @@ -3587,11 +3585,11 @@ yyreduce: (yylsp[0])); } } -#line 3591 "pl_gram.c" +#line 3589 "pl_gram.c" break; case 117: /* for_variable: T_WORD */ -#line 1654 "pl_gram.y" +#line 1652 "pl_gram.y" { int tok; @@ -3605,20 +3603,20 @@ yyreduce: if (tok == ',') word_is_not_variable(&((yyvsp[0].word)), (yylsp[0])); } -#line 3609 "pl_gram.c" +#line 3607 "pl_gram.c" break; case 118: /* for_variable: T_CWORD */ -#line 1668 "pl_gram.y" +#line 1666 "pl_gram.y" { /* just to give a better message than "syntax error" */ cword_is_not_variable(&((yyvsp[0].cword)), (yylsp[0])); } -#line 3618 "pl_gram.c" +#line 3616 "pl_gram.c" break; case 119: /* stmt_foreach_a: opt_loop_label K_FOREACH for_variable foreach_slice K_IN K_ARRAY expr_until_loop loop_body */ -#line 1675 "pl_gram.y" +#line 1673 "pl_gram.y" { PLpgSQL_stmt_foreach_a *new; @@ -3654,27 +3652,27 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 3658 "pl_gram.c" +#line 3656 "pl_gram.c" break; case 120: /* foreach_slice: %empty */ -#line 1713 "pl_gram.y" +#line 1711 "pl_gram.y" { (yyval.ival) = 0; } -#line 3666 "pl_gram.c" +#line 3664 "pl_gram.c" break; case 121: /* foreach_slice: K_SLICE ICONST */ -#line 1717 "pl_gram.y" +#line 1715 "pl_gram.y" { (yyval.ival) = (yyvsp[0].ival); } -#line 3674 "pl_gram.c" +#line 3672 "pl_gram.c" break; case 122: /* stmt_exit: exit_type opt_label opt_exitcond */ -#line 1723 "pl_gram.y" +#line 1721 "pl_gram.y" { PLpgSQL_stmt_exit *new; @@ -3725,27 +3723,27 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 3729 "pl_gram.c" +#line 3727 "pl_gram.c" break; case 123: /* exit_type: K_EXIT */ -#line 1776 "pl_gram.y" +#line 1774 "pl_gram.y" { (yyval.boolean) = true; } -#line 3737 "pl_gram.c" +#line 3735 "pl_gram.c" break; case 124: /* exit_type: K_CONTINUE */ -#line 1780 "pl_gram.y" +#line 1778 "pl_gram.y" { (yyval.boolean) = false; } -#line 3745 "pl_gram.c" +#line 3743 "pl_gram.c" break; case 125: /* stmt_return: K_RETURN */ -#line 1786 "pl_gram.y" +#line 1784 "pl_gram.y" { int tok; @@ -3769,11 +3767,11 @@ yyreduce: (yyval.stmt) = make_return_stmt((yylsp[0])); } } -#line 3773 "pl_gram.c" +#line 3771 "pl_gram.c" break; case 126: /* stmt_raise: K_RAISE */ -#line 1812 "pl_gram.y" +#line 1810 "pl_gram.y" { PLpgSQL_stmt_raise *new; int tok; @@ -3868,7 +3866,7 @@ yyreduce: expr = read_sql_construct(',', ';', K_USING, ", or ; or USING", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &tok); new->params = lappend(new->params, expr); } @@ -3916,11 +3914,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 3920 "pl_gram.c" +#line 3918 "pl_gram.c" break; case 127: /* stmt_assert: K_ASSERT */ -#line 1957 "pl_gram.y" +#line 1955 "pl_gram.y" { PLpgSQL_stmt_assert *new; int tok; @@ -3942,45 +3940,45 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 3946 "pl_gram.c" +#line 3944 "pl_gram.c" break; case 128: /* loop_body: proc_sect K_END K_LOOP opt_label ';' */ -#line 1981 "pl_gram.y" +#line 1979 "pl_gram.y" { (yyval.loop_body).stmts = (yyvsp[-4].list); (yyval.loop_body).end_label = (yyvsp[-1].str); (yyval.loop_body).end_label_location = (yylsp[-1]); } -#line 3956 "pl_gram.c" +#line 3954 "pl_gram.c" break; case 129: /* stmt_execsql: K_IMPORT */ -#line 1999 "pl_gram.y" +#line 1997 "pl_gram.y" { (yyval.stmt) = make_execsql_stmt(K_IMPORT, (yylsp[0]), NULL); } -#line 3964 "pl_gram.c" +#line 3962 "pl_gram.c" break; case 130: /* stmt_execsql: K_INSERT */ -#line 2003 "pl_gram.y" +#line 2001 "pl_gram.y" { (yyval.stmt) = make_execsql_stmt(K_INSERT, (yylsp[0]), NULL); } -#line 3972 "pl_gram.c" +#line 3970 "pl_gram.c" break; case 131: /* stmt_execsql: K_MERGE */ -#line 2007 "pl_gram.y" +#line 2005 "pl_gram.y" { (yyval.stmt) = make_execsql_stmt(K_MERGE, (yylsp[0]), NULL); } -#line 3980 "pl_gram.c" +#line 3978 "pl_gram.c" break; case 132: /* stmt_execsql: T_WORD */ -#line 2011 "pl_gram.y" +#line 2009 "pl_gram.y" { int tok; @@ -3991,11 +3989,11 @@ yyreduce: word_is_not_variable(&((yyvsp[0].word)), (yylsp[0])); (yyval.stmt) = make_execsql_stmt(T_WORD, (yylsp[0]), &((yyvsp[0].word))); } -#line 3995 "pl_gram.c" +#line 3993 "pl_gram.c" break; case 133: /* stmt_execsql: T_CWORD */ -#line 2022 "pl_gram.y" +#line 2020 "pl_gram.y" { int tok; @@ -4006,11 +4004,11 @@ yyreduce: cword_is_not_variable(&((yyvsp[0].cword)), (yylsp[0])); (yyval.stmt) = make_execsql_stmt(T_CWORD, (yylsp[0]), NULL); } -#line 4010 "pl_gram.c" +#line 4008 "pl_gram.c" break; case 134: /* stmt_dynexecute: K_EXECUTE */ -#line 2035 "pl_gram.y" +#line 2033 "pl_gram.y" { PLpgSQL_stmt_dynexecute *new; PLpgSQL_expr *expr; @@ -4019,7 +4017,7 @@ yyreduce: expr = read_sql_construct(K_INTO, K_USING, ';', "INTO or USING or ;", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new = palloc(sizeof(PLpgSQL_stmt_dynexecute)); @@ -4058,7 +4056,7 @@ yyreduce: expr = read_sql_construct(',', ';', K_INTO, ", or ; or INTO", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new->params = lappend(new->params, expr); } while (endtoken == ','); @@ -4071,11 +4069,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 4075 "pl_gram.c" +#line 4073 "pl_gram.c" break; case 135: /* stmt_open: K_OPEN cursor_variable */ -#line 2099 "pl_gram.y" +#line 2097 "pl_gram.y" { PLpgSQL_stmt_open *new; int tok; @@ -4151,11 +4149,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 4155 "pl_gram.c" +#line 4153 "pl_gram.c" break; case 136: /* stmt_fetch: K_FETCH opt_fetch_direction cursor_variable K_INTO */ -#line 2177 "pl_gram.y" +#line 2175 "pl_gram.y" { PLpgSQL_stmt_fetch *fetch = (yyvsp[-2].fetch); PLpgSQL_variable *target; @@ -4183,11 +4181,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) fetch; } -#line 4187 "pl_gram.c" +#line 4185 "pl_gram.c" break; case 137: /* stmt_move: K_MOVE opt_fetch_direction cursor_variable ';' */ -#line 2207 "pl_gram.y" +#line 2205 "pl_gram.y" { PLpgSQL_stmt_fetch *fetch = (yyvsp[-2].fetch); @@ -4197,19 +4195,19 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) fetch; } -#line 4201 "pl_gram.c" +#line 4199 "pl_gram.c" break; case 138: /* opt_fetch_direction: %empty */ -#line 2219 "pl_gram.y" +#line 2217 "pl_gram.y" { (yyval.fetch) = read_fetch_direction(); } -#line 4209 "pl_gram.c" +#line 4207 "pl_gram.c" break; case 139: /* stmt_close: K_CLOSE cursor_variable ';' */ -#line 2225 "pl_gram.y" +#line 2223 "pl_gram.y" { PLpgSQL_stmt_close *new; @@ -4221,20 +4219,20 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 4225 "pl_gram.c" +#line 4223 "pl_gram.c" break; case 140: /* stmt_null: K_NULL ';' */ -#line 2239 "pl_gram.y" +#line 2237 "pl_gram.y" { /* We do not bother building a node for NULL */ (yyval.stmt) = NULL; } -#line 4234 "pl_gram.c" +#line 4232 "pl_gram.c" break; case 141: /* stmt_commit: K_COMMIT opt_transaction_chain ';' */ -#line 2246 "pl_gram.y" +#line 2244 "pl_gram.y" { PLpgSQL_stmt_commit *new; @@ -4246,11 +4244,11 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 4250 "pl_gram.c" +#line 4248 "pl_gram.c" break; case 142: /* stmt_rollback: K_ROLLBACK opt_transaction_chain ';' */ -#line 2260 "pl_gram.y" +#line 2258 "pl_gram.y" { PLpgSQL_stmt_rollback *new; @@ -4262,29 +4260,29 @@ yyreduce: (yyval.stmt) = (PLpgSQL_stmt *) new; } -#line 4266 "pl_gram.c" +#line 4264 "pl_gram.c" break; case 143: /* opt_transaction_chain: K_AND K_CHAIN */ -#line 2274 "pl_gram.y" +#line 2272 "pl_gram.y" { (yyval.ival) = true; } -#line 4272 "pl_gram.c" +#line 4270 "pl_gram.c" break; case 144: /* opt_transaction_chain: K_AND K_NO K_CHAIN */ -#line 2275 "pl_gram.y" +#line 2273 "pl_gram.y" { (yyval.ival) = false; } -#line 4278 "pl_gram.c" +#line 4276 "pl_gram.c" break; case 145: /* opt_transaction_chain: %empty */ -#line 2276 "pl_gram.y" +#line 2274 "pl_gram.y" { (yyval.ival) = false; } -#line 4284 "pl_gram.c" +#line 4282 "pl_gram.c" break; case 146: /* cursor_variable: T_DATUM */ -#line 2281 "pl_gram.y" +#line 2279 "pl_gram.y" { /* * In principle we should support a cursor_variable @@ -4306,35 +4304,35 @@ yyreduce: parser_errposition((yylsp[0])))); (yyval.var) = (PLpgSQL_var *) (yyvsp[0].wdatum).datum; } -#line 4310 "pl_gram.c" +#line 4308 "pl_gram.c" break; case 147: /* cursor_variable: T_WORD */ -#line 2303 "pl_gram.y" +#line 2301 "pl_gram.y" { /* just to give a better message than "syntax error" */ word_is_not_variable(&((yyvsp[0].word)), (yylsp[0])); } -#line 4319 "pl_gram.c" +#line 4317 "pl_gram.c" break; case 148: /* cursor_variable: T_CWORD */ -#line 2308 "pl_gram.y" +#line 2306 "pl_gram.y" { /* just to give a better message than "syntax error" */ cword_is_not_variable(&((yyvsp[0].cword)), (yylsp[0])); } -#line 4328 "pl_gram.c" +#line 4326 "pl_gram.c" break; case 149: /* exception_sect: %empty */ -#line 2315 "pl_gram.y" +#line 2313 "pl_gram.y" { (yyval.exception_block) = NULL; } -#line 4334 "pl_gram.c" +#line 4332 "pl_gram.c" break; case 150: /* @2: %empty */ -#line 2317 "pl_gram.y" +#line 2315 "pl_gram.y" { /* * We use a mid-rule action to add these @@ -4367,38 +4365,38 @@ yyreduce: (yyval.exception_block) = new; } -#line 4371 "pl_gram.c" +#line 4369 "pl_gram.c" break; case 151: /* exception_sect: K_EXCEPTION @2 proc_exceptions */ -#line 2350 "pl_gram.y" +#line 2348 "pl_gram.y" { PLpgSQL_exception_block *new = (yyvsp[-1].exception_block); new->exc_list = (yyvsp[0].list); (yyval.exception_block) = new; } -#line 4382 "pl_gram.c" +#line 4380 "pl_gram.c" break; case 152: /* proc_exceptions: proc_exceptions proc_exception */ -#line 2359 "pl_gram.y" +#line 2357 "pl_gram.y" { (yyval.list) = lappend((yyvsp[-1].list), (yyvsp[0].exception)); } -#line 4390 "pl_gram.c" +#line 4388 "pl_gram.c" break; case 153: /* proc_exceptions: proc_exception */ -#line 2363 "pl_gram.y" +#line 2361 "pl_gram.y" { (yyval.list) = list_make1((yyvsp[0].exception)); } -#line 4398 "pl_gram.c" +#line 4396 "pl_gram.c" break; case 154: /* proc_exception: K_WHEN proc_conditions K_THEN proc_sect */ -#line 2369 "pl_gram.y" +#line 2367 "pl_gram.y" { PLpgSQL_exception *new; @@ -4409,11 +4407,11 @@ yyreduce: (yyval.exception) = new; } -#line 4413 "pl_gram.c" +#line 4411 "pl_gram.c" break; case 155: /* proc_conditions: proc_conditions K_OR proc_condition */ -#line 2382 "pl_gram.y" +#line 2380 "pl_gram.y" { PLpgSQL_condition *old; @@ -4422,19 +4420,19 @@ yyreduce: old->next = (yyvsp[0].condition); (yyval.condition) = (yyvsp[-2].condition); } -#line 4426 "pl_gram.c" +#line 4424 "pl_gram.c" break; case 156: /* proc_conditions: proc_condition */ -#line 2391 "pl_gram.y" +#line 2389 "pl_gram.y" { (yyval.condition) = (yyvsp[0].condition); } -#line 4434 "pl_gram.c" +#line 4432 "pl_gram.c" break; case 157: /* proc_condition: any_identifier */ -#line 2397 "pl_gram.y" +#line 2395 "pl_gram.y" { if (strcmp((yyvsp[0].str), "sqlstate") != 0) { @@ -4468,120 +4466,120 @@ yyreduce: (yyval.condition) = new; } } -#line 4472 "pl_gram.c" +#line 4470 "pl_gram.c" break; case 158: /* expr_until_semi: %empty */ -#line 2433 "pl_gram.y" +#line 2431 "pl_gram.y" { (yyval.expr) = read_sql_expression(';', ";"); } -#line 4478 "pl_gram.c" +#line 4476 "pl_gram.c" break; case 159: /* expr_until_then: %empty */ -#line 2437 "pl_gram.y" +#line 2435 "pl_gram.y" { (yyval.expr) = read_sql_expression(K_THEN, "THEN"); } -#line 4484 "pl_gram.c" +#line 4482 "pl_gram.c" break; case 160: /* expr_until_loop: %empty */ -#line 2441 "pl_gram.y" +#line 2439 "pl_gram.y" { (yyval.expr) = read_sql_expression(K_LOOP, "LOOP"); } -#line 4490 "pl_gram.c" +#line 4488 "pl_gram.c" break; case 161: /* opt_block_label: %empty */ -#line 2445 "pl_gram.y" +#line 2443 "pl_gram.y" { plpgsql_ns_push(NULL, PLPGSQL_LABEL_BLOCK); (yyval.str) = NULL; } -#line 4499 "pl_gram.c" +#line 4497 "pl_gram.c" break; case 162: /* opt_block_label: LESS_LESS any_identifier GREATER_GREATER */ -#line 2450 "pl_gram.y" +#line 2448 "pl_gram.y" { plpgsql_ns_push((yyvsp[-1].str), PLPGSQL_LABEL_BLOCK); (yyval.str) = (yyvsp[-1].str); } -#line 4508 "pl_gram.c" +#line 4506 "pl_gram.c" break; case 163: /* opt_loop_label: %empty */ -#line 2457 "pl_gram.y" +#line 2455 "pl_gram.y" { plpgsql_ns_push(NULL, PLPGSQL_LABEL_LOOP); (yyval.str) = NULL; } -#line 4517 "pl_gram.c" +#line 4515 "pl_gram.c" break; case 164: /* opt_loop_label: LESS_LESS any_identifier GREATER_GREATER */ -#line 2462 "pl_gram.y" +#line 2460 "pl_gram.y" { plpgsql_ns_push((yyvsp[-1].str), PLPGSQL_LABEL_LOOP); (yyval.str) = (yyvsp[-1].str); } -#line 4526 "pl_gram.c" +#line 4524 "pl_gram.c" break; case 165: /* opt_label: %empty */ -#line 2469 "pl_gram.y" +#line 2467 "pl_gram.y" { (yyval.str) = NULL; } -#line 4534 "pl_gram.c" +#line 4532 "pl_gram.c" break; case 166: /* opt_label: any_identifier */ -#line 2473 "pl_gram.y" +#line 2471 "pl_gram.y" { /* label validity will be checked by outer production */ (yyval.str) = (yyvsp[0].str); } -#line 4543 "pl_gram.c" +#line 4541 "pl_gram.c" break; case 167: /* opt_exitcond: ';' */ -#line 2480 "pl_gram.y" +#line 2478 "pl_gram.y" { (yyval.expr) = NULL; } -#line 4549 "pl_gram.c" +#line 4547 "pl_gram.c" break; case 168: /* opt_exitcond: K_WHEN expr_until_semi */ -#line 2482 "pl_gram.y" +#line 2480 "pl_gram.y" { (yyval.expr) = (yyvsp[0].expr); } -#line 4555 "pl_gram.c" +#line 4553 "pl_gram.c" break; case 169: /* any_identifier: T_WORD */ -#line 2489 "pl_gram.y" +#line 2487 "pl_gram.y" { (yyval.str) = (yyvsp[0].word).ident; } -#line 4563 "pl_gram.c" +#line 4561 "pl_gram.c" break; case 170: /* any_identifier: unreserved_keyword */ -#line 2493 "pl_gram.y" +#line 2491 "pl_gram.y" { (yyval.str) = pstrdup((yyvsp[0].keyword)); } -#line 4571 "pl_gram.c" +#line 4569 "pl_gram.c" break; case 171: /* any_identifier: T_DATUM */ -#line 2497 "pl_gram.y" +#line 2495 "pl_gram.y" { if ((yyvsp[0].wdatum).ident == NULL) /* composite name not OK */ yyerror("syntax error"); (yyval.str) = (yyvsp[0].wdatum).ident; } -#line 4581 "pl_gram.c" +#line 4579 "pl_gram.c" break; -#line 4585 "pl_gram.c" +#line 4583 "pl_gram.c" default: break; } @@ -4780,7 +4778,7 @@ yyreturn: return yyresult; } -#line 2588 "pl_gram.y" +#line 2586 "pl_gram.y" /* @@ -4859,7 +4857,7 @@ read_sql_expression(int until, const char *expected) { return read_sql_construct(until, 0, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, NULL); + true, true, NULL, NULL); } /* Convenience routine to read an expression with two possible terminators */ @@ -4869,7 +4867,7 @@ read_sql_expression2(int until, int until2, const char *expected, { return read_sql_construct(until, until2, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, endtoken); + true, true, NULL, endtoken); } /* Convenience routine to read a SQL statement that must end with ';' */ @@ -4878,7 +4876,7 @@ read_sql_stmt(void) { return read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, true, true, NULL, NULL); + false, true, NULL, NULL); } /* @@ -4891,7 +4889,6 @@ read_sql_stmt(void) * parsemode: raw_parser() mode to use * isexpression: whether to say we're reading an "expression" or a "statement" * valid_sql: whether to check the syntax of the expr - * trim: trim trailing whitespace * startloc: if not NULL, location of first token is stored at *startloc * endtoken: if not NULL, ending token is stored at *endtoken * (this is only interesting if until2 or until3 isn't zero) @@ -4904,7 +4901,6 @@ read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken) { @@ -4912,6 +4908,7 @@ read_sql_construct(int until, StringInfoData ds; IdentifierLookup save_IdentifierLookup; int startlocation = -1; + int endlocation = -1; int parenlevel = 0; PLpgSQL_expr *expr; @@ -4962,6 +4959,8 @@ read_sql_construct(int until, expected), parser_errposition(yylloc))); } + /* Remember end+1 location of last accepted token */ + endlocation = yylloc + plpgsql_token_length(); } plpgsql_IdentifierLookup = save_IdentifierLookup; @@ -4972,7 +4971,7 @@ read_sql_construct(int until, *endtoken = tok; /* give helpful complaint about empty input */ - if (startlocation >= yylloc) + if (startlocation >= endlocation) { if (isexpression) yyerror("missing expression"); @@ -4980,14 +4979,14 @@ read_sql_construct(int until, yyerror("missing SQL statement"); } - plpgsql_append_source_text(&ds, startlocation, yylloc); - - /* trim any trailing whitespace, for neatness */ - if (trim) - { - while (ds.len > 0 && scanner_isspace(ds.data[ds.len - 1])) - ds.data[--ds.len] = '\0'; - } + /* + * We save only the text from startlocation to endlocation-1. This + * suppresses the "until" token as well as any whitespace or comments + * following the last accepted token. (We used to strip such trailing + * whitespace by hand, but that causes problems if there's a "-- comment" + * in front of said whitespace.) + */ + plpgsql_append_source_text(&ds, startlocation, endlocation); expr = palloc0(sizeof(PLpgSQL_expr)); expr->query = pstrdup(ds.data); @@ -6128,16 +6127,12 @@ read_cursor_args(PLpgSQL_var *cursor, int until) * Read the value expression. To provide the user with meaningful * parse error positions, we check the syntax immediately, instead of * checking the final expression that may have the arguments - * reordered. Trailing whitespace must not be trimmed, because - * otherwise input of the form (param -- comment\n, param) would be - * translated into a form where the second parameter is commented - * out. + * reordered. */ item = read_sql_construct(',', ')', 0, ",\" or \")", RAW_PARSE_PLPGSQL_EXPR, true, true, - false, /* do not trim */ NULL, &endtoken); argv[argpos] = item->query; diff --git a/src/pl/plpgsql/src/pl_gram.h b/src/pl/plpgsql/src/pl_gram.h index e22b1c0..9fd14bd 100644 --- a/src/pl/plpgsql/src/pl_gram.h +++ b/src/pl/plpgsql/src/pl_gram.h @@ -189,7 +189,7 @@ extern int plpgsql_yydebug; #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED union YYSTYPE { -#line 121 "pl_gram.y" +#line 120 "pl_gram.y" core_YYSTYPE core_yystype; /* these fields must match core_YYSTYPE: */ diff --git a/src/pl/plpgsql/src/pl_gram.y b/src/pl/plpgsql/src/pl_gram.y index debbafe..c7b3a50 100644 --- a/src/pl/plpgsql/src/pl_gram.y +++ b/src/pl/plpgsql/src/pl_gram.y @@ -69,7 +69,6 @@ static PLpgSQL_expr *read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken); static PLpgSQL_expr *read_sql_expression(int until, @@ -923,7 +922,7 @@ stmt_perform : K_PERFORM */ new->expr = read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, false, true, + false, false, &startloc, NULL); /* overwrite "perform" ... */ memcpy(new->expr->query, " SELECT", 7); @@ -1009,7 +1008,7 @@ stmt_assign : T_DATUM plpgsql_push_back_token(T_DATUM); new->expr = read_sql_construct(';', 0, 0, ";", pmode, - false, true, true, + false, true, NULL, NULL); $$ = (PLpgSQL_stmt *) new; @@ -1498,7 +1497,6 @@ for_control : for_variable K_IN RAW_PARSE_DEFAULT, true, false, - true, &expr1loc, &tok); @@ -1903,7 +1901,7 @@ stmt_raise : K_RAISE expr = read_sql_construct(',', ';', K_USING, ", or ; or USING", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &tok); new->params = lappend(new->params, expr); } @@ -2040,7 +2038,7 @@ stmt_dynexecute : K_EXECUTE expr = read_sql_construct(K_INTO, K_USING, ';', "INTO or USING or ;", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new = palloc(sizeof(PLpgSQL_stmt_dynexecute)); @@ -2079,7 +2077,7 @@ stmt_dynexecute : K_EXECUTE expr = read_sql_construct(',', ';', K_INTO, ", or ; or INTO", RAW_PARSE_PLPGSQL_EXPR, - true, true, true, + true, true, NULL, &endtoken); new->params = lappend(new->params, expr); } while (endtoken == ','); @@ -2663,7 +2661,7 @@ read_sql_expression(int until, const char *expected) { return read_sql_construct(until, 0, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, NULL); + true, true, NULL, NULL); } /* Convenience routine to read an expression with two possible terminators */ @@ -2673,7 +2671,7 @@ read_sql_expression2(int until, int until2, const char *expected, { return read_sql_construct(until, until2, 0, expected, RAW_PARSE_PLPGSQL_EXPR, - true, true, true, NULL, endtoken); + true, true, NULL, endtoken); } /* Convenience routine to read a SQL statement that must end with ';' */ @@ -2682,7 +2680,7 @@ read_sql_stmt(void) { return read_sql_construct(';', 0, 0, ";", RAW_PARSE_DEFAULT, - false, true, true, NULL, NULL); + false, true, NULL, NULL); } /* @@ -2695,7 +2693,6 @@ read_sql_stmt(void) * parsemode: raw_parser() mode to use * isexpression: whether to say we're reading an "expression" or a "statement" * valid_sql: whether to check the syntax of the expr - * trim: trim trailing whitespace * startloc: if not NULL, location of first token is stored at *startloc * endtoken: if not NULL, ending token is stored at *endtoken * (this is only interesting if until2 or until3 isn't zero) @@ -2708,7 +2705,6 @@ read_sql_construct(int until, RawParseMode parsemode, bool isexpression, bool valid_sql, - bool trim, int *startloc, int *endtoken) { @@ -2716,6 +2712,7 @@ read_sql_construct(int until, StringInfoData ds; IdentifierLookup save_IdentifierLookup; int startlocation = -1; + int endlocation = -1; int parenlevel = 0; PLpgSQL_expr *expr; @@ -2766,6 +2763,8 @@ read_sql_construct(int until, expected), parser_errposition(yylloc))); } + /* Remember end+1 location of last accepted token */ + endlocation = yylloc + plpgsql_token_length(); } plpgsql_IdentifierLookup = save_IdentifierLookup; @@ -2776,7 +2775,7 @@ read_sql_construct(int until, *endtoken = tok; /* give helpful complaint about empty input */ - if (startlocation >= yylloc) + if (startlocation >= endlocation) { if (isexpression) yyerror("missing expression"); @@ -2784,14 +2783,14 @@ read_sql_construct(int until, yyerror("missing SQL statement"); } - plpgsql_append_source_text(&ds, startlocation, yylloc); - - /* trim any trailing whitespace, for neatness */ - if (trim) - { - while (ds.len > 0 && scanner_isspace(ds.data[ds.len - 1])) - ds.data[--ds.len] = '\0'; - } + /* + * We save only the text from startlocation to endlocation-1. This + * suppresses the "until" token as well as any whitespace or comments + * following the last accepted token. (We used to strip such trailing + * whitespace by hand, but that causes problems if there's a "-- comment" + * in front of said whitespace.) + */ + plpgsql_append_source_text(&ds, startlocation, endlocation); expr = palloc0(sizeof(PLpgSQL_expr)); expr->query = pstrdup(ds.data); @@ -3932,16 +3931,12 @@ read_cursor_args(PLpgSQL_var *cursor, int until) * Read the value expression. To provide the user with meaningful * parse error positions, we check the syntax immediately, instead of * checking the final expression that may have the arguments - * reordered. Trailing whitespace must not be trimmed, because - * otherwise input of the form (param -- comment\n, param) would be - * translated into a form where the second parameter is commented - * out. + * reordered. */ item = read_sql_construct(',', ')', 0, ",\" or \")", RAW_PARSE_PLPGSQL_EXPR, true, true, - false, /* do not trim */ NULL, &endtoken); argv[argpos] = item->query; diff --git a/src/pl/plpgsql/src/pl_scanner.c b/src/pl/plpgsql/src/pl_scanner.c index aa1beb6..521d569 100644 --- a/src/pl/plpgsql/src/pl_scanner.c +++ b/src/pl/plpgsql/src/pl_scanner.c @@ -184,6 +184,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B.C */ + aux1.leng = aux5.lloc - aux1.lloc + aux5.leng; } else { @@ -197,6 +199,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B */ + aux1.leng = aux3.lloc - aux1.lloc + aux3.leng; } } else @@ -210,6 +214,8 @@ plpgsql_yylex(void) tok1 = T_DATUM; else tok1 = T_CWORD; + /* Adjust token length to include A.B */ + aux1.leng = aux3.lloc - aux1.lloc + aux3.leng; } } else @@ -299,6 +305,17 @@ plpgsql_yylex(void) } /* + * Return the length of the token last returned by plpgsql_yylex(). + * + * In the case of compound tokens, the length includes all the parts. + */ +int +plpgsql_token_length(void) +{ + return plpgsql_yyleng; +} + +/* * Internal yylex function. This wraps the core lexer and adds one feature: * a token pushback stack. We also make a couple of trivial single-token * translations from what the core lexer does to what we want, in particular diff --git a/src/pl/plpgsql/src/plpgsql.h b/src/pl/plpgsql/src/plpgsql.h index 2b6cda6..471086e 100644 --- a/src/pl/plpgsql/src/plpgsql.h +++ b/src/pl/plpgsql/src/plpgsql.h @@ -1321,6 +1321,7 @@ extern void plpgsql_dumptree(PLpgSQL_function *func); */ extern int plpgsql_base_yylex(void); extern int plpgsql_yylex(void); +extern int plpgsql_token_length(void); extern void plpgsql_push_back_token(int token); extern bool plpgsql_token_is_unreserved_keyword(int token); extern void plpgsql_append_source_text(StringInfo buf, diff --git a/src/pl/plpgsql/src/po/ru.po b/src/pl/plpgsql/src/po/ru.po index a1a17a0..137d03e 100644 --- a/src/pl/plpgsql/src/po/ru.po +++ b/src/pl/plpgsql/src/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: plpgsql (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2024-02-02 18:11+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2022-09-05 13:38+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -323,7 +323,7 @@ msgid "" msgstr "" "функциÑ, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰Ð°Ñ ÑоÑтавной тип, не может вернуть неÑоÑтавное значение" -#: pl_exec.c:3331 pl_gram.y:3375 +#: pl_exec.c:3331 pl_gram.y:3374 #, c-format msgid "cannot use RETURN NEXT in a non-SETOF function" msgstr "" @@ -344,7 +344,7 @@ msgstr "в RETURN NEXT передан неправильный тип Ð·Ð°Ð¿Ð¸Ñ msgid "RETURN NEXT must have a parameter" msgstr "у оператора RETURN NEXT должен быть параметр" -#: pl_exec.c:3551 pl_gram.y:3439 +#: pl_exec.c:3551 pl_gram.y:3438 #, c-format msgid "cannot use RETURN QUERY in a non-SETOF function" msgstr "" @@ -545,7 +545,7 @@ msgid "The tuple structure of a not-yet-assigned record is indeterminate." msgstr "" "Ð”Ð»Ñ Ð·Ð°Ð¿Ð¸Ñи, которой не приÑвоено значение, Ñтруктура кортежа не определена." -#: pl_exec.c:8319 pl_gram.y:3498 +#: pl_exec.c:8319 pl_gram.y:3497 #, c-format msgid "variable \"%s\" is declared CONSTANT" msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ \"%s\" объÑвлена как CONSTANT" @@ -582,57 +582,57 @@ msgstr "SQL-оператор" msgid "FOR over EXECUTE statement" msgstr "FOR по результатам EXECUTE" -#: pl_gram.y:488 +#: pl_gram.y:487 #, c-format msgid "block label must be placed before DECLARE, not after" msgstr "метка блока должна помещатьÑÑ Ð´Ð¾ DECLARE, а не поÑле" -#: pl_gram.y:508 +#: pl_gram.y:507 #, c-format msgid "collations are not supported by type %s" msgstr "тип %s не поддерживает Ñортировку (COLLATION)" -#: pl_gram.y:527 +#: pl_gram.y:526 #, c-format msgid "variable \"%s\" must have a default value, since it's declared NOT NULL" msgstr "" "у переменной \"%s\" должно быть значение по умолчанию, так как она объÑвлена " "как NOT NULL" -#: pl_gram.y:675 pl_gram.y:690 pl_gram.y:716 +#: pl_gram.y:674 pl_gram.y:689 pl_gram.y:715 #, c-format msgid "variable \"%s\" does not exist" msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ \"%s\" не ÑущеÑтвует" -#: pl_gram.y:734 pl_gram.y:762 +#: pl_gram.y:733 pl_gram.y:761 msgid "duplicate declaration" msgstr "повторÑющееÑÑ Ð¾Ð±ÑŠÑвление" -#: pl_gram.y:745 pl_gram.y:773 +#: pl_gram.y:744 pl_gram.y:772 #, c-format msgid "variable \"%s\" shadows a previously defined variable" msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ \"%s\" Ñкрывает ранее определённую переменную" -#: pl_gram.y:1045 +#: pl_gram.y:1044 #, c-format msgid "diagnostics item %s is not allowed in GET STACKED DIAGNOSTICS" msgstr "команда GET STACKED DIAGNOSTICS не принимает Ñлемент %s" -#: pl_gram.y:1063 +#: pl_gram.y:1062 #, c-format msgid "diagnostics item %s is not allowed in GET CURRENT DIAGNOSTICS" msgstr "команда GET CURRENT DIAGNOSTICS не принимает Ñлемент %s" -#: pl_gram.y:1158 +#: pl_gram.y:1157 msgid "unrecognized GET DIAGNOSTICS item" msgstr "нераÑпознанный Ñлемент GET DIAGNOSTICS" -#: pl_gram.y:1174 pl_gram.y:3614 +#: pl_gram.y:1173 pl_gram.y:3613 #, c-format msgid "\"%s\" is not a scalar variable" msgstr "\"%s\" - не ÑкалÑÑ€Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ" -#: pl_gram.y:1404 pl_gram.y:1598 +#: pl_gram.y:1403 pl_gram.y:1596 #, c-format msgid "" "loop variable of loop over rows must be a record variable or list of scalar " @@ -641,229 +641,229 @@ msgstr "" "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ†Ð¸ÐºÐ»Ð° по кортежам должна быть переменной типа запиÑÑŒ или ÑпиÑком " "ÑкалÑрных переменных" -#: pl_gram.y:1439 +#: pl_gram.y:1438 #, c-format msgid "cursor FOR loop must have only one target variable" msgstr "в цикле FOR Ñ ÐºÑƒÑ€Ñором должна быть только одна переменнаÑ" -#: pl_gram.y:1446 +#: pl_gram.y:1445 #, c-format msgid "cursor FOR loop must use a bound cursor variable" msgstr "" "в цикле FOR Ñ ÐºÑƒÑ€Ñором должен иÑпользоватьÑÑ ÐºÑƒÑ€Ñор, привÑзанный к запроÑу" -#: pl_gram.y:1537 +#: pl_gram.y:1535 #, c-format msgid "integer FOR loop must have only one target variable" msgstr "в целочиÑленном цикле FOR должна быть только одна переменнаÑ" -#: pl_gram.y:1571 +#: pl_gram.y:1569 #, c-format msgid "cannot specify REVERSE in query FOR loop" msgstr "в цикле FOR Ñ Ð·Ð°Ð¿Ñ€Ð¾Ñом Ð½ÐµÐ»ÑŒÐ·Ñ ÑƒÐºÐ°Ð·Ð°Ñ‚ÑŒ REVERSE" -#: pl_gram.y:1701 +#: pl_gram.y:1699 #, c-format msgid "loop variable of FOREACH must be a known variable or list of variables" msgstr "" "переменной цикла FOREACH должна быть извеÑÑ‚Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ð¸Ð»Ð¸ ÑпиÑок " "переменных" -#: pl_gram.y:1743 +#: pl_gram.y:1741 #, c-format msgid "" "there is no label \"%s\" attached to any block or loop enclosing this " "statement" msgstr "в блоке или цикле, окружающем Ñтот оператор, нет метки \"%s\"" -#: pl_gram.y:1751 +#: pl_gram.y:1749 #, c-format msgid "block label \"%s\" cannot be used in CONTINUE" msgstr "метку блока \"%s\" Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать в CONTINUE" -#: pl_gram.y:1766 +#: pl_gram.y:1764 #, c-format msgid "EXIT cannot be used outside a loop, unless it has a label" msgstr "EXIT можно иÑпользовать вне цикла только Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð¸ÐµÐ¼ метки" -#: pl_gram.y:1767 +#: pl_gram.y:1765 #, c-format msgid "CONTINUE cannot be used outside a loop" msgstr "CONTINUE Ð½ÐµÐ»ÑŒÐ·Ñ Ð¸Ñпользовать вне цикла" -#: pl_gram.y:1791 pl_gram.y:1829 pl_gram.y:1877 pl_gram.y:3061 pl_gram.y:3149 -#: pl_gram.y:3260 pl_gram.y:4013 +#: pl_gram.y:1789 pl_gram.y:1827 pl_gram.y:1875 pl_gram.y:3060 pl_gram.y:3148 +#: pl_gram.y:3259 pl_gram.y:4008 msgid "unexpected end of function definition" msgstr "неожиданный конец Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ÑƒÐ½ÐºÑ†Ð¸Ð¸" -#: pl_gram.y:1897 pl_gram.y:1921 pl_gram.y:1937 pl_gram.y:1943 pl_gram.y:2068 -#: pl_gram.y:2076 pl_gram.y:2090 pl_gram.y:2185 pl_gram.y:2409 pl_gram.y:2499 -#: pl_gram.y:2657 pl_gram.y:3856 pl_gram.y:3917 pl_gram.y:3994 +#: pl_gram.y:1895 pl_gram.y:1919 pl_gram.y:1935 pl_gram.y:1941 pl_gram.y:2066 +#: pl_gram.y:2074 pl_gram.y:2088 pl_gram.y:2183 pl_gram.y:2407 pl_gram.y:2497 +#: pl_gram.y:2655 pl_gram.y:3855 pl_gram.y:3916 pl_gram.y:3989 msgid "syntax error" msgstr "ошибка ÑинтакÑиÑа" -#: pl_gram.y:1925 pl_gram.y:1927 pl_gram.y:2413 pl_gram.y:2415 +#: pl_gram.y:1923 pl_gram.y:1925 pl_gram.y:2411 pl_gram.y:2413 msgid "invalid SQLSTATE code" msgstr "неверный код SQLSTATE" -#: pl_gram.y:2133 +#: pl_gram.y:2131 msgid "syntax error, expected \"FOR\"" msgstr "ошибка ÑинтакÑиÑа, ожидалÑÑ \"FOR\"" -#: pl_gram.y:2194 +#: pl_gram.y:2192 #, c-format msgid "FETCH statement cannot return multiple rows" msgstr "оператор FETCH не может вернуть неÑколько Ñтрок" -#: pl_gram.y:2291 +#: pl_gram.y:2289 #, c-format msgid "cursor variable must be a simple variable" msgstr "переменнаÑ-курÑор должна быть проÑтой переменной" -#: pl_gram.y:2297 +#: pl_gram.y:2295 #, c-format msgid "variable \"%s\" must be of type cursor or refcursor" msgstr "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ \"%s\" должна быть типа cursor или refcursor" -#: pl_gram.y:2628 pl_gram.y:2639 +#: pl_gram.y:2626 pl_gram.y:2637 #, c-format msgid "\"%s\" is not a known variable" msgstr "\"%s\" - не извеÑÑ‚Ð½Ð°Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ" -#: pl_gram.y:2745 pl_gram.y:2755 pl_gram.y:2911 +#: pl_gram.y:2742 pl_gram.y:2752 pl_gram.y:2910 msgid "mismatched parentheses" msgstr "непарные Ñкобки" -#: pl_gram.y:2759 +#: pl_gram.y:2756 #, c-format msgid "missing \"%s\" at end of SQL expression" msgstr "отÑутÑтвует \"%s\" в конце Ð²Ñ‹Ñ€Ð°Ð¶ÐµÐ½Ð¸Ñ SQL" -#: pl_gram.y:2765 +#: pl_gram.y:2762 #, c-format msgid "missing \"%s\" at end of SQL statement" msgstr "отÑутÑтвует \"%s\" в конце оператора SQL" -#: pl_gram.y:2782 +#: pl_gram.y:2781 msgid "missing expression" msgstr "отÑутÑтвует выражение" -#: pl_gram.y:2784 +#: pl_gram.y:2783 msgid "missing SQL statement" msgstr "отÑутÑтвует оператор SQL" -#: pl_gram.y:2913 +#: pl_gram.y:2912 msgid "incomplete data type declaration" msgstr "неполное определение типа данных" -#: pl_gram.y:2936 +#: pl_gram.y:2935 msgid "missing data type declaration" msgstr "отÑутÑтвует определение типа данных" -#: pl_gram.y:3071 +#: pl_gram.y:3070 msgid "INTO specified more than once" msgstr "INTO указано неоднократно" -#: pl_gram.y:3241 +#: pl_gram.y:3240 msgid "expected FROM or IN" msgstr "ожидалоÑÑŒ FROM или IN" -#: pl_gram.y:3302 +#: pl_gram.y:3301 #, c-format msgid "RETURN cannot have a parameter in function returning set" msgstr "в функции, возвращающей множеÑтво, RETURN должен быть без параметров" -#: pl_gram.y:3303 +#: pl_gram.y:3302 #, c-format msgid "Use RETURN NEXT or RETURN QUERY." msgstr "ИÑпользуйте RETURN NEXT или RETURN QUERY." -#: pl_gram.y:3313 +#: pl_gram.y:3312 #, c-format msgid "RETURN cannot have a parameter in a procedure" msgstr "в процедуре RETURN должен быть без параметров" -#: pl_gram.y:3318 +#: pl_gram.y:3317 #, c-format msgid "RETURN cannot have a parameter in function returning void" msgstr "в функции, не возвращающей ничего, RETURN не должен иметь параметров" -#: pl_gram.y:3327 +#: pl_gram.y:3326 #, c-format msgid "RETURN cannot have a parameter in function with OUT parameters" msgstr "RETURN должен быть без параметров в функции Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ OUT" -#: pl_gram.y:3390 +#: pl_gram.y:3389 #, c-format msgid "RETURN NEXT cannot have a parameter in function with OUT parameters" msgstr "RETURN NEXT должен быть без параметров в функции Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€Ð°Ð¼Ð¸ OUT" -#: pl_gram.y:3556 +#: pl_gram.y:3555 #, c-format msgid "record variable cannot be part of multiple-item INTO list" msgstr "" "Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð°Ñ Ñ‚Ð¸Ð¿Ð° запиÑÑŒ не может быть чаÑтью ÑпиÑка INTO Ñ Ð½ÐµÑколькими " "Ñлементами" -#: pl_gram.y:3602 +#: pl_gram.y:3601 #, c-format msgid "too many INTO variables specified" msgstr "указано Ñлишком много переменных INTO" -#: pl_gram.y:3810 +#: pl_gram.y:3809 #, c-format msgid "end label \"%s\" specified for unlabeled block" msgstr "ÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° \"%s\" указана Ð´Ð»Ñ Ð½ÐµÐ¿Ð¾Ð¼ÐµÑ‡ÐµÐ½Ð½Ð¾Ð³Ð¾ блока" -#: pl_gram.y:3817 +#: pl_gram.y:3816 #, c-format msgid "end label \"%s\" differs from block's label \"%s\"" msgstr "ÐºÐ¾Ð½ÐµÑ‡Ð½Ð°Ñ Ð¼ÐµÑ‚ÐºÐ° \"%s\" отличаетÑÑ Ð¾Ñ‚ метки блока \"%s\"" -#: pl_gram.y:3851 +#: pl_gram.y:3850 #, c-format msgid "cursor \"%s\" has no arguments" msgstr "курÑор \"%s\" не имеет аргументов" -#: pl_gram.y:3865 +#: pl_gram.y:3864 #, c-format msgid "cursor \"%s\" has arguments" msgstr "курÑор \"%s\" имеет аргументы" -#: pl_gram.y:3907 +#: pl_gram.y:3906 #, c-format msgid "cursor \"%s\" has no argument named \"%s\"" msgstr "курÑор \"%s\" не имеет аргумента \"%s\"" -#: pl_gram.y:3927 +#: pl_gram.y:3926 #, c-format msgid "value for parameter \"%s\" of cursor \"%s\" specified more than once" msgstr "значение параметра \"%s\" курÑора \"%s\" указано неоднократно" -#: pl_gram.y:3952 +#: pl_gram.y:3947 #, c-format msgid "not enough arguments for cursor \"%s\"" msgstr "недоÑтаточно аргументов Ð´Ð»Ñ ÐºÑƒÑ€Ñора \"%s\"" -#: pl_gram.y:3959 +#: pl_gram.y:3954 #, c-format msgid "too many arguments for cursor \"%s\"" msgstr "Ñлишком много аргументов Ð´Ð»Ñ ÐºÑƒÑ€Ñора \"%s\"" -#: pl_gram.y:4045 +#: pl_gram.y:4040 msgid "unrecognized RAISE statement option" msgstr "нераÑпознанный параметр оператора RAISE" -#: pl_gram.y:4049 +#: pl_gram.y:4044 msgid "syntax error, expected \"=\"" msgstr "ошибка ÑинтакÑиÑа, ожидалоÑÑŒ \"=\"" -#: pl_gram.y:4090 +#: pl_gram.y:4085 #, c-format msgid "too many parameters specified for RAISE" msgstr "Ñлишком много параметров Ð´Ð»Ñ RAISE" -#: pl_gram.y:4094 +#: pl_gram.y:4089 #, c-format msgid "too few parameters specified for RAISE" msgstr "недоÑтаточно параметров Ð´Ð»Ñ RAISE" @@ -898,13 +898,13 @@ msgid "List of programming constructs that should produce an error." msgstr "СпиÑок программных конÑтрукций, которые должны выдавать ошибку." #. translator: %s is typically the translation of "syntax error" -#: pl_scanner.c:508 +#: pl_scanner.c:525 #, c-format msgid "%s at end of input" msgstr "%s в конце" #. translator: first %s is typically the translation of "syntax error" -#: pl_scanner.c:524 +#: pl_scanner.c:541 #, c-format msgid "%s at or near \"%s\"" msgstr "%s (примерное положение: \"%s\")" diff --git a/src/pl/plpgsql/src/sql/plpgsql_control.sql b/src/pl/plpgsql/src/sql/plpgsql_control.sql index ed72311..8e007c5 100644 --- a/src/pl/plpgsql/src/sql/plpgsql_control.sql +++ b/src/pl/plpgsql/src/sql/plpgsql_control.sql @@ -486,3 +486,17 @@ select case_test(1); select case_test(2); select case_test(12); select case_test(13); + +-- test line comment between WHEN and THEN +create or replace function case_comment(int) returns text as $$ +begin + case $1 + when 1 -- comment before THEN + then return 'one'; + else + return 'other'; + end case; +end; +$$ language plpgsql immutable; + +select case_comment(1); diff --git a/src/pl/plpython/plpy_exec.c b/src/pl/plpython/plpy_exec.c index 993a4e2..953c2d4 100644 --- a/src/pl/plpython/plpy_exec.c +++ b/src/pl/plpython/plpy_exec.c @@ -691,7 +691,7 @@ PLy_trigger_build_args(FunctionCallInfo fcinfo, PLyProcedure *proc, HeapTuple *r *pltrelid, *plttablename, *plttableschema, - *pltargs = NULL, + *pltargs, *pytnew, *pytold, *pltdata; @@ -715,6 +715,11 @@ PLy_trigger_build_args(FunctionCallInfo fcinfo, PLyProcedure *proc, HeapTuple *r return NULL; } } + else + { + Py_INCREF(Py_None); + pltargs = Py_None; + } PG_TRY(); { @@ -858,7 +863,7 @@ PLy_trigger_build_args(FunctionCallInfo fcinfo, PLyProcedure *proc, HeapTuple *r PyObject *pltarg; /* pltargs should have been allocated before the PG_TRY block. */ - Assert(pltargs); + Assert(pltargs && pltargs != Py_None); for (i = 0; i < tdata->tg_trigger->tgnargs; i++) { @@ -872,8 +877,7 @@ PLy_trigger_build_args(FunctionCallInfo fcinfo, PLyProcedure *proc, HeapTuple *r } else { - Py_INCREF(Py_None); - pltargs = Py_None; + Assert(pltargs == Py_None); } PyDict_SetItemString(pltdata, "args", pltargs); Py_DECREF(pltargs); diff --git a/src/pl/plpython/po/ru.po b/src/pl/plpython/po/ru.po index b632dba..82efe98 100644 --- a/src/pl/plpython/po/ru.po +++ b/src/pl/plpython/po/ru.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: plpython (PostgreSQL current)\n" "Report-Msgid-Bugs-To: pgsql-bugs@lists.postgresql.org\n" -"POT-Creation-Date: 2023-11-03 09:09+0300\n" +"POT-Creation-Date: 2024-05-04 10:36+0300\n" "PO-Revision-Date: 2023-05-05 06:34+0300\n" "Last-Translator: Alexander Lakhin <exclusion@gmail.com>\n" "Language-Team: Russian <pgsql-ru-general@postgresql.org>\n" @@ -156,22 +156,22 @@ msgstr "" msgid "while creating return value" msgstr "при Ñоздании возвращаемого значениÑ" -#: plpy_exec.c:926 +#: plpy_exec.c:930 #, c-format msgid "TD[\"new\"] deleted, cannot modify row" msgstr "Ñлемент TD[\"new\"] удалён -- изменить Ñтроку нельзÑ" -#: plpy_exec.c:931 +#: plpy_exec.c:935 #, c-format msgid "TD[\"new\"] is not a dictionary" msgstr "TD[\"new\"] - не Ñловарь" -#: plpy_exec.c:956 +#: plpy_exec.c:960 #, c-format msgid "TD[\"new\"] dictionary key at ordinal position %d is not a string" msgstr "ключ ÑÐ»Ð¾Ð²Ð°Ñ€Ñ TD[\"new\"] Ñ Ð¿Ð¾Ñ€Ñдковым номером %d не ÑвлÑетÑÑ Ñтрокой" -#: plpy_exec.c:963 +#: plpy_exec.c:967 #, c-format msgid "" "key \"%s\" found in TD[\"new\"] does not exist as a column in the triggering " @@ -180,22 +180,22 @@ msgstr "" "ключу \"%s\", найденному в TD[\"new\"], не ÑоответÑтвует Ñтолбец в Ñтроке, " "обрабатываемой триггером" -#: plpy_exec.c:968 +#: plpy_exec.c:972 #, c-format msgid "cannot set system attribute \"%s\"" msgstr "приÑвоить значение ÑиÑтемному атрибуту \"%s\" нельзÑ" -#: plpy_exec.c:973 +#: plpy_exec.c:977 #, c-format msgid "cannot set generated column \"%s\"" msgstr "приÑвоить значение генерируемому Ñтолбцу \"%s\" нельзÑ" -#: plpy_exec.c:1031 +#: plpy_exec.c:1035 #, c-format msgid "while modifying trigger row" msgstr "при изменении Ñтроки в триггере" -#: plpy_exec.c:1089 +#: plpy_exec.c:1093 #, c-format msgid "forcibly aborting a subtransaction that has not been exited" msgstr "принудительное прерывание незавершённой подтранзакции" diff --git a/src/port/pthread-win32.h b/src/port/pthread-win32.h index 97ccc17..5f33269 100644 --- a/src/port/pthread-win32.h +++ b/src/port/pthread-win32.h @@ -5,7 +5,16 @@ #define __PTHREAD_H typedef ULONG pthread_key_t; -typedef CRITICAL_SECTION *pthread_mutex_t; + +typedef struct pthread_mutex_t +{ + /* initstate = 0: not initialized; 1: init done; 2: init in progress */ + LONG initstate; + CRITICAL_SECTION csection; +} pthread_mutex_t; + +#define PTHREAD_MUTEX_INITIALIZER { 0 } + typedef int pthread_once_t; DWORD pthread_self(void); diff --git a/src/test/isolation/expected/merge-update.out b/src/test/isolation/expected/merge-update.out index 55b1f90..f5f7e3b 100644 --- a/src/test/isolation/expected/merge-update.out +++ b/src/test/isolation/expected/merge-update.out @@ -48,6 +48,27 @@ key|val step c2: COMMIT; +starting permutation: pa_merge1 c1 pa_merge2c_dup a2 +step pa_merge1: + MERGE INTO pa_target t + USING (SELECT 1 as key, 'pa_merge1' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set val = t.val || ' updated by ' || s.val; + +step c1: COMMIT; +step pa_merge2c_dup: + MERGE INTO pa_target t + USING (VALUES (1), (1)) v(a) + ON t.key = v.a + WHEN MATCHED THEN + UPDATE set val = t.val || ' updated by pa_merge2c_dup'; -- should fail + +ERROR: MERGE command cannot affect row a second time +step a2: ABORT; + starting permutation: merge1 merge2a c1 select2 c2 step merge1: MERGE INTO target t @@ -312,3 +333,25 @@ key|val (2 rows) step c2: COMMIT; + +starting permutation: pa_merge1 pa_merge2c_dup c1 a2 +step pa_merge1: + MERGE INTO pa_target t + USING (SELECT 1 as key, 'pa_merge1' as val) s + ON s.key = t.key + WHEN NOT MATCHED THEN + INSERT VALUES (s.key, s.val) + WHEN MATCHED THEN + UPDATE set val = t.val || ' updated by ' || s.val; + +step pa_merge2c_dup: + MERGE INTO pa_target t + USING (VALUES (1), (1)) v(a) + ON t.key = v.a + WHEN MATCHED THEN + UPDATE set val = t.val || ' updated by pa_merge2c_dup'; -- should fail + <waiting ...> +step c1: COMMIT; +step pa_merge2c_dup: <... completed> +ERROR: MERGE command cannot affect row a second time +step a2: ABORT; diff --git a/src/test/isolation/specs/merge-update.spec b/src/test/isolation/specs/merge-update.spec index e8d0166..3ccd466 100644 --- a/src/test/isolation/specs/merge-update.spec +++ b/src/test/isolation/specs/merge-update.spec @@ -4,6 +4,7 @@ # 1. UPDATEs of PKs that change the join in the ON clause # 2. UPDATEs with WHEN conditions that would fail after concurrent update # 3. UPDATEs with extra ON conditions that would fail after concurrent update +# 4. UPDATEs with duplicate source rows setup { @@ -134,15 +135,26 @@ step "pa_merge2b_when" WHEN MATCHED AND t.val like 'initial%' THEN UPDATE set key = t.key + 1, val = t.val || ' updated by ' || s.val; } +# Duplicate source row should fail +step "pa_merge2c_dup" +{ + MERGE INTO pa_target t + USING (VALUES (1), (1)) v(a) + ON t.key = v.a + WHEN MATCHED THEN + UPDATE set val = t.val || ' updated by pa_merge2c_dup'; -- should fail +} step "select2" { SELECT * FROM target; } step "pa_select2" { SELECT * FROM pa_target; } step "c2" { COMMIT; } +step "a2" { ABORT; } # Basic effects permutation "merge1" "c1" "select2" "c2" # One after the other, no concurrency permutation "merge1" "c1" "merge2a" "select2" "c2" +permutation "pa_merge1" "c1" "pa_merge2c_dup" "a2" # Now with concurrency permutation "merge1" "merge2a" "c1" "select2" "c2" @@ -154,3 +166,4 @@ permutation "pa_merge2" "pa_merge2a" "c1" "pa_select2" "c2" # fails permutation "pa_merge2" "c1" "pa_merge2a" "pa_select2" "c2" # succeeds permutation "pa_merge3" "pa_merge2b_when" "c1" "pa_select2" "c2" # WHEN not satisfied by updated tuple permutation "pa_merge1" "pa_merge2b_when" "c1" "pa_select2" "c2" # WHEN satisfied by updated tuple +permutation "pa_merge1" "pa_merge2c_dup" "c1" "a2" diff --git a/src/test/kerberos/t/001_auth.pl b/src/test/kerberos/t/001_auth.pl index 64117c2..f2253e5 100644 --- a/src/test/kerberos/t/001_auth.pl +++ b/src/test/kerberos/t/001_auth.pl @@ -184,7 +184,12 @@ system_or_bail $krb5kdc, '-P', $kdc_pidfile; END { - kill 'INT', `cat $kdc_pidfile` if -f $kdc_pidfile; + # take care not to change the script's exit value + my $exit_code = $?; + + kill 'INT', `cat $kdc_pidfile` if defined($kdc_pidfile) && -f $kdc_pidfile; + + $? = $exit_code; } note "setting up PostgreSQL instance"; diff --git a/src/test/ldap/t/001_auth.pl b/src/test/ldap/t/001_auth.pl index 2a7435e..3dd56e9 100644 --- a/src/test/ldap/t/001_auth.pl +++ b/src/test/ldap/t/001_auth.pl @@ -16,44 +16,77 @@ if ($ENV{with_ldap} ne 'yes') { plan skip_all => 'LDAP not supported by this build'; } -elsif ($^O eq 'darwin' && -d '/opt/homebrew/opt/openldap') +# Find the OpenLDAP server binary and directory containing schema +# definition files. +elsif ($^O eq 'darwin') { - # typical paths for Homebrew on ARM - $slapd = '/opt/homebrew/opt/openldap/libexec/slapd'; - $ldap_schema_dir = '/opt/homebrew/etc/openldap/schema'; -} -elsif ($^O eq 'darwin' && -d '/usr/local/opt/openldap') -{ - # typical paths for Homebrew on Intel - $slapd = '/usr/local/opt/openldap/libexec/slapd'; - $ldap_schema_dir = '/usr/local/etc/openldap/schema'; -} -elsif ($^O eq 'darwin' && -d '/opt/local/etc/openldap') -{ - # typical paths for MacPorts - $slapd = '/opt/local/libexec/slapd'; - $ldap_schema_dir = '/opt/local/etc/openldap/schema'; + if (-d '/opt/homebrew/opt/openldap') + { + # typical paths for Homebrew on ARM + $slapd = '/opt/homebrew/opt/openldap/libexec/slapd'; + $ldap_schema_dir = '/opt/homebrew/etc/openldap/schema'; + } + elsif (-d '/usr/local/opt/openldap') + { + # typical paths for Homebrew on Intel + $slapd = '/usr/local/opt/openldap/libexec/slapd'; + $ldap_schema_dir = '/usr/local/etc/openldap/schema'; + } + elsif (-d '/opt/local/etc/openldap') + { + # typical paths for MacPorts + $slapd = '/opt/local/libexec/slapd'; + $ldap_schema_dir = '/opt/local/etc/openldap/schema'; + } + else + { + plan skip_all => "OpenLDAP server installation not found"; + } } elsif ($^O eq 'linux') { - $slapd = '/usr/sbin/slapd'; - $ldap_schema_dir = '/etc/ldap/schema' if -d '/etc/ldap/schema'; - $ldap_schema_dir = '/etc/openldap/schema' if -d '/etc/openldap/schema'; + if (-d '/etc/ldap/schema') + { + $slapd = '/usr/sbin/slapd'; + $ldap_schema_dir = '/etc/ldap/schema'; + } + elsif (-d '/etc/openldap/schema') + { + $slapd = '/usr/sbin/slapd'; + $ldap_schema_dir = '/etc/openldap/schema'; + } + else + { + plan skip_all => "OpenLDAP server installation not found"; + } } elsif ($^O eq 'freebsd') { - $slapd = '/usr/local/libexec/slapd'; - $ldap_schema_dir = '/usr/local/etc/openldap/schema'; + if (-d '/usr/local/etc/openldap/schema') + { + $slapd = '/usr/local/libexec/slapd'; + $ldap_schema_dir = '/usr/local/etc/openldap/schema'; + } + else + { + plan skip_all => "OpenLDAP server installation not found"; + } } elsif ($^O eq 'openbsd') { - $slapd = '/usr/local/libexec/slapd'; - $ldap_schema_dir = '/usr/local/share/examples/openldap/schema'; + if (-d '/usr/local/share/examples/openldap/schema') + { + $slapd = '/usr/local/libexec/slapd'; + $ldap_schema_dir = '/usr/local/share/examples/openldap/schema'; + } + else + { + plan skip_all => "OpenLDAP server installation not found"; + } } else { - plan skip_all => - "ldap tests not supported on $^O or dependencies not installed"; + plan skip_all => "ldap tests not supported on $^O"; } # make your own edits here @@ -130,7 +163,12 @@ system_or_bail $slapd, '-f', $slapd_conf,'-s0', '-h', "$ldap_url $ldaps_url"; END { + # take care not to change the script's exit value + my $exit_code = $?; + kill 'INT', `cat $slapd_pidfile` if -f $slapd_pidfile; + + $? = $exit_code; } append_to_file($ldap_pwfile, $ldap_rootpw); diff --git a/src/test/recovery/t/008_fsm_truncation.pl b/src/test/recovery/t/008_fsm_truncation.pl index 5be2153..251f43a 100644 --- a/src/test/recovery/t/008_fsm_truncation.pl +++ b/src/test/recovery/t/008_fsm_truncation.pl @@ -1,9 +1,8 @@ # Copyright (c) 2021-2022, PostgreSQL Global Development Group -# Test WAL replay of FSM changes. -# -# FSM changes don't normally need to be WAL-logged, except for truncation. +# Test FSM-driven INSERT just after truncation clears FSM slots indicating +# free space in removed blocks. # The FSM mustn't return a page that doesn't exist (anymore). use strict; use warnings; diff --git a/src/test/regress/expected/create_procedure.out b/src/test/regress/expected/create_procedure.out index 46c827f..f3eabc0 100644 --- a/src/test/regress/expected/create_procedure.out +++ b/src/test/regress/expected/create_procedure.out @@ -148,7 +148,19 @@ CALL ptest4a(a, b); -- error, not supported $$; ERROR: calling procedures with output arguments is not supported in SQL functions CONTEXT: SQL function "ptest4b" -DROP PROCEDURE ptest4a; +-- we used to get confused by a single output argument that is composite +CREATE PROCEDURE ptest4c(INOUT comp int8_tbl) +LANGUAGE SQL +AS $$ +SELECT ROW(1, 2); +$$; +CALL ptest4c(NULL); + comp +------- + (1,2) +(1 row) + +DROP PROCEDURE ptest4a, ptest4c; -- named and default parameters CREATE OR REPLACE PROCEDURE ptest5(a int, b text, c int default 100) LANGUAGE SQL diff --git a/src/test/regress/expected/foreign_data.out b/src/test/regress/expected/foreign_data.out index 3350535..25e7163 100644 --- a/src/test/regress/expected/foreign_data.out +++ b/src/test/regress/expected/foreign_data.out @@ -894,24 +894,29 @@ ERROR: column "no_column" of relation "ft1" does not exist ALTER FOREIGN TABLE ft1 DROP COLUMN IF EXISTS no_column; NOTICE: column "no_column" of relation "ft1" does not exist, skipping ALTER FOREIGN TABLE ft1 DROP COLUMN c9; +ALTER FOREIGN TABLE ft1 ADD COLUMN c11 serial; ALTER FOREIGN TABLE ft1 SET SCHEMA foreign_schema; ALTER FOREIGN TABLE ft1 SET TABLESPACE ts; -- ERROR ERROR: relation "ft1" does not exist +ALTER SEQUENCE foreign_schema.ft1_c11_seq SET SCHEMA public; -- ERROR +ERROR: cannot move an owned sequence into another schema +DETAIL: Sequence "ft1_c11_seq" is linked to table "ft1". ALTER FOREIGN TABLE foreign_schema.ft1 RENAME c1 TO foreign_column_1; ALTER FOREIGN TABLE foreign_schema.ft1 RENAME TO foreign_table_1; \d foreign_schema.foreign_table_1 - Foreign table "foreign_schema.foreign_table_1" - Column | Type | Collation | Nullable | Default | FDW options -------------------+---------+-----------+----------+---------+-------------------------------- - foreign_column_1 | integer | | not null | | ("param 1" 'val1') - c2 | text | | | | (param2 'val2', param3 'val3') - c3 | date | | | | - c4 | integer | | | 0 | - c5 | integer | | | | - c6 | integer | | not null | | - c7 | integer | | | | (p1 'v1', p2 'v2') - c8 | text | | | | (p2 'V2') - c10 | integer | | | | (p1 'v1') + Foreign table "foreign_schema.foreign_table_1" + Column | Type | Collation | Nullable | Default | FDW options +------------------+---------+-----------+----------+-------------------------------------------------+-------------------------------- + foreign_column_1 | integer | | not null | | ("param 1" 'val1') + c2 | text | | | | (param2 'val2', param3 'val3') + c3 | date | | | | + c4 | integer | | | 0 | + c5 | integer | | | | + c6 | integer | | not null | | + c7 | integer | | | | (p1 'v1', p2 'v2') + c8 | text | | | | (p2 'V2') + c10 | integer | | | | (p1 'v1') + c11 | integer | | not null | nextval('foreign_schema.ft1_c11_seq'::regclass) | Check constraints: "ft1_c2_check" CHECK (c2 <> ''::text) "ft1_c3_check" CHECK (c3 >= '01-01-1994'::date AND c3 <= '01-31-1994'::date) diff --git a/src/test/regress/expected/horology.out b/src/test/regress/expected/horology.out index 2dc9b00..7353529 100644 --- a/src/test/regress/expected/horology.out +++ b/src/test/regress/expected/horology.out @@ -375,6 +375,8 @@ SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '109203489 days' SELECT timestamp without time zone '2000-01-01' - interval '2483590 days' AS "out of range"; ERROR: timestamp out of range +SELECT timestamp without time zone '294276-12-31 23:59:59' + interval '9223372036854775807 microseconds' AS "out of range"; +ERROR: timestamp out of range SELECT timestamp without time zone '12/31/294276' - timestamp without time zone '12/23/1999' AS "106751991 Days"; 106751991 Days ------------------ @@ -637,6 +639,8 @@ SELECT timestamp with time zone '1999-12-01' + interval '1 month - 1 second' AS SELECT timestamp with time zone '2000-01-01' - interval '2483590 days' AS "out of range"; ERROR: timestamp out of range +SELECT timestamp with time zone '294276-12-31 23:59:59 UTC' + interval '9223372036854775807 microseconds' AS "out of range"; +ERROR: timestamp out of range SELECT (timestamp with time zone 'today' = (timestamp with time zone 'yesterday' + interval '1 day')) as "True"; True ------ diff --git a/src/test/regress/expected/identity.out b/src/test/regress/expected/identity.out index 5f03d8e..cc77723 100644 --- a/src/test/regress/expected/identity.out +++ b/src/test/regress/expected/identity.out @@ -365,6 +365,78 @@ SELECT seqtypid::regtype FROM pg_sequence WHERE seqrelid = 'itest3_a_seq'::regcl ALTER TABLE itest3 ALTER COLUMN a TYPE text; -- error ERROR: identity column type must be smallint, integer, or bigint +-- check that unlogged propagates to sequence +CREATE UNLOGGED TABLE itest17 (a int NOT NULL, b text); +ALTER TABLE itest17 ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; +ALTER TABLE itest17 ADD COLUMN c int GENERATED ALWAYS AS IDENTITY; +\d itest17 + Unlogged table "public.itest17" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+------------------------------ + a | integer | | not null | generated always as identity + b | text | | | + c | integer | | not null | generated always as identity + +\d itest17_a_seq + Unlogged sequence "public.itest17_a_seq" + Type | Start | Minimum | Maximum | Increment | Cycles? | Cache +---------+-------+---------+------------+-----------+---------+------- + integer | 1 | 1 | 2147483647 | 1 | no | 1 +Sequence for identity column: public.itest17.a + +\d itest17_c_seq + Unlogged sequence "public.itest17_c_seq" + Type | Start | Minimum | Maximum | Increment | Cycles? | Cache +---------+-------+---------+------------+-----------+---------+------- + integer | 1 | 1 | 2147483647 | 1 | no | 1 +Sequence for identity column: public.itest17.c + +CREATE TABLE itest18 (a int NOT NULL, b text); +ALTER TABLE itest18 SET UNLOGGED, ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; +\d itest18 + Unlogged table "public.itest18" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+------------------------------ + a | integer | | not null | generated always as identity + b | text | | | + +\d itest18_a_seq + Unlogged sequence "public.itest18_a_seq" + Type | Start | Minimum | Maximum | Increment | Cycles? | Cache +---------+-------+---------+------------+-----------+---------+------- + integer | 1 | 1 | 2147483647 | 1 | no | 1 +Sequence for identity column: public.itest18.a + +ALTER TABLE itest18 SET LOGGED; +\d itest18 + Table "public.itest18" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+------------------------------ + a | integer | | not null | generated always as identity + b | text | | | + +\d itest18_a_seq + Sequence "public.itest18_a_seq" + Type | Start | Minimum | Maximum | Increment | Cycles? | Cache +---------+-------+---------+------------+-----------+---------+------- + integer | 1 | 1 | 2147483647 | 1 | no | 1 +Sequence for identity column: public.itest18.a + +ALTER TABLE itest18 SET UNLOGGED; +\d itest18 + Unlogged table "public.itest18" + Column | Type | Collation | Nullable | Default +--------+---------+-----------+----------+------------------------------ + a | integer | | not null | generated always as identity + b | text | | | + +\d itest18_a_seq + Unlogged sequence "public.itest18_a_seq" + Type | Start | Minimum | Maximum | Increment | Cycles? | Cache +---------+-------+---------+------------+-----------+---------+------- + integer | 1 | 1 | 2147483647 | 1 | no | 1 +Sequence for identity column: public.itest18.a + -- kinda silly to change property in the same command, but it should work ALTER TABLE itest3 ADD COLUMN c int GENERATED BY DEFAULT AS IDENTITY, diff --git a/src/test/regress/expected/index_including.out b/src/test/regress/expected/index_including.out index 8651068..ea8b245 100644 --- a/src/test/regress/expected/index_including.out +++ b/src/test/regress/expected/index_including.out @@ -398,3 +398,28 @@ Indexes: "tbl_c1_c2_c3_c4_key" UNIQUE CONSTRAINT, btree (c1, c2) INCLUDE (c3, c4) DROP TABLE tbl; +/* + * 10. Test coverage for names stored as cstrings in indexes + */ +CREATE TABLE nametbl (c1 int, c2 name, c3 float); +CREATE INDEX nametbl_c1_c2_idx ON nametbl (c2, c1) INCLUDE (c3); +INSERT INTO nametbl VALUES(1, 'two', 3.0); +VACUUM nametbl; +SET enable_seqscan = 0; +-- Ensure we get an index only scan plan +EXPLAIN (COSTS OFF) SELECT c2, c1, c3 FROM nametbl WHERE c2 = 'two' AND c1 = 1; + QUERY PLAN +---------------------------------------------------- + Index Only Scan using nametbl_c1_c2_idx on nametbl + Index Cond: ((c2 = 'two'::name) AND (c1 = 1)) +(2 rows) + +-- Validate the results look sane +SELECT c2, c1, c3 FROM nametbl WHERE c2 = 'two' AND c1 = 1; + c2 | c1 | c3 +-----+----+---- + two | 1 | 3 +(1 row) + +RESET enable_seqscan; +DROP TABLE nametbl; diff --git a/src/test/regress/expected/insert.out b/src/test/regress/expected/insert.out index dd4354f..cf4b522 100644 --- a/src/test/regress/expected/insert.out +++ b/src/test/regress/expected/insert.out @@ -180,7 +180,121 @@ Rules: drop table inserttest2; drop table inserttest; -drop type insert_test_type; +-- Make the same tests with domains over the array and composite fields +create domain insert_pos_ints as int[] check (value[1] > 0); +create domain insert_test_domain as insert_test_type + check ((value).if2[1] is not null); +create table inserttesta (f1 int, f2 insert_pos_ints); +create table inserttestb (f3 insert_test_domain, f4 insert_test_domain[]); +insert into inserttesta (f2[1], f2[2]) values (1,2); +insert into inserttesta (f2[1], f2[2]) values (3,4), (5,6); +insert into inserttesta (f2[1], f2[2]) select 7,8; +insert into inserttesta (f2[1], f2[2]) values (1,default); -- not supported +ERROR: cannot set an array element to DEFAULT +LINE 1: insert into inserttesta (f2[1], f2[2]) values (1,default); + ^ +insert into inserttesta (f2[1], f2[2]) values (0,2); +ERROR: value for domain insert_pos_ints violates check constraint "insert_pos_ints_check" +insert into inserttesta (f2[1], f2[2]) values (3,4), (0,6); +ERROR: value for domain insert_pos_ints violates check constraint "insert_pos_ints_check" +insert into inserttesta (f2[1], f2[2]) select 0,8; +ERROR: value for domain insert_pos_ints violates check constraint "insert_pos_ints_check" +insert into inserttestb (f3.if1, f3.if2) values (1,array['foo']); +insert into inserttestb (f3.if1, f3.if2) values (1,'{foo}'), (2,'{bar}'); +insert into inserttestb (f3.if1, f3.if2) select 3, '{baz,quux}'; +insert into inserttestb (f3.if1, f3.if2) values (1,default); -- not supported +ERROR: cannot set a subfield to DEFAULT +LINE 1: insert into inserttestb (f3.if1, f3.if2) values (1,default); + ^ +insert into inserttestb (f3.if1, f3.if2) values (1,array[null]); +ERROR: value for domain insert_test_domain violates check constraint "insert_test_domain_check" +insert into inserttestb (f3.if1, f3.if2) values (1,'{null}'), (2,'{bar}'); +ERROR: value for domain insert_test_domain violates check constraint "insert_test_domain_check" +insert into inserttestb (f3.if1, f3.if2) select 3, '{null,quux}'; +ERROR: value for domain insert_test_domain violates check constraint "insert_test_domain_check" +insert into inserttestb (f3.if2[1], f3.if2[2]) values ('foo', 'bar'); +insert into inserttestb (f3.if2[1], f3.if2[2]) values ('foo', 'bar'), ('baz', 'quux'); +insert into inserttestb (f3.if2[1], f3.if2[2]) select 'bear', 'beer'; +insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) values (row(1,'{x}'), 'foo', 'bar'); +insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) values (row(1,'{x}'), 'foo', 'bar'), (row(2,'{y}'), 'baz', 'quux'); +insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) select row(1,'{x}')::insert_test_domain, 'bear', 'beer'; +select * from inserttesta; + f1 | f2 +----+------- + | {1,2} + | {3,4} + | {5,6} + | {7,8} +(4 rows) + +select * from inserttestb; + f3 | f4 +------------------+------------------------ + (1,{foo}) | + (1,{foo}) | + (2,{bar}) | + (3,"{baz,quux}") | + (,"{foo,bar}") | + (,"{foo,bar}") | + (,"{baz,quux}") | + (,"{bear,beer}") | + (1,{x}) | {"(,\"{foo,bar}\")"} + (1,{x}) | {"(,\"{foo,bar}\")"} + (2,{y}) | {"(,\"{baz,quux}\")"} + (1,{x}) | {"(,\"{bear,beer}\")"} +(12 rows) + +-- also check reverse-listing +create table inserttest2 (f1 bigint, f2 text); +create rule irule1 as on insert to inserttest2 do also + insert into inserttestb (f3.if2[1], f3.if2[2]) + values (new.f1,new.f2); +create rule irule2 as on insert to inserttest2 do also + insert into inserttestb (f4[1].if1, f4[1].if2[2]) + values (1,'fool'),(new.f1,new.f2); +create rule irule3 as on insert to inserttest2 do also + insert into inserttestb (f4[1].if1, f4[1].if2[2]) + select new.f1, new.f2; +\d+ inserttest2 + Table "public.inserttest2" + Column | Type | Collation | Nullable | Default | Storage | Stats target | Description +--------+--------+-----------+----------+---------+----------+--------------+------------- + f1 | bigint | | | | plain | | + f2 | text | | | | extended | | +Rules: + irule1 AS + ON INSERT TO inserttest2 DO INSERT INTO inserttestb (f3.if2[1], f3.if2[2]) + VALUES (new.f1, new.f2) + irule2 AS + ON INSERT TO inserttest2 DO INSERT INTO inserttestb (f4[1].if1, f4[1].if2[2]) VALUES (1,'fool'::text), (new.f1,new.f2) + irule3 AS + ON INSERT TO inserttest2 DO INSERT INTO inserttestb (f4[1].if1, f4[1].if2[2]) SELECT new.f1, + new.f2 + +drop table inserttest2; +drop table inserttesta; +drop table inserttestb; +drop domain insert_pos_ints; +drop domain insert_test_domain; +-- Verify that multiple inserts to subfields of a domain-over-container +-- check the domain constraints only on the finished value +create domain insert_nnarray as int[] + check (value[1] is not null and value[2] is not null); +create domain insert_test_domain as insert_test_type + check ((value).if1 is not null and (value).if2 is not null); +create table inserttesta (f1 insert_nnarray); +insert into inserttesta (f1[1]) values (1); -- fail +ERROR: value for domain insert_nnarray violates check constraint "insert_nnarray_check" +insert into inserttesta (f1[1], f1[2]) values (1, 2); +create table inserttestb (f1 insert_test_domain); +insert into inserttestb (f1.if1) values (1); -- fail +ERROR: value for domain insert_test_domain violates check constraint "insert_test_domain_check" +insert into inserttestb (f1.if1, f1.if2) values (1, '{foo}'); +drop table inserttesta; +drop table inserttestb; +drop domain insert_nnarray; +drop type insert_test_type cascade; +NOTICE: drop cascades to type insert_test_domain -- direct partition inserts should check partition bound constraint create table range_parted ( a text, diff --git a/src/test/regress/expected/join.out b/src/test/regress/expected/join.out index 867c6d2..b356153 100644 --- a/src/test/regress/expected/join.out +++ b/src/test/regress/expected/join.out @@ -5949,6 +5949,37 @@ select * from 3 | 3 (6 rows) +-- check for generation of join EC conditions at wrong level (bug #18429) +explain (costs off) +select * from ( + select arrayd.ad, coalesce(c.hundred, 0) as h + from unnest(array[1]) as arrayd(ad) + left join lateral ( + select hundred from tenk1 where unique2 = arrayd.ad + ) c on true +) c2 +where c2.h * c2.ad = c2.h * (c2.ad + 1); + QUERY PLAN +------------------------------------------------------------------------------------------------------- + Nested Loop Left Join + Filter: ((COALESCE(tenk1.hundred, 0) * arrayd.ad) = (COALESCE(tenk1.hundred, 0) * (arrayd.ad + 1))) + -> Function Scan on unnest arrayd + -> Index Scan using tenk1_unique2 on tenk1 + Index Cond: (unique2 = arrayd.ad) +(5 rows) + +select * from ( + select arrayd.ad, coalesce(c.hundred, 0) as h + from unnest(array[1]) as arrayd(ad) + left join lateral ( + select hundred from tenk1 where unique2 = arrayd.ad + ) c on true +) c2 +where c2.h * c2.ad = c2.h * (c2.ad + 1); + ad | h +----+--- +(0 rows) + -- check the number of columns specified SELECT * FROM (int8_tbl i cross join int4_tbl j) ss(a,b,c,d); ERROR: join expression "ss" has 3 columns available but 4 columns specified diff --git a/src/test/regress/expected/memoize.out b/src/test/regress/expected/memoize.out index 60cbdee..bde091a 100644 --- a/src/test/regress/expected/memoize.out +++ b/src/test/regress/expected/memoize.out @@ -92,10 +92,39 @@ WHERE t1.unique1 < 1000; 1000 | 9.5000000000000000 (1 row) +SET enable_mergejoin TO off; +-- Test for varlena datatype with expr evaluation +CREATE TABLE expr_key (x numeric, t text); +INSERT INTO expr_key (x, t) +SELECT d1::numeric, d1::text FROM ( + SELECT round((d / pi())::numeric, 7) AS d1 FROM generate_series(1, 20) AS d +) t; +-- duplicate rows so we get some cache hits +INSERT INTO expr_key SELECT * FROM expr_key; +CREATE INDEX expr_key_idx_x_t ON expr_key (x, t); +VACUUM ANALYZE expr_key; +-- Ensure we get we get a cache miss and hit for each of the 20 distinct values +SELECT explain_memoize(' +SELECT * FROM expr_key t1 INNER JOIN expr_key t2 +ON t1.x = t2.t::numeric AND t1.t::numeric = t2.x;', false); + explain_memoize +------------------------------------------------------------------------------------------- + Nested Loop (actual rows=80 loops=N) + -> Seq Scan on expr_key t1 (actual rows=40 loops=N) + -> Memoize (actual rows=2 loops=N) + Cache Key: t1.x, (t1.t)::numeric + Cache Mode: logical + Hits: 20 Misses: 20 Evictions: Zero Overflows: 0 Memory Usage: NkB + -> Index Only Scan using expr_key_idx_x_t on expr_key t2 (actual rows=2 loops=N) + Index Cond: (x = (t1.t)::numeric) + Filter: (t1.x = (t)::numeric) + Heap Fetches: N +(10 rows) + +DROP TABLE expr_key; -- Reduce work_mem and hash_mem_multiplier so that we see some cache evictions SET work_mem TO '64kB'; SET hash_mem_multiplier TO 1.0; -SET enable_mergejoin TO off; -- Ensure we get some evictions. We're unable to validate the hits and misses -- here as the number of entries that fit in the cache at once will vary -- between different machines. diff --git a/src/test/regress/expected/merge.out b/src/test/regress/expected/merge.out index edc0043..63a829e 100644 --- a/src/test/regress/expected/merge.out +++ b/src/test/regress/expected/merge.out @@ -3,6 +3,7 @@ -- CREATE USER regress_merge_privs; CREATE USER regress_merge_no_privs; +CREATE USER regress_merge_none; DROP TABLE IF EXISTS target; NOTICE: table "target" does not exist, skipping DROP TABLE IF EXISTS source; @@ -159,6 +160,14 @@ ERROR: cannot execute MERGE on relation "mv" DETAIL: This operation is not supported for materialized views. DROP MATERIALIZED VIEW mv; -- permissions +SET SESSION AUTHORIZATION regress_merge_none; +MERGE INTO target +USING (SELECT 1) AS s +ON true +WHEN MATCHED THEN + DO NOTHING; +ERROR: permission denied for table target +SET SESSION AUTHORIZATION regress_merge_privs; MERGE INTO target USING source2 ON target.tid = source2.sid @@ -1474,6 +1483,56 @@ WHEN MATCHED AND t.a < 10 THEN DROP TABLE ex_msource, ex_mtarget; DROP FUNCTION explain_merge(text); +-- EXPLAIN SubPlans and InitPlans +CREATE TABLE src (a int, b int, c int, d int); +CREATE TABLE tgt (a int, b int, c int, d int); +CREATE TABLE ref (ab int, cd int); +EXPLAIN (verbose, costs off) +MERGE INTO tgt t +USING (SELECT *, (SELECT count(*) FROM ref r + WHERE r.ab = s.a + s.b + AND r.cd = s.c - s.d) cnt + FROM src s) s +ON t.a = s.a AND t.b < s.cnt +WHEN MATCHED AND t.c > s.cnt THEN + UPDATE SET (b, c) = (SELECT s.b, s.cnt); + QUERY PLAN +------------------------------------------------------------------------------------- + Merge on public.tgt t + -> Hash Join + Output: t.ctid, s.a, s.b, s.c, s.d, s.ctid + Hash Cond: (t.a = s.a) + Join Filter: (t.b < (SubPlan 1)) + -> Seq Scan on public.tgt t + Output: t.ctid, t.a, t.b + -> Hash + Output: s.a, s.b, s.c, s.d, s.ctid + -> Seq Scan on public.src s + Output: s.a, s.b, s.c, s.d, s.ctid + SubPlan 1 + -> Aggregate + Output: count(*) + -> Seq Scan on public.ref r + Output: r.ab, r.cd + Filter: ((r.ab = (s.a + s.b)) AND (r.cd = (s.c - s.d))) + SubPlan 4 + -> Aggregate + Output: count(*) + -> Seq Scan on public.ref r_2 + Output: r_2.ab, r_2.cd + Filter: ((r_2.ab = (s.a + s.b)) AND (r_2.cd = (s.c - s.d))) + SubPlan 3 (returns $9,$10) + -> Result + Output: s.b, $8 + InitPlan 2 (returns $8) + -> Aggregate + Output: count(*) + -> Seq Scan on public.ref r_1 + Output: r_1.ab, r_1.cd + Filter: ((r_1.ab = (s.a + s.b)) AND (r_1.cd = (s.c - s.d))) +(32 rows) + +DROP TABLE src, tgt, ref; -- Subqueries BEGIN; MERGE INTO sq_target t @@ -2244,3 +2303,4 @@ DROP TABLE source, source2; DROP FUNCTION merge_trigfunc(); DROP USER regress_merge_privs; DROP USER regress_merge_no_privs; +DROP USER regress_merge_none; diff --git a/src/test/regress/expected/partition_prune.out b/src/test/regress/expected/partition_prune.out index c5bc6c3..fa1f2f2 100644 --- a/src/test/regress/expected/partition_prune.out +++ b/src/test/regress/expected/partition_prune.out @@ -1169,6 +1169,57 @@ select * from boolpart where a is not unknown; t (2 rows) +-- try some other permutations with a NULL partition instead of a DEFAULT +delete from boolpart where a is null; +create table boolpart_null partition of boolpart for values in (null); +insert into boolpart values(null); +explain (costs off) select * from boolpart where a is not true; + QUERY PLAN +-------------------------------------------- + Append + -> Seq Scan on boolpart_f boolpart_1 + Filter: (a IS NOT TRUE) + -> Seq Scan on boolpart_null boolpart_2 + Filter: (a IS NOT TRUE) +(5 rows) + +explain (costs off) select * from boolpart where a is not true and a is not false; + QUERY PLAN +-------------------------------------------------- + Seq Scan on boolpart_null boolpart + Filter: ((a IS NOT TRUE) AND (a IS NOT FALSE)) +(2 rows) + +explain (costs off) select * from boolpart where a is not false; + QUERY PLAN +-------------------------------------------- + Append + -> Seq Scan on boolpart_t boolpart_1 + Filter: (a IS NOT FALSE) + -> Seq Scan on boolpart_null boolpart_2 + Filter: (a IS NOT FALSE) +(5 rows) + +select * from boolpart where a is not true; + a +--- + f + +(2 rows) + +select * from boolpart where a is not true and a is not false; + a +--- + +(1 row) + +select * from boolpart where a is not false; + a +--- + t + +(2 rows) + -- inverse boolean partitioning - a seemingly unlikely design, but we've got -- code for it, so we'd better test it. create table iboolpart (a bool) partition by list ((not a)); @@ -1315,11 +1366,37 @@ select * from iboolpart where a is not unknown; f (2 rows) +-- Try some other permutations with a NULL partition instead of a DEFAULT +delete from iboolpart where a is null; +create table iboolpart_null partition of iboolpart for values in (null); +insert into iboolpart values(null); +-- Pruning shouldn't take place for these. Just check the result is correct +select * from iboolpart where a is not true; + a +--- + f + +(2 rows) + +select * from iboolpart where a is not true and a is not false; + a +--- + +(1 row) + +select * from iboolpart where a is not false; + a +--- + t + +(2 rows) + create table boolrangep (a bool, b bool, c int) partition by range (a,b,c); create table boolrangep_tf partition of boolrangep for values from ('true', 'false', 0) to ('true', 'false', 100); create table boolrangep_ft partition of boolrangep for values from ('false', 'true', 0) to ('false', 'true', 100); create table boolrangep_ff1 partition of boolrangep for values from ('false', 'false', 0) to ('false', 'false', 50); create table boolrangep_ff2 partition of boolrangep for values from ('false', 'false', 50) to ('false', 'false', 100); +create table boolrangep_null partition of boolrangep default; -- try a more complex case that's been known to trip up pruning in the past explain (costs off) select * from boolrangep where not a and not b and c = 25; QUERY PLAN @@ -1328,6 +1405,32 @@ explain (costs off) select * from boolrangep where not a and not b and c = 25; Filter: ((NOT a) AND (NOT b) AND (c = 25)) (2 rows) +-- ensure we prune boolrangep_tf +explain (costs off) select * from boolrangep where a is not true and not b and c = 25; + QUERY PLAN +------------------------------------------------------------ + Append + -> Seq Scan on boolrangep_ff1 boolrangep_1 + Filter: ((a IS NOT TRUE) AND (NOT b) AND (c = 25)) + -> Seq Scan on boolrangep_ff2 boolrangep_2 + Filter: ((a IS NOT TRUE) AND (NOT b) AND (c = 25)) + -> Seq Scan on boolrangep_ft boolrangep_3 + Filter: ((a IS NOT TRUE) AND (NOT b) AND (c = 25)) + -> Seq Scan on boolrangep_null boolrangep_4 + Filter: ((a IS NOT TRUE) AND (NOT b) AND (c = 25)) +(9 rows) + +-- ensure we prune everything apart from boolrangep_tf and boolrangep_null +explain (costs off) select * from boolrangep where a is not false and not b and c = 25; + QUERY PLAN +------------------------------------------------------------- + Append + -> Seq Scan on boolrangep_tf boolrangep_1 + Filter: ((a IS NOT FALSE) AND (NOT b) AND (c = 25)) + -> Seq Scan on boolrangep_null boolrangep_2 + Filter: ((a IS NOT FALSE) AND (NOT b) AND (c = 25)) +(5 rows) + -- test scalar-to-array operators create table coercepart (a varchar) partition by list (a); create table coercepart_ab partition of coercepart for values in ('ab'); @@ -2709,6 +2812,7 @@ update ab_a1 set b = 3 from ab where ab.a = 1 and ab.a = ab_a1.a; Index Cond: (a = 1) -> Bitmap Heap Scan on ab_a1_b3 ab_a1_3 (actual rows=0 loops=1) Recheck Cond: (a = 1) + Heap Blocks: exact=1 -> Bitmap Index Scan on ab_a1_b3_a_idx (actual rows=1 loops=1) Index Cond: (a = 1) -> Materialize (actual rows=1 loops=1) @@ -2724,9 +2828,10 @@ update ab_a1 set b = 3 from ab where ab.a = 1 and ab.a = ab_a1.a; Index Cond: (a = 1) -> Bitmap Heap Scan on ab_a1_b3 ab_3 (actual rows=0 loops=1) Recheck Cond: (a = 1) + Heap Blocks: exact=1 -> Bitmap Index Scan on ab_a1_b3_a_idx (actual rows=1 loops=1) Index Cond: (a = 1) -(34 rows) +(36 rows) table ab; a | b diff --git a/src/test/regress/expected/plpgsql.out b/src/test/regress/expected/plpgsql.out index 08e42f1..78d3bc0 100644 --- a/src/test/regress/expected/plpgsql.out +++ b/src/test/regress/expected/plpgsql.out @@ -2390,11 +2390,9 @@ select namedparmcursor_test7(); ERROR: division by zero CONTEXT: SQL expression "42/0 AS p1, 77 AS p2" PL/pgSQL function namedparmcursor_test7() line 6 at OPEN --- check that line comments work correctly within the argument list (there --- is some special handling of this case in the code: the newline after the --- comment must be preserved when the argument-evaluating query is --- constructed, otherwise the comment effectively comments out the next --- argument, too) +-- check that line comments work correctly within the argument list +-- (this used to require a special hack in the code; it no longer does, +-- but let's keep the test anyway) create function namedparmcursor_test8() returns int4 as $$ declare c1 cursor (p1 int, p2 int) for diff --git a/src/test/regress/expected/rangefuncs.out b/src/test/regress/expected/rangefuncs.out index e2e62db..6b16e75 100644 --- a/src/test/regress/expected/rangefuncs.out +++ b/src/test/regress/expected/rangefuncs.out @@ -2485,3 +2485,19 @@ select * from [{"id": "1"}] | 1 (1 row) +-- check detection of mismatching record types with a const-folded expression +with a(b) as (values (row(1,2,3))) +select * from a, coalesce(b) as c(d int, e int); -- fail +ERROR: function return row and query-specified return row do not match +DETAIL: Returned row contains 3 attributes, but query expects 2. +with a(b) as (values (row(1,2,3))) +select * from a, coalesce(b) as c(d int, e int, f int, g int); -- fail +ERROR: function return row and query-specified return row do not match +DETAIL: Returned row contains 3 attributes, but query expects 4. +with a(b) as (values (row(1,2,3))) +select * from a, coalesce(b) as c(d int, e int, f float); -- fail +ERROR: function return row and query-specified return row do not match +DETAIL: Returned type integer at ordinal position 3, but query expects double precision. +select * from int8_tbl, coalesce(row(1)) as (a int, b int); -- fail +ERROR: function return row and query-specified return row do not match +DETAIL: Returned row contains 1 attribute, but query expects 2. diff --git a/src/test/regress/expected/rules.out b/src/test/regress/expected/rules.out index 225204c..0a1e17e 100644 --- a/src/test/regress/expected/rules.out +++ b/src/test/regress/expected/rules.out @@ -2453,10 +2453,7 @@ pg_stats_ext| SELECT cn.nspname AS schemaname, array_agg(pg_mcv_list_items.frequency) AS most_common_freqs, array_agg(pg_mcv_list_items.base_frequency) AS most_common_base_freqs FROM pg_mcv_list_items(sd.stxdmcv) pg_mcv_list_items(index, "values", nulls, frequency, base_frequency)) m ON ((sd.stxdmcv IS NOT NULL))) - WHERE ((NOT (EXISTS ( SELECT 1 - FROM (unnest(s.stxkeys) k(k) - JOIN pg_attribute a ON (((a.attrelid = s.stxrelid) AND (a.attnum = k.k)))) - WHERE (NOT has_column_privilege(c.oid, a.attnum, 'select'::text))))) AND ((c.relrowsecurity = false) OR (NOT row_security_active(c.oid)))); + WHERE (pg_has_role(c.relowner, 'USAGE'::text) AND ((c.relrowsecurity = false) OR (NOT row_security_active(c.oid)))); pg_stats_ext_exprs| SELECT cn.nspname AS schemaname, c.relname AS tablename, sn.nspname AS statistics_schemaname, @@ -2529,7 +2526,8 @@ pg_stats_ext_exprs| SELECT cn.nspname AS schemaname, LEFT JOIN pg_namespace cn ON ((cn.oid = c.relnamespace))) LEFT JOIN pg_namespace sn ON ((sn.oid = s.stxnamespace))) JOIN LATERAL ( SELECT unnest(pg_get_statisticsobjdef_expressions(s.oid)) AS expr, - unnest(sd.stxdexpr) AS a) stat ON ((stat.expr IS NOT NULL))); + unnest(sd.stxdexpr) AS a) stat ON ((stat.expr IS NOT NULL))) + WHERE (pg_has_role(c.relowner, 'USAGE'::text) AND ((c.relrowsecurity = false) OR (NOT row_security_active(c.oid)))); pg_tables| SELECT n.nspname AS schemaname, c.relname AS tablename, pg_get_userbyid(c.relowner) AS tableowner, diff --git a/src/test/regress/expected/stats_ext.out b/src/test/regress/expected/stats_ext.out index 67cae4a..69e5704 100644 --- a/src/test/regress/expected/stats_ext.out +++ b/src/test/regress/expected/stats_ext.out @@ -3266,10 +3266,53 @@ SELECT * FROM tststats.priv_test_tbl WHERE a <<< 0 AND b <<< 0; -- Should not le (0 rows) DELETE FROM tststats.priv_test_tbl WHERE a <<< 0 AND b <<< 0; -- Should not leak +-- privilege checks for pg_stats_ext and pg_stats_ext_exprs +RESET SESSION AUTHORIZATION; +CREATE TABLE stats_ext_tbl (id INT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, col TEXT); +INSERT INTO stats_ext_tbl (col) VALUES ('secret'), ('secret'), ('very secret'); +CREATE STATISTICS s_col ON id, col FROM stats_ext_tbl; +CREATE STATISTICS s_expr ON mod(id, 2), lower(col) FROM stats_ext_tbl; +ANALYZE stats_ext_tbl; +-- unprivileged role should not have access +SET SESSION AUTHORIZATION regress_stats_user1; +SELECT statistics_name, most_common_vals FROM pg_stats_ext x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); + statistics_name | most_common_vals +-----------------+------------------ +(0 rows) + +SELECT statistics_name, most_common_vals FROM pg_stats_ext_exprs x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); + statistics_name | most_common_vals +-----------------+------------------ +(0 rows) + +-- give unprivileged role ownership of table +RESET SESSION AUTHORIZATION; +ALTER TABLE stats_ext_tbl OWNER TO regress_stats_user1; +-- unprivileged role should now have access +SET SESSION AUTHORIZATION regress_stats_user1; +SELECT statistics_name, most_common_vals FROM pg_stats_ext x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); + statistics_name | most_common_vals +-----------------+------------------------------------------- + s_col | {{1,secret},{2,secret},{3,"very secret"}} + s_expr | {{0,secret},{1,secret},{1,"very secret"}} +(2 rows) + +SELECT statistics_name, most_common_vals FROM pg_stats_ext_exprs x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); + statistics_name | most_common_vals +-----------------+------------------ + s_expr | {secret} + s_expr | {1} +(2 rows) + -- Tidy up DROP OPERATOR <<< (int, int); DROP FUNCTION op_leak(int, int); RESET SESSION AUTHORIZATION; +DROP TABLE stats_ext_tbl; DROP SCHEMA tststats CASCADE; NOTICE: drop cascades to 2 other objects DETAIL: drop cascades to table tststats.priv_test_tbl diff --git a/src/test/regress/expected/timestamp.out b/src/test/regress/expected/timestamp.out index 79f8180..2ee8712 100644 --- a/src/test/regress/expected/timestamp.out +++ b/src/test/regress/expected/timestamp.out @@ -699,6 +699,13 @@ SELECT date_bin('5 min'::interval, timestamp '2020-02-01 01:01:01', timestamp '2 Sat Feb 01 00:57:30 2020 (1 row) +-- test roundoff edge case when source < origin +SELECT date_bin('30 minutes'::interval, timestamp '2024-02-01 15:00:00', timestamp '2024-02-01 17:00:00'); + date_bin +-------------------------- + Thu Feb 01 15:00:00 2024 +(1 row) + -- disallow intervals with months or years SELECT date_bin('5 months'::interval, timestamp '2020-02-01 01:01:01', timestamp '2001-01-01'); ERROR: timestamps cannot be binned into intervals containing months or years @@ -710,6 +717,13 @@ ERROR: stride must be greater than zero -- disallow negative intervals SELECT date_bin('-2 days'::interval, timestamp '1970-01-01 01:00:00' , timestamp '1970-01-01 00:00:00'); ERROR: stride must be greater than zero +-- test overflow cases +select date_bin('15 minutes'::interval, timestamp '294276-12-30', timestamp '4000-12-20 BC'); +ERROR: interval out of range +select date_bin('200000000 days'::interval, '2024-02-01'::timestamp, '2024-01-01'::timestamp); +ERROR: interval out of range +select date_bin('365000 days'::interval, '4400-01-01 BC'::timestamp, '4000-01-01 BC'::timestamp); +ERROR: timestamp out of range -- Test casting within a BETWEEN qualifier SELECT d1 - timestamp without time zone '1997-01-02' AS diff FROM TIMESTAMP_TBL diff --git a/src/test/regress/expected/timestamptz.out b/src/test/regress/expected/timestamptz.out index eba8419..790cae1 100644 --- a/src/test/regress/expected/timestamptz.out +++ b/src/test/regress/expected/timestamptz.out @@ -743,6 +743,13 @@ SELECT date_bin('5 min'::interval, timestamptz '2020-02-01 01:01:01+00', timesta Fri Jan 31 16:57:30 2020 PST (1 row) +-- test roundoff edge case when source < origin +SELECT date_bin('30 minutes'::interval, timestamptz '2024-02-01 15:00:00', timestamptz '2024-02-01 17:00:00'); + date_bin +------------------------------ + Thu Feb 01 15:00:00 2024 PST +(1 row) + -- disallow intervals with months or years SELECT date_bin('5 months'::interval, timestamp with time zone '2020-02-01 01:01:01+00', timestamp with time zone '2001-01-01+00'); ERROR: timestamps cannot be binned into intervals containing months or years @@ -754,6 +761,13 @@ ERROR: stride must be greater than zero -- disallow negative intervals SELECT date_bin('-2 days'::interval, timestamp with time zone '1970-01-01 01:00:00+00' , timestamp with time zone '1970-01-01 00:00:00+00'); ERROR: stride must be greater than zero +-- test overflow cases +select date_bin('15 minutes'::interval, timestamptz '294276-12-30', timestamptz '4000-12-20 BC'); +ERROR: interval out of range +select date_bin('200000000 days'::interval, '2024-02-01'::timestamptz, '2024-01-01'::timestamptz); +ERROR: interval out of range +select date_bin('365000 days'::interval, '4400-01-01 BC'::timestamptz, '4000-01-01 BC'::timestamptz); +ERROR: timestamp out of range -- Test casting within a BETWEEN qualifier SELECT d1 - timestamp with time zone '1997-01-02' AS diff FROM TIMESTAMPTZ_TBL diff --git a/src/test/regress/expected/triggers.out b/src/test/regress/expected/triggers.out index 723e8b7..4dd95e2 100644 --- a/src/test/regress/expected/triggers.out +++ b/src/test/regress/expected/triggers.out @@ -1745,6 +1745,10 @@ select * from parent; select * from child; update parent set val1 = 'b' where aid = 1; -- should fail ERROR: tuple to be updated was already modified by an operation triggered by the current command HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. +merge into parent p using (values (1)) as v(id) on p.aid = v.id + when matched then update set val1 = 'b'; -- should fail +ERROR: tuple to be updated or deleted was already modified by an operation triggered by the current command +HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. select * from parent; select * from child; aid | val1 | val2 | val3 | val4 | bcnt -----+------+------+------+------+------ @@ -1759,6 +1763,10 @@ select * from parent; select * from child; delete from parent where aid = 1; -- should fail ERROR: tuple to be deleted was already modified by an operation triggered by the current command HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. +merge into parent p using (values (1)) as v(id) on p.aid = v.id + when matched then delete; -- should fail +ERROR: tuple to be updated or deleted was already modified by an operation triggered by the current command +HINT: Consider using an AFTER trigger instead of a BEFORE trigger to propagate changes to other rows. select * from parent; select * from child; aid | val1 | val2 | val3 | val4 | bcnt -----+------+------+------+------+------ diff --git a/src/test/regress/expected/window.out b/src/test/regress/expected/window.out index 1f23baa..f8914c0 100644 --- a/src/test/regress/expected/window.out +++ b/src/test/regress/expected/window.out @@ -3481,13 +3481,13 @@ EXPLAIN (COSTS OFF) SELECT * FROM (SELECT empno, salary, - count(empno) OVER (ORDER BY salary DESC) c + count(1) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; - QUERY PLAN ---------------------------------------------------------- + QUERY PLAN +------------------------------------------- WindowAgg - Run Condition: (count(empsalary.empno) OVER (?) <= 3) + Run Condition: (count(1) OVER (?) <= 3) -> Sort Sort Key: empsalary.salary DESC -> Seq Scan on empsalary @@ -3496,7 +3496,7 @@ WHERE c <= 3; SELECT * FROM (SELECT empno, salary, - count(empno) OVER (ORDER BY salary DESC) c + count(1) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; empno | salary | c @@ -3608,19 +3608,19 @@ WHERE rn < 3; -> Seq Scan on empsalary (6 rows) --- likewise with count(empno) instead of row_number() +-- likewise with count(1) instead of row_number() EXPLAIN (COSTS OFF) SELECT * FROM (SELECT empno, depname, salary, - count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c + count(1) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; QUERY PLAN ------------------------------------------------------------ WindowAgg - Run Condition: (count(empsalary.empno) OVER (?) <= 3) + Run Condition: (count(1) OVER (?) <= 3) -> Sort Sort Key: empsalary.depname, empsalary.salary DESC -> Seq Scan on empsalary @@ -3631,7 +3631,7 @@ SELECT * FROM (SELECT empno, depname, salary, - count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c + count(1) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; empno | depname | salary | c @@ -3653,13 +3653,13 @@ SELECT * FROM (SELECT empno, depname, salary, - count(empno) OVER () c + count(1) OVER () c FROM empsalary) emp WHERE c = 1; - QUERY PLAN --------------------------------------------------------- + QUERY PLAN +------------------------------------------ WindowAgg - Run Condition: (count(empsalary.empno) OVER (?) = 1) + Run Condition: (count(1) OVER (?) = 1) -> Seq Scan on empsalary (3 rows) @@ -3667,7 +3667,7 @@ WHERE c = 1; EXPLAIN (COSTS OFF) SELECT * FROM (SELECT *, - count(salary) OVER (PARTITION BY depname || '') c1, -- w1 + count(1) OVER (PARTITION BY depname || '') c1, -- w1 row_number() OVER (PARTITION BY depname) rn, -- w2 count(*) OVER (PARTITION BY depname) c2, -- w2 count(*) OVER (PARTITION BY '' || depname) c3 -- w3 @@ -3678,7 +3678,7 @@ SELECT * FROM Subquery Scan on e -> WindowAgg Filter: ((row_number() OVER (?)) <= 1) - Run Condition: (count(empsalary.salary) OVER (?) <= 3) + Run Condition: (count(1) OVER (?) <= 3) -> Sort Sort Key: (((empsalary.depname)::text || ''::text)) -> WindowAgg @@ -3694,7 +3694,7 @@ SELECT * FROM -- Ensure we correctly filter out all of the run conditions from each window SELECT * FROM (SELECT *, - count(salary) OVER (PARTITION BY depname || '') c1, -- w1 + count(1) OVER (PARTITION BY depname || '') c1, -- w1 row_number() OVER (PARTITION BY depname) rn, -- w2 count(*) OVER (PARTITION BY depname) c2, -- w2 count(*) OVER (PARTITION BY '' || depname) c3 -- w3 @@ -3765,6 +3765,24 @@ WHERE c = 1; -> Seq Scan on empsalary (6 rows) +-- Ensure we don't use a run condition when the WindowFunc arg contains a Var +EXPLAIN (COSTS OFF) +SELECT * FROM + (SELECT empno, + salary, + count(empno) OVER (ORDER BY empno DESC) c + FROM empsalary) emp +WHERE c = 1; + QUERY PLAN +---------------------------------------------- + Subquery Scan on emp + Filter: (emp.c = 1) + -> WindowAgg + -> Sort + Sort Key: empsalary.empno DESC + -> Seq Scan on empsalary +(6 rows) + -- Ensure we don't use a run condition when the WindowFunc contains subplans EXPLAIN (COSTS OFF) SELECT * FROM diff --git a/src/test/regress/sql/create_procedure.sql b/src/test/regress/sql/create_procedure.sql index 75cc0fc..50a4d88 100644 --- a/src/test/regress/sql/create_procedure.sql +++ b/src/test/regress/sql/create_procedure.sql @@ -90,7 +90,16 @@ AS $$ CALL ptest4a(a, b); -- error, not supported $$; -DROP PROCEDURE ptest4a; +-- we used to get confused by a single output argument that is composite +CREATE PROCEDURE ptest4c(INOUT comp int8_tbl) +LANGUAGE SQL +AS $$ +SELECT ROW(1, 2); +$$; + +CALL ptest4c(NULL); + +DROP PROCEDURE ptest4a, ptest4c; -- named and default parameters diff --git a/src/test/regress/sql/foreign_data.sql b/src/test/regress/sql/foreign_data.sql index eefb860..aa147b1 100644 --- a/src/test/regress/sql/foreign_data.sql +++ b/src/test/regress/sql/foreign_data.sql @@ -419,8 +419,10 @@ ALTER FOREIGN TABLE ft1 OPTIONS (DROP delimiter, SET quote '~', ADD escape '@'); ALTER FOREIGN TABLE ft1 DROP COLUMN no_column; -- ERROR ALTER FOREIGN TABLE ft1 DROP COLUMN IF EXISTS no_column; ALTER FOREIGN TABLE ft1 DROP COLUMN c9; +ALTER FOREIGN TABLE ft1 ADD COLUMN c11 serial; ALTER FOREIGN TABLE ft1 SET SCHEMA foreign_schema; ALTER FOREIGN TABLE ft1 SET TABLESPACE ts; -- ERROR +ALTER SEQUENCE foreign_schema.ft1_c11_seq SET SCHEMA public; -- ERROR ALTER FOREIGN TABLE foreign_schema.ft1 RENAME c1 TO foreign_column_1; ALTER FOREIGN TABLE foreign_schema.ft1 RENAME TO foreign_table_1; \d foreign_schema.foreign_table_1 diff --git a/src/test/regress/sql/horology.sql b/src/test/regress/sql/horology.sql index 4065348..7d6153a 100644 --- a/src/test/regress/sql/horology.sql +++ b/src/test/regress/sql/horology.sql @@ -87,6 +87,7 @@ SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '106000000 days' SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '107000000 days' AS "Jan 20, 288244"; SELECT timestamp without time zone 'Jan 1, 4713 BC' + interval '109203489 days' AS "Dec 31, 294276"; SELECT timestamp without time zone '2000-01-01' - interval '2483590 days' AS "out of range"; +SELECT timestamp without time zone '294276-12-31 23:59:59' + interval '9223372036854775807 microseconds' AS "out of range"; SELECT timestamp without time zone '12/31/294276' - timestamp without time zone '12/23/1999' AS "106751991 Days"; -- Shorthand values @@ -119,6 +120,7 @@ SELECT timestamp with time zone '1999-03-01' - interval '1 second' AS "Feb 28"; SELECT timestamp with time zone '2000-03-01' - interval '1 second' AS "Feb 29"; SELECT timestamp with time zone '1999-12-01' + interval '1 month - 1 second' AS "Dec 31"; SELECT timestamp with time zone '2000-01-01' - interval '2483590 days' AS "out of range"; +SELECT timestamp with time zone '294276-12-31 23:59:59 UTC' + interval '9223372036854775807 microseconds' AS "out of range"; SELECT (timestamp with time zone 'today' = (timestamp with time zone 'yesterday' + interval '1 day')) as "True"; SELECT (timestamp with time zone 'today' = (timestamp with time zone 'tomorrow' - interval '1 day')) as "True"; diff --git a/src/test/regress/sql/identity.sql b/src/test/regress/sql/identity.sql index 9b8db2e..91d2e44 100644 --- a/src/test/regress/sql/identity.sql +++ b/src/test/regress/sql/identity.sql @@ -214,6 +214,24 @@ SELECT seqtypid::regtype FROM pg_sequence WHERE seqrelid = 'itest3_a_seq'::regcl ALTER TABLE itest3 ALTER COLUMN a TYPE text; -- error +-- check that unlogged propagates to sequence +CREATE UNLOGGED TABLE itest17 (a int NOT NULL, b text); +ALTER TABLE itest17 ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; +ALTER TABLE itest17 ADD COLUMN c int GENERATED ALWAYS AS IDENTITY; +\d itest17 +\d itest17_a_seq +\d itest17_c_seq +CREATE TABLE itest18 (a int NOT NULL, b text); +ALTER TABLE itest18 SET UNLOGGED, ALTER COLUMN a ADD GENERATED ALWAYS AS IDENTITY; +\d itest18 +\d itest18_a_seq +ALTER TABLE itest18 SET LOGGED; +\d itest18 +\d itest18_a_seq +ALTER TABLE itest18 SET UNLOGGED; +\d itest18 +\d itest18_a_seq + -- kinda silly to change property in the same command, but it should work ALTER TABLE itest3 ADD COLUMN c int GENERATED BY DEFAULT AS IDENTITY, diff --git a/src/test/regress/sql/index_including.sql b/src/test/regress/sql/index_including.sql index 44b3400..ad9cbdd 100644 --- a/src/test/regress/sql/index_including.sql +++ b/src/test/regress/sql/index_including.sql @@ -217,3 +217,22 @@ ALTER TABLE tbl ALTER c1 TYPE bigint; ALTER TABLE tbl ALTER c3 TYPE bigint; \d tbl DROP TABLE tbl; + +/* + * 10. Test coverage for names stored as cstrings in indexes + */ +CREATE TABLE nametbl (c1 int, c2 name, c3 float); +CREATE INDEX nametbl_c1_c2_idx ON nametbl (c2, c1) INCLUDE (c3); +INSERT INTO nametbl VALUES(1, 'two', 3.0); +VACUUM nametbl; +SET enable_seqscan = 0; + +-- Ensure we get an index only scan plan +EXPLAIN (COSTS OFF) SELECT c2, c1, c3 FROM nametbl WHERE c2 = 'two' AND c1 = 1; + +-- Validate the results look sane +SELECT c2, c1, c3 FROM nametbl WHERE c2 = 'two' AND c1 = 1; + +RESET enable_seqscan; + +DROP TABLE nametbl;
\ No newline at end of file diff --git a/src/test/regress/sql/insert.sql b/src/test/regress/sql/insert.sql index bdcffd0..2b086ee 100644 --- a/src/test/regress/sql/insert.sql +++ b/src/test/regress/sql/insert.sql @@ -105,7 +105,84 @@ create rule irule3 as on insert to inserttest2 do also drop table inserttest2; drop table inserttest; -drop type insert_test_type; + +-- Make the same tests with domains over the array and composite fields + +create domain insert_pos_ints as int[] check (value[1] > 0); + +create domain insert_test_domain as insert_test_type + check ((value).if2[1] is not null); + +create table inserttesta (f1 int, f2 insert_pos_ints); +create table inserttestb (f3 insert_test_domain, f4 insert_test_domain[]); + +insert into inserttesta (f2[1], f2[2]) values (1,2); +insert into inserttesta (f2[1], f2[2]) values (3,4), (5,6); +insert into inserttesta (f2[1], f2[2]) select 7,8; +insert into inserttesta (f2[1], f2[2]) values (1,default); -- not supported +insert into inserttesta (f2[1], f2[2]) values (0,2); +insert into inserttesta (f2[1], f2[2]) values (3,4), (0,6); +insert into inserttesta (f2[1], f2[2]) select 0,8; + +insert into inserttestb (f3.if1, f3.if2) values (1,array['foo']); +insert into inserttestb (f3.if1, f3.if2) values (1,'{foo}'), (2,'{bar}'); +insert into inserttestb (f3.if1, f3.if2) select 3, '{baz,quux}'; +insert into inserttestb (f3.if1, f3.if2) values (1,default); -- not supported +insert into inserttestb (f3.if1, f3.if2) values (1,array[null]); +insert into inserttestb (f3.if1, f3.if2) values (1,'{null}'), (2,'{bar}'); +insert into inserttestb (f3.if1, f3.if2) select 3, '{null,quux}'; + +insert into inserttestb (f3.if2[1], f3.if2[2]) values ('foo', 'bar'); +insert into inserttestb (f3.if2[1], f3.if2[2]) values ('foo', 'bar'), ('baz', 'quux'); +insert into inserttestb (f3.if2[1], f3.if2[2]) select 'bear', 'beer'; + +insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) values (row(1,'{x}'), 'foo', 'bar'); +insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) values (row(1,'{x}'), 'foo', 'bar'), (row(2,'{y}'), 'baz', 'quux'); +insert into inserttestb (f3, f4[1].if2[1], f4[1].if2[2]) select row(1,'{x}')::insert_test_domain, 'bear', 'beer'; + +select * from inserttesta; +select * from inserttestb; + +-- also check reverse-listing +create table inserttest2 (f1 bigint, f2 text); +create rule irule1 as on insert to inserttest2 do also + insert into inserttestb (f3.if2[1], f3.if2[2]) + values (new.f1,new.f2); +create rule irule2 as on insert to inserttest2 do also + insert into inserttestb (f4[1].if1, f4[1].if2[2]) + values (1,'fool'),(new.f1,new.f2); +create rule irule3 as on insert to inserttest2 do also + insert into inserttestb (f4[1].if1, f4[1].if2[2]) + select new.f1, new.f2; +\d+ inserttest2 + +drop table inserttest2; +drop table inserttesta; +drop table inserttestb; +drop domain insert_pos_ints; +drop domain insert_test_domain; + +-- Verify that multiple inserts to subfields of a domain-over-container +-- check the domain constraints only on the finished value + +create domain insert_nnarray as int[] + check (value[1] is not null and value[2] is not null); + +create domain insert_test_domain as insert_test_type + check ((value).if1 is not null and (value).if2 is not null); + +create table inserttesta (f1 insert_nnarray); +insert into inserttesta (f1[1]) values (1); -- fail +insert into inserttesta (f1[1], f1[2]) values (1, 2); + +create table inserttestb (f1 insert_test_domain); +insert into inserttestb (f1.if1) values (1); -- fail +insert into inserttestb (f1.if1, f1.if2) values (1, '{foo}'); + +drop table inserttesta; +drop table inserttestb; +drop domain insert_nnarray; +drop type insert_test_type cascade; -- direct partition inserts should check partition bound constraint create table range_parted ( diff --git a/src/test/regress/sql/join.sql b/src/test/regress/sql/join.sql index 1113e98..11a8570 100644 --- a/src/test/regress/sql/join.sql +++ b/src/test/regress/sql/join.sql @@ -2029,6 +2029,25 @@ select * from (select q1.v) ) as q2; +-- check for generation of join EC conditions at wrong level (bug #18429) +explain (costs off) +select * from ( + select arrayd.ad, coalesce(c.hundred, 0) as h + from unnest(array[1]) as arrayd(ad) + left join lateral ( + select hundred from tenk1 where unique2 = arrayd.ad + ) c on true +) c2 +where c2.h * c2.ad = c2.h * (c2.ad + 1); +select * from ( + select arrayd.ad, coalesce(c.hundred, 0) as h + from unnest(array[1]) as arrayd(ad) + left join lateral ( + select hundred from tenk1 where unique2 = arrayd.ad + ) c on true +) c2 +where c2.h * c2.ad = c2.h * (c2.ad + 1); + -- check the number of columns specified SELECT * FROM (int8_tbl i cross join int4_tbl j) ss(a,b,c,d); diff --git a/src/test/regress/sql/memoize.sql b/src/test/regress/sql/memoize.sql index d66acae..7b02a82 100644 --- a/src/test/regress/sql/memoize.sql +++ b/src/test/regress/sql/memoize.sql @@ -57,10 +57,31 @@ LATERAL (SELECT t2.unique1 FROM tenk1 t2 WHERE t1.twenty = t2.unique1 OFFSET 0) t2 WHERE t1.unique1 < 1000; +SET enable_mergejoin TO off; + +-- Test for varlena datatype with expr evaluation +CREATE TABLE expr_key (x numeric, t text); +INSERT INTO expr_key (x, t) +SELECT d1::numeric, d1::text FROM ( + SELECT round((d / pi())::numeric, 7) AS d1 FROM generate_series(1, 20) AS d +) t; + +-- duplicate rows so we get some cache hits +INSERT INTO expr_key SELECT * FROM expr_key; + +CREATE INDEX expr_key_idx_x_t ON expr_key (x, t); +VACUUM ANALYZE expr_key; + +-- Ensure we get we get a cache miss and hit for each of the 20 distinct values +SELECT explain_memoize(' +SELECT * FROM expr_key t1 INNER JOIN expr_key t2 +ON t1.x = t2.t::numeric AND t1.t::numeric = t2.x;', false); + +DROP TABLE expr_key; + -- Reduce work_mem and hash_mem_multiplier so that we see some cache evictions SET work_mem TO '64kB'; SET hash_mem_multiplier TO 1.0; -SET enable_mergejoin TO off; -- Ensure we get some evictions. We're unable to validate the hits and misses -- here as the number of entries that fit in the cache at once will vary -- between different machines. diff --git a/src/test/regress/sql/merge.sql b/src/test/regress/sql/merge.sql index 66cb75a..f6b8b9f 100644 --- a/src/test/regress/sql/merge.sql +++ b/src/test/regress/sql/merge.sql @@ -4,6 +4,8 @@ CREATE USER regress_merge_privs; CREATE USER regress_merge_no_privs; +CREATE USER regress_merge_none; + DROP TABLE IF EXISTS target; DROP TABLE IF EXISTS source; CREATE TABLE target (tid integer, balance integer) @@ -118,6 +120,14 @@ DROP MATERIALIZED VIEW mv; -- permissions +SET SESSION AUTHORIZATION regress_merge_none; +MERGE INTO target +USING (SELECT 1) AS s +ON true +WHEN MATCHED THEN + DO NOTHING; + +SET SESSION AUTHORIZATION regress_merge_privs; MERGE INTO target USING source2 ON target.tid = source2.sid @@ -938,6 +948,23 @@ WHEN MATCHED AND t.a < 10 THEN DROP TABLE ex_msource, ex_mtarget; DROP FUNCTION explain_merge(text); +-- EXPLAIN SubPlans and InitPlans +CREATE TABLE src (a int, b int, c int, d int); +CREATE TABLE tgt (a int, b int, c int, d int); +CREATE TABLE ref (ab int, cd int); + +EXPLAIN (verbose, costs off) +MERGE INTO tgt t +USING (SELECT *, (SELECT count(*) FROM ref r + WHERE r.ab = s.a + s.b + AND r.cd = s.c - s.d) cnt + FROM src s) s +ON t.a = s.a AND t.b < s.cnt +WHEN MATCHED AND t.c > s.cnt THEN + UPDATE SET (b, c) = (SELECT s.b, s.cnt); + +DROP TABLE src, tgt, ref; + -- Subqueries BEGIN; MERGE INTO sq_target t @@ -1471,3 +1498,4 @@ DROP TABLE source, source2; DROP FUNCTION merge_trigfunc(); DROP USER regress_merge_privs; DROP USER regress_merge_no_privs; +DROP USER regress_merge_none; diff --git a/src/test/regress/sql/partition_prune.sql b/src/test/regress/sql/partition_prune.sql index ff7e535..6977efd 100644 --- a/src/test/regress/sql/partition_prune.sql +++ b/src/test/regress/sql/partition_prune.sql @@ -178,6 +178,19 @@ select * from boolpart where a is not true and a is not false; select * from boolpart where a is unknown; select * from boolpart where a is not unknown; +-- try some other permutations with a NULL partition instead of a DEFAULT +delete from boolpart where a is null; +create table boolpart_null partition of boolpart for values in (null); +insert into boolpart values(null); + +explain (costs off) select * from boolpart where a is not true; +explain (costs off) select * from boolpart where a is not true and a is not false; +explain (costs off) select * from boolpart where a is not false; + +select * from boolpart where a is not true; +select * from boolpart where a is not true and a is not false; +select * from boolpart where a is not false; + -- inverse boolean partitioning - a seemingly unlikely design, but we've got -- code for it, so we'd better test it. create table iboolpart (a bool) partition by list ((not a)); @@ -204,15 +217,32 @@ select * from iboolpart where a is not true and a is not false; select * from iboolpart where a is unknown; select * from iboolpart where a is not unknown; +-- Try some other permutations with a NULL partition instead of a DEFAULT +delete from iboolpart where a is null; +create table iboolpart_null partition of iboolpart for values in (null); +insert into iboolpart values(null); + +-- Pruning shouldn't take place for these. Just check the result is correct +select * from iboolpart where a is not true; +select * from iboolpart where a is not true and a is not false; +select * from iboolpart where a is not false; + create table boolrangep (a bool, b bool, c int) partition by range (a,b,c); create table boolrangep_tf partition of boolrangep for values from ('true', 'false', 0) to ('true', 'false', 100); create table boolrangep_ft partition of boolrangep for values from ('false', 'true', 0) to ('false', 'true', 100); create table boolrangep_ff1 partition of boolrangep for values from ('false', 'false', 0) to ('false', 'false', 50); create table boolrangep_ff2 partition of boolrangep for values from ('false', 'false', 50) to ('false', 'false', 100); +create table boolrangep_null partition of boolrangep default; -- try a more complex case that's been known to trip up pruning in the past explain (costs off) select * from boolrangep where not a and not b and c = 25; +-- ensure we prune boolrangep_tf +explain (costs off) select * from boolrangep where a is not true and not b and c = 25; + +-- ensure we prune everything apart from boolrangep_tf and boolrangep_null +explain (costs off) select * from boolrangep where a is not false and not b and c = 25; + -- test scalar-to-array operators create table coercepart (a varchar) partition by list (a); create table coercepart_ab partition of coercepart for values in ('ab'); diff --git a/src/test/regress/sql/plpgsql.sql b/src/test/regress/sql/plpgsql.sql index 588c331..cfff49c 100644 --- a/src/test/regress/sql/plpgsql.sql +++ b/src/test/regress/sql/plpgsql.sql @@ -2047,11 +2047,9 @@ begin end $$ language plpgsql; select namedparmcursor_test7(); --- check that line comments work correctly within the argument list (there --- is some special handling of this case in the code: the newline after the --- comment must be preserved when the argument-evaluating query is --- constructed, otherwise the comment effectively comments out the next --- argument, too) +-- check that line comments work correctly within the argument list +-- (this used to require a special hack in the code; it no longer does, +-- but let's keep the test anyway) create function namedparmcursor_test8() returns int4 as $$ declare c1 cursor (p1 int, p2 int) for diff --git a/src/test/regress/sql/rangefuncs.sql b/src/test/regress/sql/rangefuncs.sql index 63351e1..3c47c98 100644 --- a/src/test/regress/sql/rangefuncs.sql +++ b/src/test/regress/sql/rangefuncs.sql @@ -815,3 +815,13 @@ select * from from unnest(array['{"lectures": [{"id": "1"}]}'::jsonb]) as unnested_modules(module)) as ss, jsonb_to_recordset(ss.lecture) as j (id text); + +-- check detection of mismatching record types with a const-folded expression + +with a(b) as (values (row(1,2,3))) +select * from a, coalesce(b) as c(d int, e int); -- fail +with a(b) as (values (row(1,2,3))) +select * from a, coalesce(b) as c(d int, e int, f int, g int); -- fail +with a(b) as (values (row(1,2,3))) +select * from a, coalesce(b) as c(d int, e int, f float); -- fail +select * from int8_tbl, coalesce(row(1)) as (a int, b int); -- fail diff --git a/src/test/regress/sql/stats_ext.sql b/src/test/regress/sql/stats_ext.sql index f0ee415..76291ef 100644 --- a/src/test/regress/sql/stats_ext.sql +++ b/src/test/regress/sql/stats_ext.sql @@ -1649,9 +1649,36 @@ SET SESSION AUTHORIZATION regress_stats_user1; SELECT * FROM tststats.priv_test_tbl WHERE a <<< 0 AND b <<< 0; -- Should not leak DELETE FROM tststats.priv_test_tbl WHERE a <<< 0 AND b <<< 0; -- Should not leak +-- privilege checks for pg_stats_ext and pg_stats_ext_exprs +RESET SESSION AUTHORIZATION; +CREATE TABLE stats_ext_tbl (id INT PRIMARY KEY GENERATED BY DEFAULT AS IDENTITY, col TEXT); +INSERT INTO stats_ext_tbl (col) VALUES ('secret'), ('secret'), ('very secret'); +CREATE STATISTICS s_col ON id, col FROM stats_ext_tbl; +CREATE STATISTICS s_expr ON mod(id, 2), lower(col) FROM stats_ext_tbl; +ANALYZE stats_ext_tbl; + +-- unprivileged role should not have access +SET SESSION AUTHORIZATION regress_stats_user1; +SELECT statistics_name, most_common_vals FROM pg_stats_ext x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); +SELECT statistics_name, most_common_vals FROM pg_stats_ext_exprs x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); + +-- give unprivileged role ownership of table +RESET SESSION AUTHORIZATION; +ALTER TABLE stats_ext_tbl OWNER TO regress_stats_user1; + +-- unprivileged role should now have access +SET SESSION AUTHORIZATION regress_stats_user1; +SELECT statistics_name, most_common_vals FROM pg_stats_ext x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); +SELECT statistics_name, most_common_vals FROM pg_stats_ext_exprs x + WHERE tablename = 'stats_ext_tbl' ORDER BY ROW(x.*); + -- Tidy up DROP OPERATOR <<< (int, int); DROP FUNCTION op_leak(int, int); RESET SESSION AUTHORIZATION; +DROP TABLE stats_ext_tbl; DROP SCHEMA tststats CASCADE; DROP USER regress_stats_user1; diff --git a/src/test/regress/sql/timestamp.sql b/src/test/regress/sql/timestamp.sql index ebc969f..bc37803 100644 --- a/src/test/regress/sql/timestamp.sql +++ b/src/test/regress/sql/timestamp.sql @@ -259,6 +259,9 @@ FROM ( -- shift bins using the origin parameter: SELECT date_bin('5 min'::interval, timestamp '2020-02-01 01:01:01', timestamp '2020-02-01 00:02:30'); +-- test roundoff edge case when source < origin +SELECT date_bin('30 minutes'::interval, timestamp '2024-02-01 15:00:00', timestamp '2024-02-01 17:00:00'); + -- disallow intervals with months or years SELECT date_bin('5 months'::interval, timestamp '2020-02-01 01:01:01', timestamp '2001-01-01'); SELECT date_bin('5 years'::interval, timestamp '2020-02-01 01:01:01', timestamp '2001-01-01'); @@ -269,6 +272,11 @@ SELECT date_bin('0 days'::interval, timestamp '1970-01-01 01:00:00' , timestamp -- disallow negative intervals SELECT date_bin('-2 days'::interval, timestamp '1970-01-01 01:00:00' , timestamp '1970-01-01 00:00:00'); +-- test overflow cases +select date_bin('15 minutes'::interval, timestamp '294276-12-30', timestamp '4000-12-20 BC'); +select date_bin('200000000 days'::interval, '2024-02-01'::timestamp, '2024-01-01'::timestamp); +select date_bin('365000 days'::interval, '4400-01-01 BC'::timestamp, '4000-01-01 BC'::timestamp); + -- Test casting within a BETWEEN qualifier SELECT d1 - timestamp without time zone '1997-01-02' AS diff FROM TIMESTAMP_TBL diff --git a/src/test/regress/sql/timestamptz.sql b/src/test/regress/sql/timestamptz.sql index a107abc..875479e 100644 --- a/src/test/regress/sql/timestamptz.sql +++ b/src/test/regress/sql/timestamptz.sql @@ -234,6 +234,9 @@ FROM ( -- shift bins using the origin parameter: SELECT date_bin('5 min'::interval, timestamptz '2020-02-01 01:01:01+00', timestamptz '2020-02-01 00:02:30+00'); +-- test roundoff edge case when source < origin +SELECT date_bin('30 minutes'::interval, timestamptz '2024-02-01 15:00:00', timestamptz '2024-02-01 17:00:00'); + -- disallow intervals with months or years SELECT date_bin('5 months'::interval, timestamp with time zone '2020-02-01 01:01:01+00', timestamp with time zone '2001-01-01+00'); SELECT date_bin('5 years'::interval, timestamp with time zone '2020-02-01 01:01:01+00', timestamp with time zone '2001-01-01+00'); @@ -244,6 +247,11 @@ SELECT date_bin('0 days'::interval, timestamp with time zone '1970-01-01 01:00:0 -- disallow negative intervals SELECT date_bin('-2 days'::interval, timestamp with time zone '1970-01-01 01:00:00+00' , timestamp with time zone '1970-01-01 00:00:00+00'); +-- test overflow cases +select date_bin('15 minutes'::interval, timestamptz '294276-12-30', timestamptz '4000-12-20 BC'); +select date_bin('200000000 days'::interval, '2024-02-01'::timestamptz, '2024-01-01'::timestamptz); +select date_bin('365000 days'::interval, '4400-01-01 BC'::timestamptz, '4000-01-01 BC'::timestamptz); + -- Test casting within a BETWEEN qualifier SELECT d1 - timestamp with time zone '1997-01-02' AS diff FROM TIMESTAMPTZ_TBL diff --git a/src/test/regress/sql/triggers.sql b/src/test/regress/sql/triggers.sql index 46795a9..6c9e066 100644 --- a/src/test/regress/sql/triggers.sql +++ b/src/test/regress/sql/triggers.sql @@ -1186,9 +1186,13 @@ insert into child values (10, 1, 'b'); select * from parent; select * from child; update parent set val1 = 'b' where aid = 1; -- should fail +merge into parent p using (values (1)) as v(id) on p.aid = v.id + when matched then update set val1 = 'b'; -- should fail select * from parent; select * from child; delete from parent where aid = 1; -- should fail +merge into parent p using (values (1)) as v(id) on p.aid = v.id + when matched then delete; -- should fail select * from parent; select * from child; -- replace the trigger function with one that restarts the deletion after diff --git a/src/test/regress/sql/window.sql b/src/test/regress/sql/window.sql index 253c1b7..2a5aa38 100644 --- a/src/test/regress/sql/window.sql +++ b/src/test/regress/sql/window.sql @@ -1068,14 +1068,14 @@ EXPLAIN (COSTS OFF) SELECT * FROM (SELECT empno, salary, - count(empno) OVER (ORDER BY salary DESC) c + count(1) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; SELECT * FROM (SELECT empno, salary, - count(empno) OVER (ORDER BY salary DESC) c + count(1) OVER (ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; @@ -1131,13 +1131,13 @@ SELECT empno, depname FROM FROM empsalary) emp WHERE rn < 3; --- likewise with count(empno) instead of row_number() +-- likewise with count(1) instead of row_number() EXPLAIN (COSTS OFF) SELECT * FROM (SELECT empno, depname, salary, - count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c + count(1) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; @@ -1146,7 +1146,7 @@ SELECT * FROM (SELECT empno, depname, salary, - count(empno) OVER (PARTITION BY depname ORDER BY salary DESC) c + count(1) OVER (PARTITION BY depname ORDER BY salary DESC) c FROM empsalary) emp WHERE c <= 3; @@ -1157,7 +1157,7 @@ SELECT * FROM (SELECT empno, depname, salary, - count(empno) OVER () c + count(1) OVER () c FROM empsalary) emp WHERE c = 1; @@ -1165,7 +1165,7 @@ WHERE c = 1; EXPLAIN (COSTS OFF) SELECT * FROM (SELECT *, - count(salary) OVER (PARTITION BY depname || '') c1, -- w1 + count(1) OVER (PARTITION BY depname || '') c1, -- w1 row_number() OVER (PARTITION BY depname) rn, -- w2 count(*) OVER (PARTITION BY depname) c2, -- w2 count(*) OVER (PARTITION BY '' || depname) c3 -- w3 @@ -1175,7 +1175,7 @@ SELECT * FROM -- Ensure we correctly filter out all of the run conditions from each window SELECT * FROM (SELECT *, - count(salary) OVER (PARTITION BY depname || '') c1, -- w1 + count(1) OVER (PARTITION BY depname || '') c1, -- w1 row_number() OVER (PARTITION BY depname) rn, -- w2 count(*) OVER (PARTITION BY depname) c2, -- w2 count(*) OVER (PARTITION BY '' || depname) c3 -- w3 @@ -1215,6 +1215,15 @@ SELECT * FROM FROM empsalary) emp WHERE c = 1; +-- Ensure we don't use a run condition when the WindowFunc arg contains a Var +EXPLAIN (COSTS OFF) +SELECT * FROM + (SELECT empno, + salary, + count(empno) OVER (ORDER BY empno DESC) c + FROM empsalary) emp +WHERE c = 1; + -- Ensure we don't use a run condition when the WindowFunc contains subplans EXPLAIN (COSTS OFF) SELECT * FROM diff --git a/src/test/subscription/t/031_column_list.pl b/src/test/subscription/t/031_column_list.pl index 2ca120f..86521a1 100644 --- a/src/test/subscription/t/031_column_list.pl +++ b/src/test/subscription/t/031_column_list.pl @@ -370,7 +370,8 @@ $node_subscriber->safe_psql( $node_subscriber->safe_psql( 'postgres', qq( - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub2, pub3 + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub2, pub3 )); $node_subscriber->wait_for_subscription_sync($node_publisher, 'sub1'); @@ -411,7 +412,8 @@ $node_subscriber->safe_psql( $node_subscriber->safe_psql( 'postgres', qq( - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub4 + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub4 )); $node_subscriber->wait_for_subscription_sync; @@ -487,7 +489,8 @@ $node_subscriber->safe_psql( $node_subscriber->safe_psql( 'postgres', qq( - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub5 + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub5 )); $node_subscriber->wait_for_subscription_sync; @@ -601,10 +604,12 @@ $node_publisher->safe_psql( ALTER PUBLICATION pub6 ADD TABLE test_part_a_2 (b); )); -# add the publication to our subscription, wait for sync to complete +# create the subscription for the above publication, wait for sync to +# complete $node_subscriber->safe_psql( 'postgres', qq( - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub6 + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub6 )); $node_subscriber->wait_for_subscription_sync; @@ -667,10 +672,12 @@ $node_publisher->safe_psql( CREATE PUBLICATION pub7 FOR TABLE test_part_b (a, b) WITH (publish_via_partition_root = true); )); -# add the publication to our subscription, wait for sync to complete +# create the subscription for the above publication, wait for sync to +# complete $node_subscriber->safe_psql( 'postgres', qq( - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub7 + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub7 )); $node_subscriber->wait_for_subscription_sync; @@ -737,7 +744,8 @@ $node_publisher->safe_psql( ALTER PUBLICATION pub8 ADD TABLE test_part_c_2 (a,b); )); -# add the publication to our subscription, wait for sync to complete +# create the subscription for the above publication, wait for sync to +# complete $node_subscriber->safe_psql( 'postgres', qq( DROP SUBSCRIPTION sub1; @@ -835,10 +843,12 @@ $node_publisher->safe_psql( CREATE PUBLICATION pub9 FOR TABLE test_part_d (a) WITH (publish_via_partition_root = true); )); -# add the publication to our subscription, wait for sync to complete +# create the subscription for the above publication, wait for sync to +# complete $node_subscriber->safe_psql( 'postgres', qq( - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub9 + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub9 )); $node_subscriber->wait_for_subscription_sync; @@ -880,8 +890,8 @@ $node_publisher->safe_psql( $node_subscriber->safe_psql( 'postgres', qq( CREATE TABLE test_mix_2 (a int PRIMARY KEY, b int, c int); - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub_mix_3, pub_mix_4; - ALTER SUBSCRIPTION sub1 REFRESH PUBLICATION; + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub_mix_3, pub_mix_4; )); $node_subscriber->wait_for_subscription_sync; @@ -1017,7 +1027,8 @@ $node_subscriber->safe_psql( CREATE TABLE s1.t (a int, b int, c int) PARTITION BY RANGE (a); CREATE TABLE t_1 PARTITION OF s1.t FOR VALUES FROM (1) TO (10); - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub1, pub2; + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub1, pub2; )); $node_subscriber->wait_for_subscription_sync; @@ -1085,7 +1096,8 @@ $node_subscriber->safe_psql( PARTITION BY RANGE (a); CREATE TABLE t_2 PARTITION OF t_1 FOR VALUES FROM (1) TO (10); - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub3; + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub3; )); $node_subscriber->wait_for_subscription_sync; @@ -1133,7 +1145,8 @@ $node_subscriber->safe_psql( PARTITION BY RANGE (a); CREATE TABLE t_2 PARTITION OF t_1 FOR VALUES FROM (1) TO (10); - ALTER SUBSCRIPTION sub1 SET PUBLICATION pub4; + DROP SUBSCRIPTION sub1; + CREATE SUBSCRIPTION sub1 CONNECTION '$publisher_connstr' PUBLICATION pub4; )); $node_subscriber->wait_for_subscription_sync; diff --git a/src/tools/msvc/ecpg_regression.proj b/src/tools/msvc/ecpg_regression.proj index ec2760b..8691b04 100644 --- a/src/tools/msvc/ecpg_regression.proj +++ b/src/tools/msvc/ecpg_regression.proj @@ -15,7 +15,7 @@ </PropertyGroup> <ItemGroup> - <Pgc Include="$(TESTDIR)\**\*.pgc" Exclude="$(TESTDIR)\performance\perftest.pgc"/> + <Pgc Include="$(TESTDIR)\**\*.pgc" Exclude="$(TESTDIR)\performance\perftest.pgc;$(TESTDIR)\sql\define_prelim.pgc"/> </ItemGroup> <ItemGroup> @@ -51,9 +51,15 @@ <CreateProperty Value="-i" Condition="'%(Pgc.FileName)'=='strings'"> <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> </CreateProperty> + <CreateProperty Value="-DCMDLINESYM=123" Condition="'%(Pgc.FileName)'=='define'"> + <Output TaskParameter="Value" PropertyName="ECPGPARAM" /> + </CreateProperty> + <CreateProperty Value="define_prelim.pgc" Condition="'%(Pgc.FileName)'=='define'"> + <Output TaskParameter="Value" PropertyName="ECPGEXTRA" /> + </CreateProperty> <!-- Run ECPG and the Visual C++ compiler on the files. Don't bother with dependency check between the steps --> - <Exec WorkingDirectory="%(Pgc.RelativeDir)" Command="$(OUTDIR)ecpg\ecpg -I ../../include --regression $(ECPGPARAM) -o %(Pgc.Filename).c %(Pgc.Filename).pgc" /> + <Exec WorkingDirectory="%(Pgc.RelativeDir)" Command="$(OUTDIR)ecpg\ecpg -I ../../include --regression $(ECPGPARAM) -o %(Pgc.Filename).c $(ECPGEXTRA) %(Pgc.Filename).pgc" /> <Exec WorkingDirectory="%(Pgc.RelativeDir)" Command="cl /nologo %(Pgc.FileName).c /TC /MD$(DEBUGLIB) /DENABLE_THREAD_SAFETY /DWIN32 /I. /I..\..\include /I..\..\..\libpq /I..\..\..\..\include /link /defaultlib:$(OUTDIR)libecpg\libecpg.lib /defaultlib:$(OUTDIR)libecpg_compat\libecpg_compat.lib /defaultlib:$(OUTDIR)libpgtypes\libpgtypes.lib" /> </Target> diff --git a/src/tools/pgindent/typedefs.list b/src/tools/pgindent/typedefs.list index d030c48..78f3ec0 100644 --- a/src/tools/pgindent/typedefs.list +++ b/src/tools/pgindent/typedefs.list @@ -2635,6 +2635,7 @@ SupportRequestSelectivity SupportRequestSimplify SupportRequestWFuncMonotonic Syn +SyncingTablesState SyncOps SyncRepConfigData SyncRepStandbyData |