public static Task CreatePrimaryIndexAsync(this IQueryIndexManager queryIndexManager, string bucketName, Action <CreatePrimaryQueryIndexOptions> configureOptions) { var options = new CreatePrimaryQueryIndexOptions(); configureOptions(options); return(queryIndexManager.CreatePrimaryIndexAsync(bucketName, options)); }
public static string CreatePrimaryIndexStatement(string bucketName, CreatePrimaryQueryIndexOptions options = null) { if (options.ScopeNameValue == null) { return $"CREATE PRIMARY INDEX ON {bucketName.EscapeIfRequired()} USING GSI WITH {{\"defer_build\":{options.DeferredValue}}};"; } return $"CREATE PRIMARY INDEX ON {bucketName.EscapeIfRequired()}.{options.ScopeNameValue.EscapeIfRequired()}.{options.CollectionNameValue.EscapeIfRequired()} USING GSI WITH {{\"defer_build\":{options.DeferredValue}}};"; }
public async Task CreatePrimaryIndexAsync(string bucketName, CreatePrimaryQueryIndexOptions options) { Logger.LogInformation($"Attempting to create primary query index on bucket {bucketName}"); try { var statement = $"CREATE PRIMARY INDEX ON {bucketName} USING GSI WITH {{\"defer_build\":{options.Deferred}}};"; await _queryClient.QueryAsync <dynamic>(statement, queryOptions => queryOptions.WithCancellationToken(options.CancellationToken) ); } catch (Exception exception) { Logger.LogError(exception, $"Error trying to create primary query index on {bucketName}"); throw; } }