Class: PgPipeline::Request

Inherits:
Object
  • Object
show all
Defined in:
lib/pg_pipeline/request.rb

Direct Known Subclasses

PrepareRequest, PreparedQueryRequest

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(sql:, params: nil) ⇒ Request

Returns a new instance of Request.



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/pg_pipeline/request.rb', line 13

def initialize(sql:, params: nil)
  @sql = RequestOps.snapshot_sql(sql)
  @params = RequestOps.snapshot_params(params)
  @state = :new
  @condition = Async::Notification.new
  @cancelled = false
  @settled = false
  @result_seen = false
  @query_boundary_seen = false
  @result = nil
  @error = nil
end

Instance Attribute Details

#cancelledObject

Returns the value of attribute cancelled.



10
11
12
# File 'lib/pg_pipeline/request.rb', line 10

def cancelled
  @cancelled
end

#conditionObject (readonly)

Returns the value of attribute condition.



9
10
11
# File 'lib/pg_pipeline/request.rb', line 9

def condition
  @condition
end

#errorObject

Returns the value of attribute error.



10
11
12
# File 'lib/pg_pipeline/request.rb', line 10

def error
  @error
end

#paramsObject (readonly)

Returns the value of attribute params.



9
10
11
# File 'lib/pg_pipeline/request.rb', line 9

def params
  @params
end

#query_boundary_seenObject

Returns the value of attribute query_boundary_seen.



10
11
12
# File 'lib/pg_pipeline/request.rb', line 10

def query_boundary_seen
  @query_boundary_seen
end

#resultObject

Returns the value of attribute result.



10
11
12
# File 'lib/pg_pipeline/request.rb', line 10

def result
  @result
end

#result_seenObject

Returns the value of attribute result_seen.



10
11
12
# File 'lib/pg_pipeline/request.rb', line 10

def result_seen
  @result_seen
end

#settledObject

Returns the value of attribute settled.



10
11
12
# File 'lib/pg_pipeline/request.rb', line 10

def settled
  @settled
end

#sqlObject (readonly)

Returns the value of attribute sql.



9
10
11
# File 'lib/pg_pipeline/request.rb', line 9

def sql
  @sql
end

#stateObject

Returns the value of attribute state.



10
11
12
# File 'lib/pg_pipeline/request.rb', line 10

def state
  @state
end

Class Method Details

.prepare(statement) ⇒ Object



26
# File 'lib/pg_pipeline/request.rb', line 26

def self.prepare(statement) = PrepareRequest.new(statement)

.prepared_query(statement, params: nil) ⇒ Object



28
29
30
# File 'lib/pg_pipeline/request.rb', line 28

def self.prepared_query(statement, params: nil)
  PreparedQueryRequest.new(statement, params: params)
end

Instance Method Details

#accept_result(result) ⇒ Object



36
# File 'lib/pg_pipeline/request.rb', line 36

def accept_result(result) = RequestOps.accept_result(self, result)

#cancel!Object



41
# File 'lib/pg_pipeline/request.rb', line 41

def cancel! = RequestOps.cancel!(self)

#cancelled?Boolean

Returns:

  • (Boolean)


45
# File 'lib/pg_pipeline/request.rb', line 45

def cancelled? = @cancelled

#dispatched!Object



35
# File 'lib/pg_pipeline/request.rb', line 35

def dispatched! = RequestOps.transition!(self, :queued, :dispatched)

#finish!Object



39
# File 'lib/pg_pipeline/request.rb', line 39

def finish! = RequestOps.finish!(self)

#operationObject



32
# File 'lib/pg_pipeline/request.rb', line 32

def operation = :query

#query_boundary!Object



38
# File 'lib/pg_pipeline/request.rb', line 38

def query_boundary! = RequestOps.query_boundary!(self)

#query_boundary_seen?Boolean

Returns:

  • (Boolean)


44
# File 'lib/pg_pipeline/request.rb', line 44

def query_boundary_seen? = @query_boundary_seen

#queued!Object



34
# File 'lib/pg_pipeline/request.rb', line 34

def queued! = RequestOps.transition!(self, :new, :queued)

#record_error!(error, result: nil) ⇒ Object



37
# File 'lib/pg_pipeline/request.rb', line 37

def record_error!(error, result: nil) = RequestOps.record_error!(self, error, result)

#reject!(error) ⇒ Object



40
# File 'lib/pg_pipeline/request.rb', line 40

def reject!(error) = RequestOps.reject!(self, error)

#settled?Boolean

Returns:

  • (Boolean)


46
# File 'lib/pg_pipeline/request.rb', line 46

def settled? = @settled

#waitObject



42
# File 'lib/pg_pipeline/request.rb', line 42

def wait = RequestOps.wait(self)