Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
Postgres FD Implementation
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Abuhujair Javed
Postgres FD Implementation
Commits
91a62480
Commit
91a62480
authored
Nov 17, 1998
by
Marc G. Fournier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
From: Taral <taral@cyberjunkie.com> More COS Query Service support.
parent
935a2e69
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
161 additions
and
71 deletions
+161
-71
src/corba/CosQuery.idl
src/corba/CosQuery.idl
+89
-0
src/corba/pgsql.idl
src/corba/pgsql.idl
+72
-71
No files found.
src/corba/CosQuery.idl
0 → 100644
View file @
91a62480
/*
RCS
$
Id
:
CosQuery
.
idl
,
v
1.1
1998
/
11
/
17
03
:
10
:
35
scrappy
Exp
$
*
*
----------------------------------------------------------------------------
*
This
is
unmarked
software
provided
by
the
Object
Management
Group
,
Inc
.
(
OMG
)
*
----------------------------------------------------------------------------
*/
/**
*
CosQuery
is
the
Common
Object
Services
Specification
query
module
*
as
it
it
appears
in
COSS1
,
v1
.
0.
*/
#
ifndef
CosQuery_idl
#
define
CosQuery_idl
#
ifndef
CosQueryCollection_idl
#
include
"CosQueryCollection.idl"
#
endif
module
CosQuery
{
exception
QueryInvalid
{
string
why
;};
exception
QueryProcessingError
{
string
why
;};
exception
QueryTypeInvalid
{}
;
enum
QueryStatus
{
complete
,
incomplete
}
;
typedef
CosQueryCollection
::
ParameterList
ParameterList
;
typedef
CORBA
::
InterfaceDef
QLType
;
typedef
sequence
<
QLType
>
QLTypeSeq
;
interface
Query
;
interface
QueryLanguageType
{}
;
interface
SQLQuery
:
QueryLanguageType
{}
;
interface
SQL_92Query
:
SQLQuery
{}
;
interface
OQL
:
QueryLanguageType
{}
;
interface
OQLBasic
:
OQL
{}
;
interface
OQL_93
:
OQL
{}
;
interface
OQL_93Basic
:
OQL_93
,
OQLBasic
{}
;
interface
QueryEvaluator
{
readonly
attribute
QLTypeSeq
ql_types
;
readonly
attribute
QLType
default_ql_type
;
any
evaluate
(
in
string
query
,
in
QLType
ql_type
,
in
ParameterList
params
)
raises
(
QueryTypeInvalid
,
QueryInvalid
,
QueryProcessingError
)
;
}
;
interface
QueryableCollection
:
QueryEvaluator
,
CosQueryCollection
::
Collection
{
}
;
interface
QueryManager
:
QueryEvaluator
{
Query
create
(
in
string
query
,
in
QLType
ql_type
,
in
ParameterList
params
)
raises
(
QueryTypeInvalid
,
QueryInvalid
)
;
}
;
interface
Query
{
readonly
attribute
QueryManager
query_mgr
;
void
prepare
(
in
ParameterList
params
)
raises
(
QueryProcessingError
)
;
void
execute
(
in
ParameterList
params
)
raises
(
QueryProcessingError
)
;
QueryStatus
get_status
()
;
any
get_result
()
;
}
;
}
;
#
endif
//
CosQuery_idl
src/corba/pgsql.idl
View file @
91a62480
#
include
"CosQueryCollection.idl"
#
ifndef
pgsql_idl
#
ifndef
pgsql_idl
#
define
pgsql_idl
#
define
pgsql_idl
#
ifndef
CosQuery_idl
#
include
"CosQuery.idl"
#
endif
#
ifndef
CosQueryCollection_idl
#
include
"CosQueryCollection.idl"
#
endif
module
PostgreSQL
{
module
PostgreSQL
{
//
Built
-
in
types
//
Built
-
in
types
module
Types
{
module
Types
{
//
Arrays
in
network
order
//
Arrays
in
network
order
typedef
short
int2
;
typedef
short
int2
;
typedef
long
int4
;
typedef
long
int4
;
typedef
long
int8
[
2
]
;
typedef
long
int8
[
2
]
;
}
;
}
;
//
NULL
support
//
NULL
support
typedef
boolean
Null
;
typedef
boolean
Null
;
union
Value
switch
(
Null
)
{
union
Value
switch
(
Null
)
{
case
false
:
any
value
;
case
false
:
any
value
;
}
;
}
;
typedef
sequence
<
Value
>
Row
;
//
Row
definition
//
<
info
>
//
More
about
the
application
of
COSS
:
typedef
sequence
<
Value
>
Row
;
//
//
A
Table
will
be
a
QueryableCollection
of
Rows
//
<
info
>
//
A
Database
will
be
a
QueryableCollection
of
Tables
//
More
about
the
application
of
COSS
:
//
Both
will
be
queryable
via
the
Query
Service
//
//
//
A
Table
will
be
a
QueryableCollection
of
Rows
//
Other
relations
will
be
representable
using
the
Relationship
Service
//
A
Database
will
be
a
QueryableCollection
of
Tables
//
This
includes
primary
/
foreign
keys
and
anything
else
:)
//
(
Currently
Tables
are
not
exported
.
..
maybe
later
.
)
//
//
Both
will
be
queryable
via
the
Query
Service
//
GRANT
/
REVOKE
can
be
supplied
via
the
Security
Service
//
//
//
Other
relations
will
be
representable
using
the
Relationship
Service
//
See
a
pattern
here
?
The
whole
of
SQL
can
be
implemented
by
these
services
!
//
This
includes
primary
/
foreign
keys
and
anything
else
:)
//
The
statements
go
through
a
parser
.
Queries
and
subqueries
are
passed
to
the
//
//
database
for
processing
.
Returned
items
are
handled
appropriately
:
//
GRANT
/
REVOKE
can
be
supplied
via
the
Security
Service
//
//
//
SELECT
:
return
the
items
to
the
caller
//
See
a
pattern
here
?
The
whole
of
SQL
can
be
implemented
by
these
services
!
//
UPDATE
:
modify
the
items
(
direct
)
//
The
statements
go
through
a
parser
.
Queries
and
subqueries
are
passed
to
the
//
DELETE
:
call
delete
()
on
each
Row
(
direct
)
//
database
for
processing
.
Returned
items
are
handled
appropriately
:
//
GRANT
/
REVOKE
:
modify
ACLs
(
via
Security
Service
)
//
//
ALTER
:
modify
the
items
(
direct
)
and
/
or
the
relations
(
via
Relationship
Service
)
//
SELECT
:
return
the
items
to
the
caller
//
etc
.
//
UPDATE
:
modify
the
items
(
direct
)
//
//
DELETE
:
call
delete
()
on
each
Row
(
direct
)
//
I
'm not sure yet about LOCK and UNLOCK.
//
GRANT
/
REVOKE
:
modify
ACLs
(
via
Security
Service
)
// </info>
//
ALTER
:
modify
the
items
(
direct
)
and
/
or
the
relations
(
via
Relationship
Service
)
//
etc
.
//
// Query result interface
//
I
'm not sure yet about LOCK and UNLOCK.
//
// </info>
// Should the iterator support a '
boolean
skip
(
in
long
n
)
' extension?
interface QueryResult : CosQueryCollection::Collection {};
// Connected database object
interface QueryResultIterator : CosQueryCollection::Iterator {};
interface Database : CosQuery::QueryableCollection {
void disconnect();
// Connected database object
};
interface Database {
QueryResult exec(in string query);
// Server object (stateless)
void disconnect();
};
interface Server {
Database connect(in string db, in string user, in string password);
};
// Server object (stateless)
interface Server {
Database connect(in string db, in string user, in string password);
};
};
};
#endif // pgsql_idl
#endif // pgsql_idl
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment