5namespace Stroika::Foundation::Database::SQL {
12 inline Statement::Statement (unique_ptr<IRep>&& rep)
20 return _fRep->GetColumns ();
26 return _fRep->GetParameters ();
28 inline void Statement::Bind ()
34 inline void Statement::Bind (
unsigned int parameterIndex,
const VariantValue& v)
38 _fRep->Bind (parameterIndex, v);
40 inline void Statement::Bind (
const String& parameterName,
const VariantValue& v)
44 _fRep->Bind (parameterName, v);
50 return _fRep->GetSQL (whichSQL);
52 inline void Statement::Reset ()
58 inline auto Statement::GetNextRow () -> optional<Row>
62 return _fRep->GetNextRow ();
68 return GetAllRemainingRows ();
74 return GetAllRemainingRows (restrictToColumn);
76 inline Sequence<tuple<VariantValue, VariantValue>> Statement::GetAllRows (
size_t restrictToColumn1,
size_t restrictToColumn2)
80 return GetAllRemainingRows (restrictToColumn1, restrictToColumn2);
82 inline Sequence<tuple<VariantValue, VariantValue, VariantValue>> Statement::GetAllRows (
size_t restrictToColumn1,
83 size_t restrictToColumn2,
size_t restrictToColumn3)
85 Debug::AssertExternallySynchronizedMutex::WriteContext declareContext{_fAssertExternallySynchronizedMutex};
87 return GetAllRemainingRows (restrictToColumn1, restrictToColumn2, restrictToColumn3);
#define RequireNotNull(p)
String is like std::u32string, except it is much easier to use, often much more space efficient,...
A generalization of a vector: a container whose elements are keyed by the natural numbers.
Simple variant-value (case variant union) object, with (variant) basic types analogous to a value in ...
shared_lock< const AssertExternallySynchronizedMutex > ReadContext
Instantiate AssertExternallySynchronizedMutex::ReadContext to designate an area of code where protect...
unique_lock< AssertExternallySynchronizedMutex > WriteContext
Instantiate AssertExternallySynchronizedMutex::WriteContext to designate an area of code where protec...