[sqlite] data type from join multiple tables

2010-05-14 Thread Fabio Spadaro
I need to identify data types extracted from a
join between multiple tables without using cross-checking table_info more
pragmatic.

Is there a faster way to do it?

-- 
Fabio Spadaro
www.fabiospadaro.com
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread P Kishor
On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro fabiolinos...@gmail.com wrote:
 I need to identify data types extracted from a
 join between multiple tables without using cross-checking table_info more
 pragmatic.


Could you clarify what you really want to do? Your question is not
clear at all, at least to me. What do you mean by using
cross-checking table_info more pragmatic? More pragmatic than what?

 Is there a faster way to do it?


Faster than what?

If you want data_types, you can use SELECT Typeof(column_name)








-- 
Puneet Kishor http://www.punkish.org
Carbon Model http://carbonmodel.org
Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
Nelson Institute, UW-Madison http://www.nelson.wisc.edu
---
Assertions are politics; backing up assertions with evidence is science
===
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread Israel Lins Albuquerque
Or you can use sqlite3_column_decltype in conjunction with 
sqlite3_column_table_name, sqlite3_column_database_name, 
sqlite3_column_origin_name but to use the last three functions you will need 
compile sqlite with -DSQLITE_ENABLE_COLUMN_METADATA directive on LCFLAGS or 
something like this! 

- Mensagem original - 
De: P Kishor punk.k...@gmail.com 
Para: General Discussion of SQLite Database sqlite-users@sqlite.org 
Enviadas: Sexta-feira, 14 de Maio de 2010 11:05:43 
Assunto: Re: [sqlite] data type from join multiple tables 

On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro fabiolinos...@gmail.com wrote: 
 I need to identify data types extracted from a 
 join between multiple tables without using cross-checking table_info more 
 pragmatic. 
 

Could you clarify what you really want to do? Your question is not 
clear at all, at least to me. What do you mean by using 
cross-checking table_info more pragmatic? More pragmatic than what? 

 Is there a faster way to do it? 
 

Faster than what? 

If you want data_types, you can use SELECT Typeof(column_name) 




 



-- 
Puneet Kishor http://www.punkish.org 
Carbon Model http://carbonmodel.org 
Charter Member, Open Source Geospatial Foundation http://www.osgeo.org 
Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor 
Nelson Institute, UW-Madison http://www.nelson.wisc.edu 
--- 
Assertions are politics; backing up assertions with evidence is science 
=== 
___ 
sqlite-users mailing list 
sqlite-users@sqlite.org 
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users 


-- 

Atenciosamente, 

Israel Lins Albuquerque 
Desenvolvimento 
Polibrás Brasil Software Ltda. 


___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread Fabio Spadaro
hi,

2010/5/14 P Kishor punk.k...@gmail.com

 On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro fabiolinos...@gmail.com
 wrote:
  I need to identify data types extracted from a
  join between multiple tables without using cross-checking table_info more
  pragmatic.
 

 Could you clarify what you really want to do? Your question is not
 clear at all, at least to me. What do you mean by using
 cross-checking table_info more pragmatic? More pragmatic than what?

  Is there a faster way to do it?
 

 Faster than what?

 If you want data_types, you can use SELECT Typeof(column_name)




 



 --
 Puneet Kishor http://www.punkish.org
 Carbon Model http://carbonmodel.org
 Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
 Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
 Nelson Institute, UW-Madison http://www.nelson.wisc.edu
 ---
 Assertions are politics; backing up assertions with evidence is science
 ===
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


I use python sqlite embedded and in my application I have a panel where you
can
type a query and see the results in a panel's grid
Now suppose that I type a query like select
a.field1, b.field2 from table1 a, table2 b  such data
will be displayed in grid but I need to know what types of data I obtained.
How do it?

-- 
Fabio Spadaro
www.fabiospadaro.com
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread P Kishor
On Fri, May 14, 2010 at 9:49 AM, Fabio Spadaro fabiolinos...@gmail.com wrote:
 hi,

 2010/5/14 P Kishor punk.k...@gmail.com

 On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro fabiolinos...@gmail.com
 wrote:
  I need to identify data types extracted from a
  join between multiple tables without using cross-checking table_info more
  pragmatic.
 

 Could you clarify what you really want to do? Your question is not
 clear at all, at least to me. What do you mean by using
 cross-checking table_info more pragmatic? More pragmatic than what?

  Is there a faster way to do it?
 

 Faster than what?

 If you want data_types, you can use SELECT Typeof(column_name)




 



 --
 Puneet Kishor http://www.punkish.org
 Carbon Model http://carbonmodel.org
 Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
 Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
 Nelson Institute, UW-Madison http://www.nelson.wisc.edu
 ---
 Assertions are politics; backing up assertions with evidence is science
 ===
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


 I use python sqlite embedded and in my application I have a panel where you
 can
 type a query and see the results in a panel's grid
 Now suppose that I type a query like select
 a.field1, b.field2 from table1 a, table2 b  such data
 will be displayed in grid but I need to know what types of data I obtained.
 How do it?


SELECT a.field1, Typeof(a.field1), b.field2, Typeof(b.field2)
FROM table1 a, table2 b...



 --
 Fabio Spadaro
 www.fabiospadaro.com
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread Fabio Spadaro
Hi,

2010/5/14 P Kishor punk.k...@gmail.com

 On Fri, May 14, 2010 at 9:49 AM, Fabio Spadaro fabiolinos...@gmail.com
 wrote:
  hi,
 
  2010/5/14 P Kishor punk.k...@gmail.com
 
  On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro fabiolinos...@gmail.com
 
  wrote:
   I need to identify data types extracted from a
   join between multiple tables without using cross-checking table_info
 more
   pragmatic.
  
 
  Could you clarify what you really want to do? Your question is not
  clear at all, at least to me. What do you mean by using
  cross-checking table_info more pragmatic? More pragmatic than what?
 
   Is there a faster way to do it?
  
 
  Faster than what?
 
  If you want data_types, you can use SELECT Typeof(column_name)
 
 
 
 
  
 
 
 
  --
  Puneet Kishor http://www.punkish.org
  Carbon Model http://carbonmodel.org
  Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
  Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
  Nelson Institute, UW-Madison http://www.nelson.wisc.edu
  ---
  Assertions are politics; backing up assertions with evidence is science
  ===
  ___
  sqlite-users mailing list
  sqlite-users@sqlite.org
  http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
 
 
  I use python sqlite embedded and in my application I have a panel where
 you
  can
  type a query and see the results in a panel's grid
  Now suppose that I type a query like select
  a.field1, b.field2 from table1 a, table2 b  such data
  will be displayed in grid but I need to know what types of data I
 obtained.
  How do it?


 SELECT a.field1, Typeof(a.field1), b.field2, Typeof(b.field2)
 FROM table1 a, table2 b...


 
  --
  Fabio Spadaro
  www.fabiospadaro.com
  ___
  sqlite-users mailing list
  sqlite-users@sqlite.org
  http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
 
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


It does not work, It always return data type text.

-- 
Fabio Spadaro
www.fabiospadaro.com
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread P Kishor
On Fri, May 14, 2010 at 10:11 AM, Fabio Spadaro fabiolinos...@gmail.com wrote:
 Hi,

 2010/5/14 P Kishor punk.k...@gmail.com

 On Fri, May 14, 2010 at 9:49 AM, Fabio Spadaro fabiolinos...@gmail.com
 wrote:
  hi,
 
  2010/5/14 P Kishor punk.k...@gmail.com
 
  On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro fabiolinos...@gmail.com
 
  wrote:
   I need to identify data types extracted from a
   join between multiple tables without using cross-checking table_info
 more
   pragmatic.
  
 
  Could you clarify what you really want to do? Your question is not
  clear at all, at least to me. What do you mean by using
  cross-checking table_info more pragmatic? More pragmatic than what?
 
   Is there a faster way to do it?
  
 
  Faster than what?
 
  If you want data_types, you can use SELECT Typeof(column_name)
 
 
 
 
 
  I use python sqlite embedded and in my application I have a panel where
 you
  can
  type a query and see the results in a panel's grid
  Now suppose that I type a query like select
  a.field1, b.field2 from table1 a, table2 b  such data
  will be displayed in grid but I need to know what types of data I
 obtained.
  How do it?


 SELECT a.field1, Typeof(a.field1), b.field2, Typeof(b.field2)
 FROM table1 a, table2 b...


 

 It does not work, It always return data type text.


That is because your table has probably defined those columns as TEXT.
Consider the following --

sqlite CREATE TABLE t (a TEXT, b INTEGER);
sqlite INSERT INTO t VALUES ('foo', 5);
sqlite SELECT a, Typeof(a), b, Typeof(b) FROM t;
a   Typeof(a)   b   Typeof(b)
--  --  --  --
foo text5   integer
sqlite






-- 
Puneet Kishor http://www.punkish.org
Carbon Model http://carbonmodel.org
Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
Nelson Institute, UW-Madison http://www.nelson.wisc.edu
---
Assertions are politics; backing up assertions with evidence is science
===
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread Fabio Spadaro
Hi,

2010/5/14 P Kishor punk.k...@gmail.com

 On Fri, May 14, 2010 at 10:11 AM, Fabio Spadaro fabiolinos...@gmail.com
 wrote:
  Hi,
 
  2010/5/14 P Kishor punk.k...@gmail.com
 
  On Fri, May 14, 2010 at 9:49 AM, Fabio Spadaro fabiolinos...@gmail.com
 
  wrote:
   hi,
  
   2010/5/14 P Kishor punk.k...@gmail.com
  
   On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro 
 fabiolinos...@gmail.com
  
   wrote:
I need to identify data types extracted from a
join between multiple tables without using cross-checking
 table_info
  more
pragmatic.
   
  
   Could you clarify what you really want to do? Your question is not
   clear at all, at least to me. What do you mean by using
   cross-checking table_info more pragmatic? More pragmatic than what?
  
Is there a faster way to do it?
   
  
   Faster than what?
  
   If you want data_types, you can use SELECT Typeof(column_name)
  
  
  
  
  
   I use python sqlite embedded and in my application I have a panel
 where
  you
   can
   type a query and see the results in a panel's grid
   Now suppose that I type a query like select
   a.field1, b.field2 from table1 a, table2 b  such data
   will be displayed in grid but I need to know what types of data I
  obtained.
   How do it?
 
 
  SELECT a.field1, Typeof(a.field1), b.field2, Typeof(b.field2)
  FROM table1 a, table2 b...
 
 
  
 
  It does not work, It always return data type text.
 

 That is because your table has probably defined those columns as TEXT.
 Consider the following --

 sqlite CREATE TABLE t (a TEXT, b INTEGER);
 sqlite INSERT INTO t VALUES ('foo', 5);
 sqlite SELECT a, Typeof(a), b, Typeof(b) FROM t;
 a   Typeof(a)   b   Typeof(b)
 --  --  --  --
 foo text5   integer
 sqlite






 --
 Puneet Kishor http://www.punkish.org
 Carbon Model http://carbonmodel.org
 Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
 Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
 Nelson Institute, UW-Madison http://www.nelson.wisc.edu
 ---
 Assertions are politics; backing up assertions with evidence is science
 ===
 ___
 sqlite-users mailing list
 sqlite-users@sqlite.org
 http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


No, i'm sure. Probably typeof in python's sqlite is not supported very mell
or there is other explanation.

-- 
Fabio Spadaro
www.fabiospadaro.com
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread Simon Slavin

On 14 May 2010, at 5:38pm, Fabio Spadaro wrote:

 No, i'm sure. Probably typeof in python's sqlite is not supported very mell
 or there is other explanation.

It works perfectly inside SQLite:

sqlite CREATE TABLE tabA (a INTEGER, B INTEGER);
sqlite INSERT INTO tabA VALUES (1,10);
sqlite INSERT INTO tabA VALUES (2,20);
sqlite CREATE TABLE tabB (theNum INTEGER, theName TEXT);
sqlite INSERT INTO tabB VALUES (10,'albert');
sqlite INSERT INTO tabB VALUES (20,'bertha');
sqlite SELECT 
tabA.a,tabB.theNum,tabB.theName,typeof(tabB.theNum),typeof(tabB.theName) FROM 
tabA JOIN tabB ON tabB.theNum = tabA.b;
1|10|albert|integer|text
2|20|bertha|integer|text

Do the above in your platform and tell us what you get.

Simon.
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread P Kishor
On Fri, May 14, 2010 at 11:38 AM, Fabio Spadaro fabiolinos...@gmail.com wrote:
 Hi,

 2010/5/14 P Kishor punk.k...@gmail.com

 On Fri, May 14, 2010 at 10:11 AM, Fabio Spadaro fabiolinos...@gmail.com
 wrote:
  Hi,
 
  2010/5/14 P Kishor punk.k...@gmail.com
 
  On Fri, May 14, 2010 at 9:49 AM, Fabio Spadaro fabiolinos...@gmail.com
 
  wrote:
   hi,
  
   2010/5/14 P Kishor punk.k...@gmail.com
  
   On Fri, May 14, 2010 at 9:01 AM, Fabio Spadaro 
 fabiolinos...@gmail.com
  
   wrote:
I need to identify data types extracted from a
join between multiple tables without using cross-checking
 table_info
  more
pragmatic.
   
  
   Could you clarify what you really want to do? Your question is not
   clear at all, at least to me. What do you mean by using
   cross-checking table_info more pragmatic? More pragmatic than what?
  
Is there a faster way to do it?
   
  
   Faster than what?
  
   If you want data_types, you can use SELECT Typeof(column_name)
  
  
  
  
  
   I use python sqlite embedded and in my application I have a panel
 where
  you
   can
   type a query and see the results in a panel's grid
   Now suppose that I type a query like select
   a.field1, b.field2 from table1 a, table2 b  such data
   will be displayed in grid but I need to know what types of data I
  obtained.
   How do it?
 
 
  SELECT a.field1, Typeof(a.field1), b.field2, Typeof(b.field2)
  FROM table1 a, table2 b...
 
 
  
 
  It does not work, It always return data type text.
 

 That is because your table has probably defined those columns as TEXT.
 Consider the following --

 sqlite CREATE TABLE t (a TEXT, b INTEGER);
 sqlite INSERT INTO t VALUES ('foo', 5);
 sqlite SELECT a, Typeof(a), b, Typeof(b) FROM t;
 a           Typeof(a)   b           Typeof(b)
 --  --  --  --
 foo         text        5           integer
 sqlite








 No, i'm sure. Probably typeof in python's sqlite is not supported very mell
 or there is other explanation.



Typeof() is a sqlite3 function. Maybe the Python implementation is
overriding it. But, given that you are getting back text and not an
error, shows that you are using some Typeof() function. Using the
example db that I showed above, and the following Perl script, I get
the desired and expected output

#!/usr/local/bin/perl
use DBI qw(:sql_types);

$dbh = DBI-connect(dbi:SQLite:dbname=/Users/punkish/Data/punkish/foo,,);
$sth = $dbh-prepare(SELECT a, Typeof(a), b, Typeof(b) FROM t);
$sth-execute;

while (my @row = $sth-fetchrow_array) {
print (join , , @row) . \n;
}

 prints...

foo, text, 5, integer



-- 
Puneet Kishor http://www.punkish.org
Carbon Model http://carbonmodel.org
Charter Member, Open Source Geospatial Foundation http://www.osgeo.org
Science Commons Fellow, http://sciencecommons.org/about/whoweare/kishor
Nelson Institute, UW-Madison http://www.nelson.wisc.edu
---
Assertions are politics; backing up assertions with evidence is science
===
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users


Re: [sqlite] data type from join multiple tables

2010-05-14 Thread Mikhail Terekhov
On Fri, May 14, 2010 at 12:38 PM, Fabio Spadaro fabiolinos...@gmail.comwrote:


 No, i'm sure. Probably typeof in python's sqlite is not supported very mell
 or there is other explanation.


It works perfectly in Python:

In [2]: import sqlite3
In [3]: conn = sqlite3.connect(':memory:')
In [4]: c = conn.cursor()
In [5]: c.execute(CREATE TABLE tabA (a INTEGER, B INTEGER))
In [6]: c.execute(INSERT INTO tabA VALUES (1,10))
In [7]: c.execute(INSERT INTO tabA VALUES (2,20))
In [8]: c.execute(CREATE TABLE tabB (theNum INTEGER, theName TEXT))
In [9]: c.execute(INSERT INTO tabB VALUES (10,'albert'))
In [10]: c.execute(INSERT INTO tabB VALUES (20,'bertha'))
In [11]: res = c.execute(SELECT
tabA.a,tabB.theNum,tabB.theName,typeof(tabB.theNum),typeof(tabB.theName)
FROM tabA JOIN tabB ON tabB.theNum = tabA.b)
In [12]: for r in res.fetchall(): print r
   :
(1, 10, u'albert', u'integer', u'text')
(2, 20, u'bertha', u'integer', u'text')


Regards,
Mikhail Terekhov
___
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users