pg.ddx.io  pgsql-interfaces@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Rodrigo Sakai <rodrigo.sakai@zanthus.com.br>
To: 'Tom Lane' <tgl@sss.pgh.pa.us>
Cc: pgsql-interfaces@postgresql.org
Subject: RES: Creating a new type
Date: Thu, 29 Jun 2006 09:38:17 -0300
Message-ID: <000001c69b78$e5cfcee0$4700a8c0@TREEZANTHUS> (raw)
In-Reply-To: <15256.1151506785@sss.pgh.pa.us>

  Ok, let me explain better! In my table example I will store datas like

 

 


Emp_id

emp_name

salary

emp_time


1

Rodrigo

1,200.00

(2006-jan-01, 2006-jun-01)


1

Rodrigo

2,100.00

(2006-mar-01, 2006-sep-01)

 

 

  Considering the overlaps of emp_time and this question: what is the salary
of employee Rodrigo on 2006-apr-01 ??? This data is inconsistent because the
overlaps of time!

 

  So, I have to guarantee that this situation doesn't occur! But I don't
want to use triggers because this check must be done on almost all tables
that uses the type:

 

CREATE TYPE time_interval (

    Tbegin date,

    Tend date

   ) 

 

 And be easy to the user. For example, any table that is created using this
type garantees that the overlaps will not occur! To do this I have to get
access for the past data of the table, and so, I have to know wich table is
using the type and have data being inserted!

 

  Is that a way of doing this?

 

 

-----Mensagem original-----
De: pgsql-interfaces-owner@postgresql.org
[mailto:pgsql-interfaces-owner@postgresql.org] Em nome de Tom Lane
Enviada em: quarta-feira, 28 de junho de 2006 12:00
Para: rodrigo.sakai@zanthus.com.br
Cc: pgsql-interfaces@postgresql.org
Assunto: Re: [INTERFACES] Creating a new type 

 

"Rodrigo Sakai" <rodrigo.sakai@zanthus.com.br> writes:

>   So, when I execute an INSERT operation on this table, the functions that

> deals with this type need the id or name of the table that the data was

> inserted!

 

Why?  Your example datatype doesn't seem to require any such thing.

 

>   How can I get this ID or NAME inside this functions??? 

 

You can't.  The question itself is bogus because it assumes that data

values only exist within tables.  You could not have a transient value

of the datatype (eg, a function result) because that is not stored in

any table.

 

                  regards, tom lane

 

---------------------------(end of broadcast)---------------------------

TIP 4: Have you searched our list archives?

 

               http://archives.postgresql.org

view thread (2+ messages)  latest in thread

Message-ID: <000001c69b78$e5cfcee0$4700a8c0@TREEZANTHUS>
Permalink:  ../000001c69b78$e5cfcee0$4700a8c0@TREEZANTHUS/
Also on:    postgresql.org/message-id/000001c69b78$e5cfcee0$4700a8c0@TREEZANTHUS

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-interfaces@postgresql.org
  Cc: rodrigo.sakai@zanthus.com.br, tgl@sss.pgh.pa.us
  Subject: Re: RES: Creating a new type
  In-Reply-To: <000001c69b78$e5cfcee0$4700a8c0@TREEZANTHUS>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox